[v2] aarch64: Enable Cortex-X4 CPU

Message ID 637e7fac-b40e-4741-95a8-ef310f4d3812@arm.com
State Committed
Headers
Series [v2] aarch64: Enable Cortex-X4 CPU |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_binutils_check--master-aarch64 success Testing passed
linaro-tcwg-bot/tcwg_binutils_check--master-arm success Testing passed
linaro-tcwg-bot/tcwg_binutils_build--master-arm success Testing passed
linaro-tcwg-bot/tcwg_binutils_build--master-aarch64 success Testing passed

Commit Message

Saurabh Jha Oct. 4, 2023, 1:48 p.m. UTC
  Hey,

Updated the previous patch by rebasing with latest master and also 
adding the missing "testsuite/gas/aarch64/cpu-cortex-x4.d" file.

Thanks,

Saurabh

---

Hey,


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

Regression testing for aarch64-none-elf target and found no regressions.

Okay for binutils-master? I don't have commit access so if it looks 
okay, could someone please help me commit this?


Thanks,

Saurabh

bfd/ChangeLog
   * cpu-aarch64.c (processors): Add cortex-x4 core in processors array.

gas/ChangeLog
   * NEWS (Changes in current release): Add documentation for Cortex-X4.

   * config/tc-aarch64.c (aarch64_cpus): Add features of Cortex-X4.

   * doc/c-aarch64.texi (Options): Add mention of Cortex-X4.

   * testsuite/gas/aarch64/cpu-cortex-x4.d: New test for Cortex-X4.
  

Comments

Nick Clifton Oct. 5, 2023, 10:10 a.m. UTC | #1
Hi Saurabh,

> Updated the previous patch by rebasing with latest master and also adding the missing "testsuite/gas/aarch64/cpu-cortex-x4.d" file.

Patch approved and applied.

Cheers
   Nick
  

Patch

diff --git a/bfd/cpu-aarch64.c b/bfd/cpu-aarch64.c
index df0d8c8c0dd..269177821bb 100644
--- a/bfd/cpu-aarch64.c
+++ b/bfd/cpu-aarch64.c
@@ -74,7 +74,8 @@  processors[] =
   { bfd_mach_aarch64,	  "cortex-a65ae"    },
   { bfd_mach_aarch64,	  "cortex-a76ae"    },
   { bfd_mach_aarch64,	  "cortex-a77"	    },
-  { bfd_mach_aarch64,	  "cortex-a720"	    }
+  { bfd_mach_aarch64,	  "cortex-a720"	    },
+  { bfd_mach_aarch64,     "cortex-x4"       },
 };
 
 static bool
diff --git a/gas/NEWS b/gas/NEWS
index 730ffad9bc9..71a1269b893 100644
--- a/gas/NEWS
+++ b/gas/NEWS
@@ -16,6 +16,8 @@ 
 
 * Add support for Cortex-A720 for AArch64.
 
+* Add support for Cortex-X4 for AArch64.
+
 Changes in 2.41:
 
 * Add support for the KVX instruction set.
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index 5f5ec1b3dbc..14788ce180f 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -10215,6 +10215,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-x4",         AARCH64_CPU_FEATURES (V9_2A, 3, MEMTAG, PROFILE,
+                                              SVE2_BITPERM), "Cortex-X4"},
   {"generic",		AARCH64_ARCH_FEATURES (V8A), NULL},
 
   {NULL,		AARCH64_NO_FEATURES, NULL}
diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi
index 5e8ac0b4e7c..fd67c77bbf8 100644
--- a/gas/doc/c-aarch64.texi
+++ b/gas/doc/c-aarch64.texi
@@ -90,8 +90,9 @@  on the target processor.  The following processor names are recognized:
 @code{xgene2},
 @code{cortex-r82},
 @code{cortex-x1},
+@code{cortex-x2},
 and
-@code{cortex-x2}.
+@code{cortex-x4}.
 The special name @code{all} may be used to allow the assembler to accept
 instructions valid for any supported processor, including all optional
 extensions.
diff --git a/gas/testsuite/gas/aarch64/cpu-cortex-x4.d b/gas/testsuite/gas/aarch64/cpu-cortex-x4.d
new file mode 100644
index 00000000000..eab7fab3709
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/cpu-cortex-x4.d
@@ -0,0 +1,6 @@ 
+# name: Assemble and dump for cortex-x4 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-x4
+# objdump: -d -mcortex-x4
+
+#...
\ No newline at end of file