aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/config/tc-aarch64.c1
-rw-r--r--gas/doc/c-aarch64.texi1
-rw-r--r--gas/testsuite/gas/aarch64/cmpbr.d1
-rw-r--r--gas/testsuite/gas/aarch64/fprcvt.d1
-rw-r--r--gas/testsuite/gas/aarch64/lsui.d1
-rw-r--r--gas/testsuite/gas/aarch64/occmo-memtag.d1
-rw-r--r--gas/testsuite/gas/aarch64/occmo.d1
-rw-r--r--gas/testsuite/gas/aarch64/sve2p2.d1
-rw-r--r--include/opcode/aarch64.h10
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