From 0535e5d74d6164c49473fe0ce89213aa2b6270b8 Mon Sep 17 00:00:00 2001 From: Dennis Zhang Date: Thu, 22 Aug 2019 15:21:32 +0100 Subject: [PATCH] Arm: Add support for missing CPUs This patch adds support for following CPUs: Cortex-M35P, Cortex-A77, Cortex-A76AE. Related specifications can be found at https://developer.arm.com/ip-products/processors. gas/ChangeLog: * config/tc-arm.c: New entries for Cortex-M35P, Cortex-A77, and Cortex-A76AE. * doc/c-arm.texi: Document new processors. * testsuite/gas/arm/cpu-cortex-a76ae.d: New test. * testsuite/gas/arm/cpu-cortex-a77.d: New test. * testsuite/gas/arm/cpu-cortex-m35p.d: New test. bfd/ChangeLog: * cpu-arm.c: New entries for Cortex-M35P, Cortex-A77, Cortex-A76AE. --- bfd/ChangeLog | 4 ++++ bfd/cpu-arm.c | 3 +++ gas/ChangeLog | 9 +++++++++ gas/config/tc-arm.c | 9 +++++++++ gas/doc/c-arm.texi | 3 +++ gas/testsuite/gas/arm/cpu-cortex-a76ae.d | 6 ++++++ gas/testsuite/gas/arm/cpu-cortex-a77.d | 6 ++++++ gas/testsuite/gas/arm/cpu-cortex-m35p.d | 6 ++++++ 8 files changed, 46 insertions(+) create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a76ae.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a77.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m35p.d diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 1c08d38..0eb514d 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,7 @@ +2019-08-22 Dennis Zhang + + * cpu-arm.c: New entries for Cortex-M35P, Cortex-A77, Cortex-A76AE. + 2019-08-22 Nick Clifton PR 24922 diff --git a/bfd/cpu-arm.c b/bfd/cpu-arm.c index 5a5da93..8d70b84 100644 --- a/bfd/cpu-arm.c +++ b/bfd/cpu-arm.c @@ -147,12 +147,15 @@ processors[] = { bfd_mach_arm_8, "cortex-a73" }, { bfd_mach_arm_8, "cortex-a75" }, { bfd_mach_arm_8, "cortex-a76" }, + { bfd_mach_arm_8, "cortex-a76ae" }, + { bfd_mach_arm_8, "cortex-a77" }, { bfd_mach_arm_6SM, "cortex-m0" }, { bfd_mach_arm_6SM, "cortex-m0plus" }, { bfd_mach_arm_6SM, "cortex-m1" }, { bfd_mach_arm_8M_BASE, "cortex-m23" }, { bfd_mach_arm_7, "cortex-m3" }, { bfd_mach_arm_8M_MAIN, "cortex-m33" }, + { bfd_mach_arm_8M_MAIN, "cortex-m35p" }, { bfd_mach_arm_7EM, "cortex-m4" }, { bfd_mach_arm_7EM, "cortex-m7" }, { bfd_mach_arm_7, "cortex-r4" }, diff --git a/gas/ChangeLog b/gas/ChangeLog index bd9887e..4d6b571 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,12 @@ +2019-08-22 Dennis Zhang + + * config/tc-arm.c: New entries for Cortex-M35P, Cortex-A77, + and Cortex-A76AE. + * doc/c-arm.texi: Document new processors. + * testsuite/gas/arm/cpu-cortex-a76ae.d: New test. + * testsuite/gas/arm/cpu-cortex-a77.d: New test. + * testsuite/gas/arm/cpu-cortex-m35p.d: New test. + 2019-08-22 Bosco García Nick Clifton diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index c58748d..27c6f0e 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -30591,6 +30591,12 @@ static const struct arm_cpu_option_table arm_cpus[] = ARM_CPU_OPT ("cortex-a76", "Cortex-A76", ARM_ARCH_V8_2A, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), FPU_ARCH_CRYPTO_NEON_VFP_ARMV8_DOTPROD), + ARM_CPU_OPT ("cortex-a76ae", "Cortex-A76AE", ARM_ARCH_V8_2A, + ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + FPU_ARCH_CRYPTO_NEON_VFP_ARMV8_DOTPROD), + ARM_CPU_OPT ("cortex-a77", "Cortex-A77", ARM_ARCH_V8_2A, + ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + FPU_ARCH_CRYPTO_NEON_VFP_ARMV8_DOTPROD), ARM_CPU_OPT ("ares", "Ares", ARM_ARCH_V8_2A, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), FPU_ARCH_CRYPTO_NEON_VFP_ARMV8_DOTPROD), @@ -30612,6 +30618,9 @@ static const struct arm_cpu_option_table arm_cpus[] = ARM_CPU_OPT ("cortex-r52", "Cortex-R52", ARM_ARCH_V8R, ARM_FEATURE_COPROC (CRC_EXT_ARMV8), FPU_ARCH_NEON_VFP_ARMV8), + ARM_CPU_OPT ("cortex-m35p", "Cortex-M35P", ARM_ARCH_V8M_MAIN, + ARM_FEATURE_CORE_LOW (ARM_EXT_V5ExP | ARM_EXT_V6_DSP), + FPU_NONE), ARM_CPU_OPT ("cortex-m33", "Cortex-M33", ARM_ARCH_V8M_MAIN, ARM_FEATURE_CORE_LOW (ARM_EXT_V5ExP | ARM_EXT_V6_DSP), FPU_NONE), diff --git a/gas/doc/c-arm.texi b/gas/doc/c-arm.texi index 481eddf..175de8e 100644 --- a/gas/doc/c-arm.texi +++ b/gas/doc/c-arm.texi @@ -129,6 +129,8 @@ recognized: @code{cortex-a73}, @code{cortex-a75}, @code{cortex-a76}, +@code{cortex-a76ae}, +@code{cortex-a77}, @code{ares}, @code{cortex-r4}, @code{cortex-r4f}, @@ -136,6 +138,7 @@ recognized: @code{cortex-r7}, @code{cortex-r8}, @code{cortex-r52}, +@code{cortex-m35p}, @code{cortex-m33}, @code{cortex-m23}, @code{cortex-m7}, diff --git a/gas/testsuite/gas/arm/cpu-cortex-a76ae.d b/gas/testsuite/gas/arm/cpu-cortex-a76ae.d new file mode 100644 index 0000000..7f7cf29 --- /dev/null +++ b/gas/testsuite/gas/arm/cpu-cortex-a76ae.d @@ -0,0 +1,6 @@ +# name: Assemble and dump for cortex-a76ae CPU +# source: nop-asm.s +# as: -mcpu=cortex-a76ae +# objdump: -d -mcortex-a76ae + +#... diff --git a/gas/testsuite/gas/arm/cpu-cortex-a77.d b/gas/testsuite/gas/arm/cpu-cortex-a77.d new file mode 100644 index 0000000..caff73f --- /dev/null +++ b/gas/testsuite/gas/arm/cpu-cortex-a77.d @@ -0,0 +1,6 @@ +# name: Assemble and dump for cortex-a77 CPU +# source: nop-asm.s +# as: -mcpu=cortex-a77 +# objdump: -d -mcortex-a77 + +#... diff --git a/gas/testsuite/gas/arm/cpu-cortex-m35p.d b/gas/testsuite/gas/arm/cpu-cortex-m35p.d new file mode 100644 index 0000000..f60339f --- /dev/null +++ b/gas/testsuite/gas/arm/cpu-cortex-m35p.d @@ -0,0 +1,6 @@ +# name: Assemble and dump for cortex-m35p CPU +# source: nop-asm.s +# as: -mcpu=cortex-m35p +# objdump: -d -M force-thumb -mcortex-m35p + +#... -- 2.7.4