public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* [PATCH][Binutils] arm: Add supprot for Armv8.9-A and Armv9.4-A
@ 2023-12-20  9:34 Srinath Parvathaneni
  2024-01-04 15:46 ` [PATCH v2][Binutils] " Srinath Parvathaneni
  0 siblings, 1 reply; 3+ messages in thread
From: Srinath Parvathaneni @ 2023-12-20  9:34 UTC (permalink / raw)
  To: binutils; +Cc: Richard Earnshaw, nickc


[-- Attachment #1.1: Type: text/plain, Size: 464 bytes --]

Hi,

This patch adds AArch32 support for -march=armv8.9-a and
-march=armv9.4-a. The behaviour of the new options can be
expressed using a combination of existing feature flags
and tables.

The cpu_arch_ver entries for ARM_ARCH_V9_4A and ARM_ARCH_V8_9A
are technically redundant but it including them for macro code
consistency across architectures.

Regression testing for arm-none-eabi target and found no regressions.

Ok for binutils-master?

Regards,
Srinath.

[-- Attachment #2: v8_9_9_4.txt --]
[-- Type: text/plain, Size: 7336 bytes --]

diff --git a/gas/NEWS b/gas/NEWS
index af03fd172cf34e3149440803ee86d2121392292d..2cc621f0c471b3c3f6a41caf0322a1eebe982f35 100644
--- a/gas/NEWS
+++ b/gas/NEWS
@@ -1,5 +1,7 @@
 -*- text -*-
 
+* Add support for 'armv8.9-a' and 'armv9.4-a' for -march in Arm GAS.
+
 * On RISC-V macro instructions expanding to AUIPC and a load, store, or branch
   no longer accept x0 as an intermediate and/or destination register.
 
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 56345eacebf6b1473dcf99c2b669adcee2c5339c..cc79ea7ffa2fa8f578848d7e2125a3359405a22d 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -32036,6 +32036,7 @@ static const struct arm_ext_table armv86a_ext_table[] =
 
 #define armv87a_ext_table armv86a_ext_table
 #define armv88a_ext_table armv87a_ext_table
+#define armv89a_ext_table armv88a_ext_table
 
 static const struct arm_ext_table armv9a_ext_table[] =
 {
@@ -32055,6 +32056,7 @@ static const struct arm_ext_table armv9a_ext_table[] =
 #define armv91a_ext_table armv86a_ext_table
 #define armv92a_ext_table armv91a_ext_table
 #define armv93a_ext_table armv92a_ext_table
+#define armv94a_ext_table armv93a_ext_table
 
 #define CDE_EXTENSIONS \
   ARM_ADD ("cdecp0", ARM_FEATURE_CORE_HIGH (ARM_EXT2_CDE | ARM_EXT2_CDE0)), \
@@ -32180,10 +32182,12 @@ static const struct arm_arch_option_table arm_archs[] =
   ARM_ARCH_OPT2 ("armv8.6-a",	  ARM_ARCH_V8_6A,	FPU_ARCH_VFP, armv86a),
   ARM_ARCH_OPT2 ("armv8.7-a",	  ARM_ARCH_V8_7A,	FPU_ARCH_VFP, armv87a),
   ARM_ARCH_OPT2 ("armv8.8-a",	  ARM_ARCH_V8_8A,	FPU_ARCH_VFP, armv88a),
+  ARM_ARCH_OPT2 ("armv8.9-a",	  ARM_ARCH_V8_9A,	FPU_ARCH_VFP, armv89a),
   ARM_ARCH_OPT2 ("armv9-a",	  ARM_ARCH_V9A,		FPU_ARCH_VFP, armv9a),
   ARM_ARCH_OPT2 ("armv9.1-a",	  ARM_ARCH_V9_1A,	FPU_ARCH_VFP, armv91a),
   ARM_ARCH_OPT2 ("armv9.2-a",	  ARM_ARCH_V9_2A,	FPU_ARCH_VFP, armv92a),
   ARM_ARCH_OPT2 ("armv9.3-a",	  ARM_ARCH_V9_2A,	FPU_ARCH_VFP, armv93a),
+  ARM_ARCH_OPT2 ("armv9.4-a",	  ARM_ARCH_V9_4A,	FPU_ARCH_VFP, armv94a),
   ARM_ARCH_OPT ("xscale",	  ARM_ARCH_XSCALE,	FPU_ARCH_VFP),
   ARM_ARCH_OPT ("iwmmxt",	  ARM_ARCH_IWMMXT,	FPU_ARCH_VFP),
   ARM_ARCH_OPT ("iwmmxt2",	  ARM_ARCH_IWMMXT2,	FPU_ARCH_VFP),
@@ -32969,10 +32973,12 @@ static const cpu_arch_ver_table cpu_arch_ver[] =
     {TAG_CPU_ARCH_V8,	    ARM_ARCH_V8_6A},
     {TAG_CPU_ARCH_V8,	    ARM_ARCH_V8_7A},
     {TAG_CPU_ARCH_V8,	    ARM_ARCH_V8_8A},
+    {TAG_CPU_ARCH_V8,	    ARM_ARCH_V8_9A},
     {TAG_CPU_ARCH_V9,	    ARM_ARCH_V9A},
     {TAG_CPU_ARCH_V9,	    ARM_ARCH_V9_1A},
     {TAG_CPU_ARCH_V9,	    ARM_ARCH_V9_2A},
     {TAG_CPU_ARCH_V9,	    ARM_ARCH_V9_3A},
+    {TAG_CPU_ARCH_V9,	    ARM_ARCH_V9_4A},
     {-1,		    ARM_ARCH_NONE}
 };
 
diff --git a/gas/doc/c-arm.texi b/gas/doc/c-arm.texi
index 943814af759481e7539f0c921e16557c912bc239..99f5256b359dbe279001d32a1d310163ed740513 100644
--- a/gas/doc/c-arm.texi
+++ b/gas/doc/c-arm.texi
@@ -268,7 +268,9 @@ names are recognized:
 @code{armv8.6-a},
 @code{armv8.7-a},
 @code{armv8.8-a},
+@code{armv8.9-a},
 @code{armv9-a},
+@code{armv9.4-a},
 @code{iwmmxt},
 @code{iwmmxt2}
 and
diff --git a/gas/testsuite/gas/arm/attr-march-armv8_9-a.d b/gas/testsuite/gas/arm/attr-march-armv8_9-a.d
new file mode 100644
index 0000000000000000000000000000000000000000..e1d8feb400a39268d2233ce4ceba7fe68a710eb5
--- /dev/null
+++ b/gas/testsuite/gas/arm/attr-march-armv8_9-a.d
@@ -0,0 +1,17 @@
+# name: attributes for -march=armv8.9-a
+# source: blank.s
+# as: -march=armv8.9-a
+# readelf: -A
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+Attribute Section: aeabi
+File Attributes
+  Tag_CPU_name: "8.9-A"
+  Tag_CPU_arch: v8
+  Tag_CPU_arch_profile: Application
+  Tag_ARM_ISA_use: Yes
+  Tag_THUMB_ISA_use: Thumb-2
+  Tag_Advanced_SIMD_arch: NEON for ARMv8.1
+  Tag_MPextension_use: Allowed
+  Tag_Virtualization_use: TrustZone and Virtualization Extensions
diff --git a/gas/testsuite/gas/arm/attr-march-armv9_4-a.d b/gas/testsuite/gas/arm/attr-march-armv9_4-a.d
new file mode 100644
index 0000000000000000000000000000000000000000..b989114bf3e782b7390c12fcd346f2c15ae8b897
--- /dev/null
+++ b/gas/testsuite/gas/arm/attr-march-armv9_4-a.d
@@ -0,0 +1,17 @@
+# name: check for armv9.4-a command line option settings
+# source: blank.s
+# as: -march=armv9.4-a
+# readelf: -A
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+Attribute Section: aeabi
+File Attributes
+  Tag_CPU_name: "9.4-A"
+  Tag_CPU_arch: v9
+  Tag_CPU_arch_profile: Application
+  Tag_ARM_ISA_use: Yes
+  Tag_THUMB_ISA_use: Thumb-2
+  Tag_Advanced_SIMD_arch: NEON for ARMv8.1
+  Tag_MPextension_use: Allowed
+  Tag_Virtualization_use: TrustZone and Virtualization Extensions
diff --git a/gas/testsuite/gas/arm/bfloat16-armv8.9-a.d b/gas/testsuite/gas/arm/bfloat16-armv8.9-a.d
new file mode 100644
index 0000000000000000000000000000000000000000..8c32abd7da909bbb9cc1b4743382cdc9e8455eb0
--- /dev/null
+++ b/gas/testsuite/gas/arm/bfloat16-armv8.9-a.d
@@ -0,0 +1,5 @@
+#name: Bfloat 16 extension (Armv8.9-A)
+#source: bfloat16.s
+#as: -mno-warn-deprecated -march=armv8.9-a+simd -I$srcdir/$subdir
+#objdump: -dr --show-raw-insn
+#...
diff --git a/gas/testsuite/gas/arm/bfloat16-armv9.4-a.d b/gas/testsuite/gas/arm/bfloat16-armv9.4-a.d
new file mode 100644
index 0000000000000000000000000000000000000000..d78876c0087c1a5f6d75b5545d9114aabdcf865f
--- /dev/null
+++ b/gas/testsuite/gas/arm/bfloat16-armv9.4-a.d
@@ -0,0 +1,5 @@
+#name: Bfloat 16 extension (Armv9.4-A)
+#source: bfloat16.s
+#as: -mno-warn-deprecated -march=armv9.4-a+simd -I$srcdir/$subdir
+#objdump: -dr --show-raw-insn
+#...
diff --git a/gas/testsuite/gas/arm/i8mm-armv8.9-a.d b/gas/testsuite/gas/arm/i8mm-armv8.9-a.d
new file mode 100644
index 0000000000000000000000000000000000000000..a2a28ae0b468e973a5509d213b94d6d32e43c83e
--- /dev/null
+++ b/gas/testsuite/gas/arm/i8mm-armv8.9-a.d
@@ -0,0 +1,5 @@
+#name: Int8 Matrix Multiply extension (Armv8.9-A)
+#source: i8mm.s
+#as: -mno-warn-deprecated -march=armv8.9-a+i8mm+simd -I$srcdir/$subdir
+#objdump: -dr --show-raw-insn
+#...
diff --git a/gas/testsuite/gas/arm/i8mm-armv9.4-a.d b/gas/testsuite/gas/arm/i8mm-armv9.4-a.d
new file mode 100644
index 0000000000000000000000000000000000000000..392941099cf2e67926dd741e1e7d2bfb5372bb3c
--- /dev/null
+++ b/gas/testsuite/gas/arm/i8mm-armv9.4-a.d
@@ -0,0 +1,5 @@
+#name: Int8 Matrix Multiply extension (Armv9.4-A)
+#source: i8mm.s
+#as: -mno-warn-deprecated -march=armv9.4-a+i8mm+simd -I$srcdir/$subdir
+#objdump: -dr --show-raw-insn
+#...
diff --git a/include/opcode/arm.h b/include/opcode/arm.h
index 962cc719b50659fd381ba78f0ad62ecd728e98fb..d8614dada2cbb26a7cbaed33627c8acdd3644e4f 100644
--- a/include/opcode/arm.h
+++ b/include/opcode/arm.h
@@ -379,6 +379,7 @@
 						    | FPU_NEON_EXT_DOTPROD)
 #define ARM_ARCH_V8_7A	 ARM_ARCH_V8_6A
 #define ARM_ARCH_V8_8A	 ARM_ARCH_V8_7A
+#define ARM_ARCH_V8_9A	 ARM_ARCH_V8_8A
 #define ARM_ARCH_V8M_BASE      ARM_FEATURE_CORE (ARM_AEXT_V8M_BASE,	   \
 						 ARM_AEXT2_V8M_BASE)
 #define ARM_ARCH_V8M_MAIN      ARM_FEATURE_CORE (ARM_AEXT_V8M_MAIN,	   \
@@ -399,6 +400,7 @@
 					  | FPU_NEON_EXT_DOTPROD)
 #define ARM_ARCH_V9_2A   ARM_ARCH_V9_1A
 #define ARM_ARCH_V9_3A   ARM_ARCH_V9_2A
+#define ARM_ARCH_V9_4A   ARM_ARCH_V9_3A
 
 /* Some useful combinations:  */
 #define ARM_ARCH_NONE	ARM_FEATURE_ALL (0, 0, 0, 0)

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2][Binutils] arm: Add supprot for Armv8.9-A and Armv9.4-A.
  2023-12-20  9:34 [PATCH][Binutils] arm: Add supprot for Armv8.9-A and Armv9.4-A Srinath Parvathaneni
@ 2024-01-04 15:46 ` Srinath Parvathaneni
  2024-01-08 13:55   ` Nick Clifton
  0 siblings, 1 reply; 3+ messages in thread
From: Srinath Parvathaneni @ 2024-01-04 15:46 UTC (permalink / raw)
  To: binutils; +Cc: Richard Earnshaw, nickc


[-- Attachment #1.1: Type: text/plain, Size: 1019 bytes --]

Hi,

(Rebased)

This patch adds AArch32 support for -march=armv8.9-a and
-march=armv9.4-a. The behaviour of the new options can be
expressed using a combination of existing feature flags
and tables.

The cpu_arch_ver entries for ARM_ARCH_V9_4A and ARM_ARCH_V8_9A
are technically redundant but it including them for macro code
consistency across architectures.

Regression testing for arm-none-eabi target and found
no regressions.

Ok for binutils-master?

Regards,
Srinath.

On 12/20/2023 9:34 AM, Srinath Parvathaneni wrote:
> Hi,
>
> This patch adds AArch32 support for -march=armv8.9-a and
> -march=armv9.4-a. The behaviour of the new options can be
> expressed using a combination of existing feature flags
> and tables.
>
> The cpu_arch_ver entries for ARM_ARCH_V9_4A and ARM_ARCH_V8_9A
> are technically redundant but it including them for macro code
> consistency across architectures.
>
> Regression testing for arm-none-eabi target and found no regressions.
>
> Ok for binutils-master?
>
> Regards,
> Srinath.

[-- Attachment #2: v8_9_v9_4 --]
[-- Type: text/plain, Size: 7395 bytes --]

diff --git a/gas/NEWS b/gas/NEWS
index 4c8d5946690cf2aa886c1463a7e9c53404ef7d6a..1830c3a1a011e911bfdbaac9c68bde3cc273952d 100644
--- a/gas/NEWS
+++ b/gas/NEWS
@@ -1,5 +1,7 @@
 -*- text -*-
 
+* Add support for 'armv8.9-a' and 'armv9.4-a' for -march in Arm GAS.
+
 * On RISC-V macro instructions expanding to AUIPC and a load, store, or branch
   no longer accept x0 as an intermediate and/or destination register.
 
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 1eeb05ff590f075ee1742600b5f11e694579e8b5..d8da6bfe5b01e839cde66e84795cce873cbbc246 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -32036,6 +32036,7 @@ static const struct arm_ext_table armv86a_ext_table[] =
 
 #define armv87a_ext_table armv86a_ext_table
 #define armv88a_ext_table armv87a_ext_table
+#define armv89a_ext_table armv88a_ext_table
 
 static const struct arm_ext_table armv9a_ext_table[] =
 {
@@ -32055,6 +32056,7 @@ static const struct arm_ext_table armv9a_ext_table[] =
 #define armv91a_ext_table armv86a_ext_table
 #define armv92a_ext_table armv91a_ext_table
 #define armv93a_ext_table armv92a_ext_table
+#define armv94a_ext_table armv93a_ext_table
 
 #define CDE_EXTENSIONS \
   ARM_ADD ("cdecp0", ARM_FEATURE_CORE_HIGH (ARM_EXT2_CDE | ARM_EXT2_CDE0)), \
@@ -32180,10 +32182,12 @@ static const struct arm_arch_option_table arm_archs[] =
   ARM_ARCH_OPT2 ("armv8.6-a",	  ARM_ARCH_V8_6A,	FPU_ARCH_VFP, armv86a),
   ARM_ARCH_OPT2 ("armv8.7-a",	  ARM_ARCH_V8_7A,	FPU_ARCH_VFP, armv87a),
   ARM_ARCH_OPT2 ("armv8.8-a",	  ARM_ARCH_V8_8A,	FPU_ARCH_VFP, armv88a),
+  ARM_ARCH_OPT2 ("armv8.9-a",	  ARM_ARCH_V8_9A,	FPU_ARCH_VFP, armv89a),
   ARM_ARCH_OPT2 ("armv9-a",	  ARM_ARCH_V9A,		FPU_ARCH_VFP, armv9a),
   ARM_ARCH_OPT2 ("armv9.1-a",	  ARM_ARCH_V9_1A,	FPU_ARCH_VFP, armv91a),
   ARM_ARCH_OPT2 ("armv9.2-a",	  ARM_ARCH_V9_2A,	FPU_ARCH_VFP, armv92a),
   ARM_ARCH_OPT2 ("armv9.3-a",	  ARM_ARCH_V9_2A,	FPU_ARCH_VFP, armv93a),
+  ARM_ARCH_OPT2 ("armv9.4-a",	  ARM_ARCH_V9_4A,	FPU_ARCH_VFP, armv94a),
   ARM_ARCH_OPT ("xscale",	  ARM_ARCH_XSCALE,	FPU_ARCH_VFP),
   ARM_ARCH_OPT ("iwmmxt",	  ARM_ARCH_IWMMXT,	FPU_ARCH_VFP),
   ARM_ARCH_OPT ("iwmmxt2",	  ARM_ARCH_IWMMXT2,	FPU_ARCH_VFP),
@@ -32969,10 +32973,12 @@ static const cpu_arch_ver_table cpu_arch_ver[] =
     {TAG_CPU_ARCH_V8,	    ARM_ARCH_V8_6A},
     {TAG_CPU_ARCH_V8,	    ARM_ARCH_V8_7A},
     {TAG_CPU_ARCH_V8,	    ARM_ARCH_V8_8A},
+    {TAG_CPU_ARCH_V8,	    ARM_ARCH_V8_9A},
     {TAG_CPU_ARCH_V9,	    ARM_ARCH_V9A},
     {TAG_CPU_ARCH_V9,	    ARM_ARCH_V9_1A},
     {TAG_CPU_ARCH_V9,	    ARM_ARCH_V9_2A},
     {TAG_CPU_ARCH_V9,	    ARM_ARCH_V9_3A},
+    {TAG_CPU_ARCH_V9,	    ARM_ARCH_V9_4A},
     {-1,		    ARM_ARCH_NONE}
 };
 
diff --git a/gas/doc/c-arm.texi b/gas/doc/c-arm.texi
index f07b9338c3eb096d2c99853eee6bad57d8368ad6..202a75d5508196bc23ca5ef9aad5df649fc65652 100644
--- a/gas/doc/c-arm.texi
+++ b/gas/doc/c-arm.texi
@@ -268,10 +268,12 @@ names are recognized:
 @code{armv8.6-a},
 @code{armv8.7-a},
 @code{armv8.8-a},
+@code{armv8.9-a},
 @code{armv9-a},
 @code{armv9.1-a},
 @code{armv9.2-a},
 @code{armv9.3-a},
+@code{armv9.4-a},
 @code{iwmmxt},
 @code{iwmmxt2}
 and
diff --git a/gas/testsuite/gas/arm/attr-march-armv8_9-a.d b/gas/testsuite/gas/arm/attr-march-armv8_9-a.d
new file mode 100644
index 0000000000000000000000000000000000000000..e1d8feb400a39268d2233ce4ceba7fe68a710eb5
--- /dev/null
+++ b/gas/testsuite/gas/arm/attr-march-armv8_9-a.d
@@ -0,0 +1,17 @@
+# name: attributes for -march=armv8.9-a
+# source: blank.s
+# as: -march=armv8.9-a
+# readelf: -A
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+Attribute Section: aeabi
+File Attributes
+  Tag_CPU_name: "8.9-A"
+  Tag_CPU_arch: v8
+  Tag_CPU_arch_profile: Application
+  Tag_ARM_ISA_use: Yes
+  Tag_THUMB_ISA_use: Thumb-2
+  Tag_Advanced_SIMD_arch: NEON for ARMv8.1
+  Tag_MPextension_use: Allowed
+  Tag_Virtualization_use: TrustZone and Virtualization Extensions
diff --git a/gas/testsuite/gas/arm/attr-march-armv9_4-a.d b/gas/testsuite/gas/arm/attr-march-armv9_4-a.d
new file mode 100644
index 0000000000000000000000000000000000000000..b989114bf3e782b7390c12fcd346f2c15ae8b897
--- /dev/null
+++ b/gas/testsuite/gas/arm/attr-march-armv9_4-a.d
@@ -0,0 +1,17 @@
+# name: check for armv9.4-a command line option settings
+# source: blank.s
+# as: -march=armv9.4-a
+# readelf: -A
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+Attribute Section: aeabi
+File Attributes
+  Tag_CPU_name: "9.4-A"
+  Tag_CPU_arch: v9
+  Tag_CPU_arch_profile: Application
+  Tag_ARM_ISA_use: Yes
+  Tag_THUMB_ISA_use: Thumb-2
+  Tag_Advanced_SIMD_arch: NEON for ARMv8.1
+  Tag_MPextension_use: Allowed
+  Tag_Virtualization_use: TrustZone and Virtualization Extensions
diff --git a/gas/testsuite/gas/arm/bfloat16-armv8.9-a.d b/gas/testsuite/gas/arm/bfloat16-armv8.9-a.d
new file mode 100644
index 0000000000000000000000000000000000000000..8c32abd7da909bbb9cc1b4743382cdc9e8455eb0
--- /dev/null
+++ b/gas/testsuite/gas/arm/bfloat16-armv8.9-a.d
@@ -0,0 +1,5 @@
+#name: Bfloat 16 extension (Armv8.9-A)
+#source: bfloat16.s
+#as: -mno-warn-deprecated -march=armv8.9-a+simd -I$srcdir/$subdir
+#objdump: -dr --show-raw-insn
+#...
diff --git a/gas/testsuite/gas/arm/bfloat16-armv9.4-a.d b/gas/testsuite/gas/arm/bfloat16-armv9.4-a.d
new file mode 100644
index 0000000000000000000000000000000000000000..d78876c0087c1a5f6d75b5545d9114aabdcf865f
--- /dev/null
+++ b/gas/testsuite/gas/arm/bfloat16-armv9.4-a.d
@@ -0,0 +1,5 @@
+#name: Bfloat 16 extension (Armv9.4-A)
+#source: bfloat16.s
+#as: -mno-warn-deprecated -march=armv9.4-a+simd -I$srcdir/$subdir
+#objdump: -dr --show-raw-insn
+#...
diff --git a/gas/testsuite/gas/arm/i8mm-armv8.9-a.d b/gas/testsuite/gas/arm/i8mm-armv8.9-a.d
new file mode 100644
index 0000000000000000000000000000000000000000..a2a28ae0b468e973a5509d213b94d6d32e43c83e
--- /dev/null
+++ b/gas/testsuite/gas/arm/i8mm-armv8.9-a.d
@@ -0,0 +1,5 @@
+#name: Int8 Matrix Multiply extension (Armv8.9-A)
+#source: i8mm.s
+#as: -mno-warn-deprecated -march=armv8.9-a+i8mm+simd -I$srcdir/$subdir
+#objdump: -dr --show-raw-insn
+#...
diff --git a/gas/testsuite/gas/arm/i8mm-armv9.4-a.d b/gas/testsuite/gas/arm/i8mm-armv9.4-a.d
new file mode 100644
index 0000000000000000000000000000000000000000..392941099cf2e67926dd741e1e7d2bfb5372bb3c
--- /dev/null
+++ b/gas/testsuite/gas/arm/i8mm-armv9.4-a.d
@@ -0,0 +1,5 @@
+#name: Int8 Matrix Multiply extension (Armv9.4-A)
+#source: i8mm.s
+#as: -mno-warn-deprecated -march=armv9.4-a+i8mm+simd -I$srcdir/$subdir
+#objdump: -dr --show-raw-insn
+#...
diff --git a/include/opcode/arm.h b/include/opcode/arm.h
index 962cc719b50659fd381ba78f0ad62ecd728e98fb..d8614dada2cbb26a7cbaed33627c8acdd3644e4f 100644
--- a/include/opcode/arm.h
+++ b/include/opcode/arm.h
@@ -379,6 +379,7 @@
 						    | FPU_NEON_EXT_DOTPROD)
 #define ARM_ARCH_V8_7A	 ARM_ARCH_V8_6A
 #define ARM_ARCH_V8_8A	 ARM_ARCH_V8_7A
+#define ARM_ARCH_V8_9A	 ARM_ARCH_V8_8A
 #define ARM_ARCH_V8M_BASE      ARM_FEATURE_CORE (ARM_AEXT_V8M_BASE,	   \
 						 ARM_AEXT2_V8M_BASE)
 #define ARM_ARCH_V8M_MAIN      ARM_FEATURE_CORE (ARM_AEXT_V8M_MAIN,	   \
@@ -399,6 +400,7 @@
 					  | FPU_NEON_EXT_DOTPROD)
 #define ARM_ARCH_V9_2A   ARM_ARCH_V9_1A
 #define ARM_ARCH_V9_3A   ARM_ARCH_V9_2A
+#define ARM_ARCH_V9_4A   ARM_ARCH_V9_3A
 
 /* Some useful combinations:  */
 #define ARM_ARCH_NONE	ARM_FEATURE_ALL (0, 0, 0, 0)

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2][Binutils] arm: Add supprot for Armv8.9-A and Armv9.4-A.
  2024-01-04 15:46 ` [PATCH v2][Binutils] " Srinath Parvathaneni
@ 2024-01-08 13:55   ` Nick Clifton
  0 siblings, 0 replies; 3+ messages in thread
From: Nick Clifton @ 2024-01-08 13:55 UTC (permalink / raw)
  To: Srinath Parvathaneni, binutils; +Cc: Richard Earnshaw

Hi Srinath,

> This patch adds AArch32 support for -march=armv8.9-a and
> -march=armv9.4-a. The behaviour of the new options can be
> expressed using a combination of existing feature flags
> and tables.
> 
> The cpu_arch_ver entries for ARM_ARCH_V9_4A and ARM_ARCH_V8_9A
> are technically redundant but it including them for macro code
> consistency across architectures.
> 
> Regression testing for arm-none-eabi target and found
> no regressions.
> 
> Ok for binutils-master?

Approved - please apply.

Cheers
   Nick




^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-01-08 13:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-20  9:34 [PATCH][Binutils] arm: Add supprot for Armv8.9-A and Armv9.4-A Srinath Parvathaneni
2024-01-04 15:46 ` [PATCH v2][Binutils] " Srinath Parvathaneni
2024-01-08 13:55   ` Nick Clifton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).