]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
aarch64: Add -march=armv9.7-a option
authorAlice Carlotti <alice.carlotti@arm.com>
Sat, 24 Jan 2026 02:51:56 +0000 (02:51 +0000)
committerAlice Carlotti <alice.carlotti@arm.com>
Sat, 24 Jan 2026 07:16:53 +0000 (07:16 +0000)
gas/config/tc-aarch64.c
gas/doc/c-aarch64.texi
gas/testsuite/gas/aarch64/f16f32dot-simd.d
gas/testsuite/gas/aarch64/sve2p2.d
gas/testsuite/gas/aarch64/sve2p3.d
include/opcode/aarch64.h

index a328d5d2a6a4fbfbbd85fe91cff0acc1c0dee6a7..dd2652f4ff1011c2f1cdbe6c51b3feca5c9c70a4 100644 (file)
@@ -10897,6 +10897,7 @@ static const struct aarch64_arch_option_table aarch64_archs[] = {
   {"armv9.4-a",        AARCH64_ARCH_FEATURES (V9_4A)},
   {"armv9.5-a", AARCH64_ARCH_FEATURES (V9_5A)},
   {"armv9.6-a", AARCH64_ARCH_FEATURES (V9_6A)},
+  {"armv9.7-a", AARCH64_ARCH_FEATURES (V9_7A)},
   {NULL, AARCH64_NO_FEATURES}
 };
 
index 99cbe8e9939790f696eb65a9a0b5f2a01b726357..7d379e92b8816a2e6c259cd7e35a387b25976daf 100644 (file)
@@ -419,6 +419,7 @@ automatically cause those extensions to be disabled.
 @item @code{armv9.4-a} @tab @code{armv9.3-a}, @code{armv8.9-a}
 @item @code{armv9.5-a} @tab @code{armv9.4-a}, @code{cpa}, @code{lut}, @code{faminmax}
 @item @code{armv9.6-a} @tab @code{armv9.5-a}, @code{cmpbr}, @code{lsui}, @code{occmo}
+@item @code{armv9.7-a} @tab @code{armv9.6-a}, @code{sve2p2}, @code{sve2p3}, @code{f16f32dot}
 @item @code{armv8-r} @tab @code{armv8.4-a+nolor}
 @end multitable
 
index 0e3f0a465fb96e70d770f6109a160a36b968d7c7..7bae9845e17532da95fb8c6eada64ea61e088ad5 100644 (file)
@@ -1,4 +1,5 @@
 #as: -march=armv8-a+f16f32dot
+#as: -march=armv9.7-a
 #objdump: -dr
 
 .*:     file format .*
index f401cb4fc30f6d258f047db83938b60a7d1c0fde..1ff7aa28ae0e4813a0e5c2f9366f7b037bca3993 100644 (file)
@@ -1,5 +1,6 @@
 #as: -march=armv8-a+sve2p2
 #as: -march=armv8-a+sme2p2
+#as: -march=armv9.7-a
 #objdump: -dr
 
 .*:     file format .*
index 5a327b11e49669dc4c77f5858f6bb3e3e6809ee8..40932fc067fb0322af59909e8a4a15d98cb81d04 100644 (file)
@@ -1,5 +1,6 @@
 #as: -march=armv8-a+sve2p3
 #as: -march=armv8-a+sme2p3
+#as: -march=armv9.7-a
 #objdump: -dr
 
 .*:     file format .*
index e353a441afa76220a20b8740dfc338139fbd0fab..e38de9a99dc4880129d07eeb89758beb09a1970a 100644 (file)
@@ -60,6 +60,7 @@ enum aarch64_feature_bit {
   AARCH64_FEATURE_V9_4A,
   AARCH64_FEATURE_V9_5A,
   AARCH64_FEATURE_V9_6A,
+  AARCH64_FEATURE_V9_7A,
 
   /* Armv8-A processors only - this is unset for Armv8-R.  */
   AARCH64_FEATURE_V8A,
@@ -441,6 +442,10 @@ static_assert ((AA64_REPLICATE (REP_PLUS, AA64_REPVAL,
                                         | AARCH64_FEATBIT (X, CMPBR)   \
                                         | AARCH64_FEATBIT (X, LSUI)    \
                                         | AARCH64_FEATBIT (X, OCCMO))
+#define AARCH64_ARCH_V9_7A_FEATURES(X) (AARCH64_FEATBIT (X, V9_7A)     \
+                                        | AARCH64_FEATBIT (X, F16F32DOT) \
+                                        | AARCH64_FEATBIT (X, SVE2p2)  \
+                                        | AARCH64_FEATBIT (X, SVE2p3))
 
 /* Architectures are the sum of the base and extensions.  */
 #define AARCH64_ARCH_V8A(X)    (AARCH64_FEATBIT (X, V8) \
@@ -482,6 +487,8 @@ static_assert ((AA64_REPLICATE (REP_PLUS, AA64_REPVAL,
                                 | AARCH64_ARCH_V9_5A_FEATURES (X))
 #define AARCH64_ARCH_V9_6A(X)  (AARCH64_ARCH_V9_5A (X) \
                                 | AARCH64_ARCH_V9_6A_FEATURES (X))
+#define AARCH64_ARCH_V9_7A(X)  (AARCH64_ARCH_V9_6A (X) \
+                                | AARCH64_ARCH_V9_7A_FEATURES (X))
 
 #define AARCH64_ARCH_NONE(X)   0