aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPrzemyslaw Wirkus <przemyslaw.wirkus@arm.com>2020-09-30 15:39:24 +0100
committerPrzemyslaw Wirkus <przemyslaw.wirkus@arm.com>2020-09-30 15:39:24 +0100
commit60e4b3cade5c63f919df4ddc0f0d23261f968e13 (patch)
tree165e69bb40586d9d35f581e26e07215ec3be43bf
parentb6860cb96d038fe7519797adfb9c3c2e635234de (diff)
downloadgcc-60e4b3cade5c63f919df4ddc0f0d23261f968e13.zip
gcc-60e4b3cade5c63f919df4ddc0f0d23261f968e13.tar.gz
gcc-60e4b3cade5c63f919df4ddc0f0d23261f968e13.tar.bz2
arm: add support for Cortex-A78 and Cortex-A78AE
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.
-rw-r--r--gcc/config/arm/arm-cpus.in22
-rw-r--r--gcc/config/arm/arm-tables.opt6
-rw-r--r--gcc/config/arm/arm-tune.md9
-rw-r--r--gcc/doc/invoke.texi1
4 files changed, 34 insertions, 4 deletions
diff --git a/gcc/config/arm/arm-cpus.in b/gcc/config/arm/arm-cpus.in
index 47a343d..d47f943 100644
--- a/gcc/config/arm/arm-cpus.in
+++ b/gcc/config/arm/arm-cpus.in
@@ -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
diff --git a/gcc/config/arm/arm-tables.opt b/gcc/config/arm/arm-tables.opt
index dac8818..9f65824 100644
--- a/gcc/config/arm/arm-tables.opt
+++ b/gcc/config/arm/arm-tables.opt
@@ -241,6 +241,12 @@ 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)
EnumValue
diff --git a/gcc/config/arm/arm-tune.md b/gcc/config/arm/arm-tune.md
index 86a117d..269e627 100644
--- a/gcc/config/arm/arm-tune.md
+++ b/gcc/config/arm/arm-tune.md
@@ -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)")))
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 4fd578b..c049932 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -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},