This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH][Arm] Add support for missing CPUs
- From: Dennis Zhang <Dennis dot Zhang at arm dot com>
- To: "binutils at sourceware dot org" <binutils at sourceware dot org>
- Cc: nd <nd at arm dot com>, "nickc at redhat dot com" <nickc at redhat dot com>, Richard Earnshaw <Richard dot Earnshaw at arm dot com>, Ramana Radhakrishnan <Ramana dot Radhakrishnan at arm dot com>
- Date: Fri, 16 Aug 2019 13:52:23 +0000
- Subject: [PATCH][Arm] Add support for missing CPUs
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=33o5APFZ+Z+FpVk+amx0LUTpNnS05rAcU8E41lmbCv0=; b=fHAE3E4I2izwW8QOfWnitSnhdM+k1zHyfFSgq7Q+tOHMz1KW4mfq8wcEtYow5ch5vfiYZqzTrkyaXGwlfX749lQMdkxd3WspbyhXfRCafH+Lx3PNsS1QxvXQmbcmIxUXJk2B+ixhjHm6lZE9XWgzCV7ef3QaiTuTcYKuyoVorkKrxbW3ZCWipEU4bYapa1eO4r66KVBRra+XdQK9gBS52asJLhkI++PSel+KHMqllQM00eAuJ8TWQTHC0EwqxstJIfRvzWyfw2TR/1RsMJwVIkzdPqcmik6FOJaHPbu6W5BKkycpb99wFGlRke44D9+DphhwjjGCNZEWsmP8zaODxg==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G3N35ItQtYldBn2klTrpC/HnBUMWT4WMRYOD2MiHmSQkZuY2yI5uhLdICxdlwcS1Opu0hH7r28cOAGKqYnkcnuJwFhgkHES9KclNIeIN0VuZKXA3NnfUesst4sgBF/YKvHNLInqrqcRdOqFbazM/hUUbyQBNoJRPl5H3gvB7SfJ57Tz62vPoi1vhwvGLYyq6rv+JGDc3WeAAxehsOd0thw5ZSBzHvTQkP/9OtS+2gcf/t9iLjMU0IL39254oEMg38pG8FJYzuuUvAxh1nRbUcwcC4C/YqFm8uij/vlBCM3+NRz8Zy5rDCWurZnKSP7bQyFhpdTn5zCj7y+ConsRPMA==
- Original-authentication-results: spf=none (sender IP is ) smtp.mailfrom=Dennis dot Zhang at arm dot com;
Hi all,
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.
Bootstraped/Regtested for arm-none-linux-gnueabihf.
Please help to check if it's ready.
Many thanks.
gas/ChangeLog:
2019-08-01 Dennis Zhang <dennis.zhang@arm.com>
* 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:
2019-08-01 Dennis Zhang <dennis.zhang@arm.com>
* cpu-arm.c: New entries for Cortex-M35P, Cortex-A77,
and Cortex-A76AE.
diff --git a/bfd/cpu-arm.c b/bfd/cpu-arm.c
index 568fdbfaee..49e309b10b 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/config/tc-arm.c b/gas/config/tc-arm.c
index 138e377691..afdf8a8b61 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -26221,6 +26221,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),
@@ -26242,6 +26248,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 7026605812..2d5edebbd5 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 0000000000..7f7cf2952c
--- /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 0000000000..caff73fe07
--- /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 0000000000..f60339f662
--- /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
+
+#...