From: Alice Carlotti Date: Sat, 24 Jan 2026 02:51:56 +0000 (+0000) Subject: aarch64: Add -march=armv9.7-a option X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aa471974c2b77be1cd9110a031091d3b36d31958;p=thirdparty%2Fbinutils-gdb.git aarch64: Add -march=armv9.7-a option --- 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