[Binutils] aarch64: Enable Cortex-X3 CPU

Message ID 36deddd8-d923-4913-9773-740d85f76e72@arm.com
State Unresolved
Headers
Series [Binutils] aarch64: Enable Cortex-X3 CPU |

Checks

Context Check Description
snail/binutils-gdb-check warning Git am fail log

Commit Message

Matthieu Longo Dec. 13, 2023, 3:41 p.m. UTC
  Hi,

This patch adds support for the Cortex-X3 CPU to binutils.

Gas regression testing for aarch64-none-linux-gnu target and found no 
regressions.

Ok for binutils-master? I don't have commit access so I need someone to 
commit on my behalf.

Regards,

Matthieu.
  

Comments

Nick Clifton Dec. 15, 2023, 2:55 p.m. UTC | #1
Hi Matthieu,

> This patch adds support for the Cortex-X3 CPU to binutils.
> 
> Gas regression testing for aarch64-none-linux-gnu target and found no regressions.

Patch approved and applied.

Cheers
   Nick
  
Nick Clifton Dec. 15, 2023, 3:55 p.m. UTC | #2
Hi Matthieu,

> This patch adds support for the Cortex-X3 CPU to binutils.
> 
> Gas regression testing for aarch64-none-linux-gnu target and found no regressions.

Approved and applied.

Cheers
   Nick
  

Patch

diff --git a/bfd/cpu-aarch64.c b/bfd/cpu-aarch64.c
index 269177821bb7a4ace7e69d0a99b34137293b0b3b..8e44b31e8d212f15c500af9c7af66cf7938c7241 100644
--- a/bfd/cpu-aarch64.c
+++ b/bfd/cpu-aarch64.c
@@ -75,6 +75,7 @@  processors[] =
   { bfd_mach_aarch64,	  "cortex-a76ae"    },
   { bfd_mach_aarch64,	  "cortex-a77"	    },
   { bfd_mach_aarch64,	  "cortex-a720"	    },
+  { bfd_mach_aarch64,     "cortex-x3"       },
   { bfd_mach_aarch64,     "cortex-x4"       },
 };
 
diff --git a/gas/NEWS b/gas/NEWS
index af03fd172cf34e3149440803ee86d2121392292d..4c8d5946690cf2aa886c1463a7e9c53404ef7d6a 100644
--- a/gas/NEWS
+++ b/gas/NEWS
@@ -32,6 +32,8 @@ 
 
 * Add support for Cortex-A720 for AArch64.
 
+* Add support for Cortex-X3 for AArch64.
+
 * Add support for Cortex-X4 for AArch64.
 
 * Add support for RISC-V T-Head extensions (XTheadVector, XTheadZvlsseg
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index 5646de781d4502c0aa434368f0603c11ee456966..b5ede33c584277749805155350cad37d150c258a 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -10189,6 +10189,8 @@  static const struct aarch64_cpu_option_table aarch64_cpus[] = {
 					      SSBS, PROFILE), "Cortex-X1"},
   {"cortex-x2",		AARCH64_CPU_FEATURES (V9A, 4, BFLOAT16, I8MM, MEMTAG,
 					      SVE2_BITPERM), "Cortex-X2"},
+  {"cortex-x3",		AARCH64_CPU_FEATURES (V9A, 4, BFLOAT16, I8MM, MEMTAG,
+					      SVE2_BITPERM), "Cortex-X3"},
   {"cortex-x4",         AARCH64_CPU_FEATURES (V9_2A, 3, MEMTAG, PROFILE,
                                               SVE2_BITPERM), "Cortex-X4"},
   {"generic",		AARCH64_ARCH_FEATURES (V8A), NULL},
diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi
index cbf06bf3ec6d1680c74aad3a1a9364721ae7ca34..2bfb98a4027acc09b331aa1937407517b27297bd 100644
--- a/gas/doc/c-aarch64.texi
+++ b/gas/doc/c-aarch64.texi
@@ -91,6 +91,7 @@  on the target processor.  The following processor names are recognized:
 @code{cortex-r82},
 @code{cortex-x1},
 @code{cortex-x2},
+@code{cortex-x3},
 and
 @code{cortex-x4}.
 The special name @code{all} may be used to allow the assembler to accept
diff --git a/gas/testsuite/gas/aarch64/cpu-cortex-x3.d b/gas/testsuite/gas/aarch64/cpu-cortex-x3.d
new file mode 100644
index 0000000000000000000000000000000000000000..2ea793783be01f290076bf030d5f4c768b915ee1
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/cpu-cortex-x3.d
@@ -0,0 +1,6 @@ 
+# name: Assemble and dump for cortex-x3 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-x3
+# objdump: -d -mcortex-x3
+
+#...
\ No newline at end of file