[binutils-gdb] aarch64: Add -march=armv9.7-a option
Alice Carlotti
acarlotti@sourceware.org
Sat Jan 24 07:18:14 GMT 2026
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=aa471974c2b77be1cd9110a031091d3b36d31958
commit aa471974c2b77be1cd9110a031091d3b36d31958
Author: Alice Carlotti <alice.carlotti@arm.com>
Date: Sat Jan 24 02:51:56 2026 +0000
aarch64: Add -march=armv9.7-a option
Diff:
---
gas/config/tc-aarch64.c | 1 +
gas/doc/c-aarch64.texi | 1 +
gas/testsuite/gas/aarch64/f16f32dot-simd.d | 1 +
gas/testsuite/gas/aarch64/sve2p2.d | 1 +
gas/testsuite/gas/aarch64/sve2p3.d | 1 +
include/opcode/aarch64.h | 7 +++++++
6 files changed, 12 insertions(+)
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index a328d5d2a6a..dd2652f4ff1 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -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}
};
diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi
index 99cbe8e9939..7d379e92b88 100644
--- a/gas/doc/c-aarch64.texi
+++ b/gas/doc/c-aarch64.texi
@@ -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
diff --git a/gas/testsuite/gas/aarch64/f16f32dot-simd.d b/gas/testsuite/gas/aarch64/f16f32dot-simd.d
index 0e3f0a465fb..7bae9845e17 100644
--- a/gas/testsuite/gas/aarch64/f16f32dot-simd.d
+++ b/gas/testsuite/gas/aarch64/f16f32dot-simd.d
@@ -1,4 +1,5 @@
#as: -march=armv8-a+f16f32dot
+#as: -march=armv9.7-a
#objdump: -dr
.*: file format .*
diff --git a/gas/testsuite/gas/aarch64/sve2p2.d b/gas/testsuite/gas/aarch64/sve2p2.d
index f401cb4fc30..1ff7aa28ae0 100644
--- a/gas/testsuite/gas/aarch64/sve2p2.d
+++ b/gas/testsuite/gas/aarch64/sve2p2.d
@@ -1,5 +1,6 @@
#as: -march=armv8-a+sve2p2
#as: -march=armv8-a+sme2p2
+#as: -march=armv9.7-a
#objdump: -dr
.*: file format .*
diff --git a/gas/testsuite/gas/aarch64/sve2p3.d b/gas/testsuite/gas/aarch64/sve2p3.d
index 5a327b11e49..40932fc067f 100644
--- a/gas/testsuite/gas/aarch64/sve2p3.d
+++ b/gas/testsuite/gas/aarch64/sve2p3.d
@@ -1,5 +1,6 @@
#as: -march=armv8-a+sve2p3
#as: -march=armv8-a+sme2p3
+#as: -march=armv9.7-a
#objdump: -dr
.*: file format .*
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h
index e353a441afa..e38de9a99dc 100644
--- a/include/opcode/aarch64.h
+++ b/include/opcode/aarch64.h
@@ -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
More information about the Binutils-cvs
mailing list