diff options
author | Przemyslaw Wirkus <przemyslaw.wirkus@arm.com> | 2020-09-30 15:39:24 +0100 |
---|---|---|
committer | Przemyslaw Wirkus <przemyslaw.wirkus@arm.com> | 2020-09-30 15:39:24 +0100 |
commit | 60e4b3cade5c63f919df4ddc0f0d23261f968e13 (patch) | |
tree | 165e69bb40586d9d35f581e26e07215ec3be43bf | |
parent | b6860cb96d038fe7519797adfb9c3c2e635234de (diff) | |
download | gcc-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.in | 22 | ||||
-rw-r--r-- | gcc/config/arm/arm-tables.opt | 6 | ||||
-rw-r--r-- | gcc/config/arm/arm-tune.md | 9 | ||||
-rw-r--r-- | gcc/doc/invoke.texi | 1 |
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}, |