arm: add support for Cortex-A78 and Cortex-A78AE
authorPrzemyslaw Wirkus <przemyslaw.wirkus@arm.com>
Wed, 30 Sep 2020 14:39:24 +0000 (15:39 +0100)
committerPrzemyslaw Wirkus <przemyslaw.wirkus@arm.com>
Wed, 30 Sep 2020 14:39:24 +0000 (15:39 +0100)
This patch introduces support for Cortex-A78 [0] and Cortex-A78AE [1]
cpus.

[0]: https://www.arm.com/products/silicon-ip-cpu/cortex-a/cortex-a78
[1]: https://www.arm.com/products/silicon-ip-cpu/cortex-a/cortex-a78ae

OK for master branch ?

kind regards
Przemyslaw Wirkus

gcc/ChangeLog:

* config/arm/arm-cpus.in: Add Cortex-A78 and Cortex-A78AE cores.
* config/arm/arm-tables.opt: Regenerate.
* config/arm/arm-tune.md: Regenerate.
* doc/invoke.texi: Update docs.

gcc/config/arm/arm-cpus.in
gcc/config/arm/arm-tables.opt
gcc/config/arm/arm-tune.md
gcc/doc/invoke.texi

index 47a343db6564189191f65ab1b219825f2d907330..d47f9439ed1ddd8c72619cbc2152acfafbedd510 100644 (file)
@@ -1447,6 +1447,28 @@ begin cpu cortex-a77
  part d0d
 end cpu cortex-a77
 
+begin cpu cortex-a78
+ cname cortexa78
+ tune for cortex-a57
+ tune flags LDSCHED
+ architecture armv8.2-a+fp16+dotprod
+ option crypto add FP_ARMv8 CRYPTO
+ costs cortex_a57
+ vendor 41
+ part d41
+end cpu cortex-a78
+
+begin cpu cortex-a78ae
+ cname cortexa78ae
+ tune for cortex-a57
+ tune flags LDSCHED
+ architecture armv8.2-a+fp16+dotprod
+ option crypto add FP_ARMv8 CRYPTO
+ costs cortex_a57
+ vendor 41
+ part d42
+end cpu cortex-a78ae
+
 begin cpu cortex-x1
  cname cortexx1
  tune for cortex-a57
index dac881874f82dd60c68e7e5f610d202814635c1b..9f6582440534c7772fa66ea99dacfd9e80ae8597 100644 (file)
@@ -240,6 +240,12 @@ Enum(processor_type) String(cortex-a76ae) Value( TARGET_CPU_cortexa76ae)
 EnumValue
 Enum(processor_type) String(cortex-a77) Value( TARGET_CPU_cortexa77)
 
+EnumValue
+Enum(processor_type) String(cortex-a78) Value( TARGET_CPU_cortexa78)
+
+EnumValue
+Enum(processor_type) String(cortex-a78ae) Value( TARGET_CPU_cortexa78ae)
+
 EnumValue
 Enum(processor_type) String(cortex-x1) Value( TARGET_CPU_cortexx1)
 
index 86a117d68cec4ae7e4f05db8866b88e15f5de953..269e627626a4675d561daa0a8cb8b992d79e17d1 100644 (file)
@@ -45,8 +45,9 @@
        cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35,
        cortexa73cortexa53,cortexa55,cortexa75,
        cortexa76,cortexa76ae,cortexa77,
-       cortexx1,neoversen1,neoversen2,
-       cortexa75cortexa55,cortexa76cortexa55,neoversev1,
-       cortexm23,cortexm33,cortexm35p,
-       cortexm55,cortexr52"
+       cortexa78,cortexa78ae,cortexx1,
+       neoversen1,neoversen2,cortexa75cortexa55,
+       cortexa76cortexa55,neoversev1,cortexm23,
+       cortexm33,cortexm35p,cortexm55,
+       cortexr52"
        (const (symbol_ref "((enum attr_tune) arm_tune)")))
index 4fd578bca029ffec27b027b83502abb33bba973d..c0499324d5fc367f1fbd3055eab1167b137b7851 100644 (file)
@@ -19395,6 +19395,7 @@ Permissible names are: @samp{arm7tdmi}, @samp{arm7tdmi-s}, @samp{arm710t},
 @samp{cortex-a32}, @samp{cortex-a35}, @samp{cortex-a53}, @samp{cortex-a55},
 @samp{cortex-a57}, @samp{cortex-a72}, @samp{cortex-a73}, @samp{cortex-a75},
 @samp{cortex-a76}, @samp{cortex-a76ae}, @samp{cortex-a77},
+@samp{cortex-a78}, @samp{cortex-a78ae},
 @samp{ares}, @samp{cortex-r4}, @samp{cortex-r4f},
 @samp{cortex-r5}, @samp{cortex-r7}, @samp{cortex-r8}, @samp{cortex-r52},
 @samp{cortex-m0}, @samp{cortex-m0plus}, @samp{cortex-m1}, @samp{cortex-m3},