diff options
-rw-r--r-- | gas/config/tc-aarch64.c | 1 | ||||
-rw-r--r-- | gas/doc/c-aarch64.texi | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/cmpbr.d | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/fprcvt.d | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/lsui.d | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/occmo-memtag.d | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/occmo.d | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/sve2p2.d | 1 | ||||
-rw-r--r-- | include/opcode/aarch64.h | 10 |
9 files changed, 18 insertions, 0 deletions
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c index 20b3f61..7187117 100644 --- a/gas/config/tc-aarch64.c +++ b/gas/config/tc-aarch64.c @@ -10733,6 +10733,7 @@ static const struct aarch64_arch_option_table aarch64_archs[] = { {"armv9.3-a", AARCH64_ARCH_FEATURES (V9_3A)}, {"armv9.4-a", AARCH64_ARCH_FEATURES (V9_4A)}, {"armv9.5-a", AARCH64_ARCH_FEATURES (V9_5A)}, + {"armv9.6-a", AARCH64_ARCH_FEATURES (V9_6A)}, {NULL, AARCH64_NO_FEATURES} }; diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi index edd9e9c..ba0940c 100644 --- a/gas/doc/c-aarch64.texi +++ b/gas/doc/c-aarch64.texi @@ -375,6 +375,7 @@ automatically cause those extensions to be disabled. @item @code{armv9.3-a} @tab @code{armv9.2-a}, @code{armv8.8-a} @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{fprcvt}, @code{lsui}, @code{occmo}, @code{sve2p2} @item @code{armv8-r} @tab @code{armv8.4-a+nolor} @end multitable diff --git a/gas/testsuite/gas/aarch64/cmpbr.d b/gas/testsuite/gas/aarch64/cmpbr.d index 457fdd7..9096350 100644 --- a/gas/testsuite/gas/aarch64/cmpbr.d +++ b/gas/testsuite/gas/aarch64/cmpbr.d @@ -1,5 +1,6 @@ #name: Test for FEAT_CMPBR #as: -march=armv8-a+cmpbr +#as: -march=armv9.6-a #objdump: -dr .*: file format .* diff --git a/gas/testsuite/gas/aarch64/fprcvt.d b/gas/testsuite/gas/aarch64/fprcvt.d index 9129858..f44690b 100644 --- a/gas/testsuite/gas/aarch64/fprcvt.d +++ b/gas/testsuite/gas/aarch64/fprcvt.d @@ -1,5 +1,6 @@ #name: FPRCVT instructions #as: -march=armv8-a+fprcvt +#as: -march=armv9.6-a #objdump: -dr .*: file format .* diff --git a/gas/testsuite/gas/aarch64/lsui.d b/gas/testsuite/gas/aarch64/lsui.d index 0a052c3..7a1d922 100644 --- a/gas/testsuite/gas/aarch64/lsui.d +++ b/gas/testsuite/gas/aarch64/lsui.d @@ -1,6 +1,7 @@ #name: FEAT_LSUI Test #objdump: -dr #as:-march=armv9-a+lsui+fp +#as:-march=armv9.6-a .*: file format .* diff --git a/gas/testsuite/gas/aarch64/occmo-memtag.d b/gas/testsuite/gas/aarch64/occmo-memtag.d index 0dbbab0..5a20fd4 100644 --- a/gas/testsuite/gas/aarch64/occmo-memtag.d +++ b/gas/testsuite/gas/aarch64/occmo-memtag.d @@ -1,5 +1,6 @@ #name: FEAT_OCCMO + MEMTAG Test #as: -march=armv8-a+occmo+memtag +#as: -march=armv9.6-a+memtag #objdump: -dr .*: file format .* diff --git a/gas/testsuite/gas/aarch64/occmo.d b/gas/testsuite/gas/aarch64/occmo.d index 0ec68e8..4267413 100644 --- a/gas/testsuite/gas/aarch64/occmo.d +++ b/gas/testsuite/gas/aarch64/occmo.d @@ -1,5 +1,6 @@ #name: FEAT_OCCMO Test #as: -march=armv8-a+occmo +#as: -march=armv9.6-a #objdump: -dr .*: file format .* diff --git a/gas/testsuite/gas/aarch64/sve2p2.d b/gas/testsuite/gas/aarch64/sve2p2.d index f401cb4..128e350 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.6-a #objdump: -dr .*: file format .* diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h index c715e7b..4425dd4 100644 --- a/include/opcode/aarch64.h +++ b/include/opcode/aarch64.h @@ -304,6 +304,8 @@ enum aarch64_feature_bit { AARCH64_FEATURE_V9_4A, /* Armv9.5-A processors. */ AARCH64_FEATURE_V9_5A, + /* Armv9.6-A processors. */ + AARCH64_FEATURE_V9_6A, /* FPRCVT instructions. */ AARCH64_FEATURE_FPRCVT, /* Point of Physical Storage. */ @@ -473,6 +475,12 @@ static_assert ((AA64_REPLICATE (REP_PLUS, AA64_REPVAL, | AARCH64_FEATBIT (X, SPMU2) \ | AARCH64_FEATBIT (X, STEP2) \ ) +#define AARCH64_ARCH_V9_6A_FEATURES(X) (AARCH64_FEATBIT (X, V9_6A) \ + | AARCH64_FEATBIT (X, CMPBR) \ + | AARCH64_FEATBIT (X, FPRCVT) \ + | AARCH64_FEATBIT (X, LSUI) \ + | AARCH64_FEATBIT (X, OCCMO) \ + | AARCH64_FEATBIT (X, SVE2p2)) /* Architectures are the sum of the base and extensions. */ #define AARCH64_ARCH_V8A(X) (AARCH64_FEATBIT (X, V8) \ @@ -512,6 +520,8 @@ static_assert ((AA64_REPLICATE (REP_PLUS, AA64_REPVAL, | AARCH64_ARCH_V9_4A_FEATURES (X)) #define AARCH64_ARCH_V9_5A(X) (AARCH64_ARCH_V9_4A (X) \ | 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_NONE(X) 0 |