[AArch64] Specify fp16 support for Cortex-A55 and Cortex-A75

Message ID 5A2E8BB7.4000209@foss.arm.com
State New
Headers show
Series
  • [AArch64] Specify fp16 support for Cortex-A55 and Cortex-A75
Related show

Commit Message

Kyrill Tkachov Dec. 11, 2017, 1:44 p.m.
Hi all,

The Cortex-A55 and Cortex-A75 processors support the fp16 extension.
We already specify them as such in the arm port.
This patch makes aarch64 consistent on this front.

Bootstrapped and tested on aarch64-none-linux-gnu.
Manually checked that compiling with aarch64-none-linux-gnu-gcc 
-mcpu=cortex-a55 -dM -E - < /dev/null
shows __ARM_FEATURE_FP16_VECTOR_ARITHMETIC and 
__ARM_FEATURE_FP16_SCALAR_ARITHMETIC being specified
as expected whereas they were not before this patch.

Ok for trunk?

Thanks,
Kyrill

2017-12-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

     * config/aarch64/aarch64-cores.def (cortex-a55, cortex-a75,
     cortex-a75.cortex-a55): Specify AARCH64_FL_F16 in the arch features.

Comments

James Greenhalgh Dec. 12, 2017, 10:16 a.m. | #1
On Mon, Dec 11, 2017 at 01:44:23PM +0000, Kyrill Tkachov wrote:
> Hi all,

> 

> The Cortex-A55 and Cortex-A75 processors support the fp16 extension.

> We already specify them as such in the arm port.

> This patch makes aarch64 consistent on this front.

> 

> Bootstrapped and tested on aarch64-none-linux-gnu.

> Manually checked that compiling with aarch64-none-linux-gnu-gcc 

> -mcpu=cortex-a55 -dM -E - < /dev/null

> shows __ARM_FEATURE_FP16_VECTOR_ARITHMETIC and 

> __ARM_FEATURE_FP16_SCALAR_ARITHMETIC being specified

> as expected whereas they were not before this patch.

> 

> Ok for trunk?


OK.

Sorry for the oversight when I added this support earlier in the year.

James

> 2017-12-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

> 

>      * config/aarch64/aarch64-cores.def (cortex-a55, cortex-a75,

>      cortex-a75.cortex-a55): Specify AARCH64_FL_F16 in the arch features.

Patch

commit e9148d4af145bcd094dddf1b23fdaa3b4c1a95b5
Author: Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Date:   Wed Dec 6 16:07:05 2017 +0000

    [AArch64] Specify fp16 support for Cortex-A55 and Cortex-A75

diff --git a/gcc/config/aarch64/aarch64-cores.def b/gcc/config/aarch64/aarch64-cores.def
index cdf047c..fa08cdf 100644
--- a/gcc/config/aarch64/aarch64-cores.def
+++ b/gcc/config/aarch64/aarch64-cores.def
@@ -83,8 +83,8 @@  AARCH64_CORE("thunderx2t99",  thunderx2t99,  thunderx2t99, 8_1A,  AARCH64_FL_FOR
 /* ARMv8.2-A Architecture Processors.  */
 
 /* ARM ('A') cores. */
-AARCH64_CORE("cortex-a55",  cortexa55, cortexa53, 8_2A,  AARCH64_FL_FOR_ARCH8_2 | AARCH64_FL_RCPC | AARCH64_FL_DOTPROD, cortexa53, 0x41, 0xd05, -1)
-AARCH64_CORE("cortex-a75",  cortexa75, cortexa57, 8_2A,  AARCH64_FL_FOR_ARCH8_2 | AARCH64_FL_RCPC | AARCH64_FL_DOTPROD, cortexa73, 0x41, 0xd0a, -1)
+AARCH64_CORE("cortex-a55",  cortexa55, cortexa53, 8_2A,  AARCH64_FL_FOR_ARCH8_2 | AARCH64_FL_F16 | AARCH64_FL_RCPC | AARCH64_FL_DOTPROD, cortexa53, 0x41, 0xd05, -1)
+AARCH64_CORE("cortex-a75",  cortexa75, cortexa57, 8_2A,  AARCH64_FL_FOR_ARCH8_2 | AARCH64_FL_F16 | AARCH64_FL_RCPC | AARCH64_FL_DOTPROD, cortexa73, 0x41, 0xd0a, -1)
 
 /* ARMv8.3-A Architecture Processors.  */
 
@@ -100,6 +100,6 @@  AARCH64_CORE("cortex-a73.cortex-a53",  cortexa73cortexa53, cortexa53, 8A,  AARCH
 
 /* ARM DynamIQ big.LITTLE configurations.  */
 
-AARCH64_CORE("cortex-a75.cortex-a55",  cortexa75cortexa55, cortexa53, 8_2A,  AARCH64_FL_FOR_ARCH8_2 | AARCH64_FL_RCPC | AARCH64_FL_DOTPROD, cortexa73, 0x41, AARCH64_BIG_LITTLE (0xd0a, 0xd05), -1)
+AARCH64_CORE("cortex-a75.cortex-a55",  cortexa75cortexa55, cortexa53, 8_2A,  AARCH64_FL_FOR_ARCH8_2 | AARCH64_FL_F16 | AARCH64_FL_RCPC | AARCH64_FL_DOTPROD, cortexa73, 0x41, AARCH64_BIG_LITTLE (0xd0a, 0xd05), -1)
 
 #undef AARCH64_CORE