From 15a7695fdce108548169ca265cc440b049d63951 Mon Sep 17 00:00:00 2001 From: James Greenhalgh Date: Wed, 5 Jul 2017 12:04:37 +0100 Subject: [PATCH] [ARM] Add support for Cortex-A55 and Cortex-A75. This patch adds support for the ARM Cortex-A55 and Cortex-A75 processors. The ARM Cortex-A55 and Cortex-A75 procsessors implement the ARMv8-A architecture, with support for the ARMv8.1-A and ARMv8.2-A extensions, including support for the 16-bit floating point extensions. The 16-bit floating-point extensions are optional, and we haven't defined an option mapping straight to them thus far, so this patch first needs to add one of those in include/opcode/arm.h, then we can simply add the CPU names as usual in config/tc-arm.c . Tested on arm-none-eabi. 2017-07-05 James Greenhalgh * config/tc-arm.c (arm_cpus): Add Cortex-A55 and Cortex-A75. * doc/c-arm.texi (-mcpu): Document Cortex-A55 and Cortex-A75. --- gas/ChangeLog | 5 +++++ gas/config/tc-arm.c | 6 ++++++ gas/doc/c-arm.texi | 2 ++ 3 files changed, 13 insertions(+) diff --git a/gas/ChangeLog b/gas/ChangeLog index a57b5d30905..829256a9432 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2017-07-05 James Greenhalgh + + * config/tc-arm.c (arm_cpus): Add Cortex-A55 and Cortex-A75. + * doc/c-arm.texi (-mcpu): Document Cortex-A55 and Cortex-A75. + 2017-07-05 Borislav Petkov * testsuite/gas/i386/opcode.s: Add tests for ModRM.reg == 6 variants. diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index e22ffe676f3..08ce141d673 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -25858,6 +25858,9 @@ static const struct arm_cpu_option_table arm_cpus[] = ARM_CPU_OPT ("cortex-a53", "Cortex-A53", ARM_ARCH_V8A, ARM_FEATURE_COPROC (CRC_EXT_ARMV8), FPU_ARCH_CRYPTO_NEON_VFP_ARMV8), + ARM_CPU_OPT ("cortex-a55", "Cortex-A55", ARM_ARCH_V8_2A, + ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + FPU_ARCH_CRYPTO_NEON_VFP_ARMV8), ARM_CPU_OPT ("cortex-a57", "Cortex-A57", ARM_ARCH_V8A, ARM_FEATURE_COPROC (CRC_EXT_ARMV8), FPU_ARCH_CRYPTO_NEON_VFP_ARMV8), @@ -25867,6 +25870,9 @@ static const struct arm_cpu_option_table arm_cpus[] = ARM_CPU_OPT ("cortex-a73", "Cortex-A73", ARM_ARCH_V8A, ARM_FEATURE_COPROC (CRC_EXT_ARMV8), FPU_ARCH_CRYPTO_NEON_VFP_ARMV8), + ARM_CPU_OPT ("cortex-a75", "Cortex-A75", ARM_ARCH_V8_2A, + ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + FPU_ARCH_CRYPTO_NEON_VFP_ARMV8), ARM_CPU_OPT ("cortex-r4", "Cortex-R4", ARM_ARCH_V7R, ARM_ARCH_NONE, FPU_NONE), diff --git a/gas/doc/c-arm.texi b/gas/doc/c-arm.texi index 15c3acd8d81..9606de4b2ed 100644 --- a/gas/doc/c-arm.texi +++ b/gas/doc/c-arm.texi @@ -123,9 +123,11 @@ recognized: @code{cortex-a32}, @code{cortex-a35}, @code{cortex-a53}, +@code{cortex-a55}, @code{cortex-a57}, @code{cortex-a72}, @code{cortex-a73}, +@code{cortex-a75}, @code{cortex-r4}, @code{cortex-r4f}, @code{cortex-r5}, -- 2.30.2