aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorAndrew Carlotti <andrew.carlotti@arm.com>2024-01-12 01:45:25 +0000
committerNick Clifton <nickc@redhat.com>2024-01-12 13:46:35 +0000
commit43291582c0bcd2a6b7b658ee61753f55f9682c70 (patch)
treebe5707b64e945df0bd6ec0d592950442ea01df98 /gas
parent59255bf7d20f78f540b2f0016c29fc1e8d614f1b (diff)
downloadgdb-43291582c0bcd2a6b7b658ee61753f55f9682c70.zip
gdb-43291582c0bcd2a6b7b658ee61753f55f9682c70.tar.gz
gdb-43291582c0bcd2a6b7b658ee61753f55f9682c70.tar.bz2
aarch64: Add +xs flag for existing instructions
Additionally, change FEAT_XS tlbi variants to be gated on "+xs" instead of "+d128". This is an incremental improvement; there are still some FEAT_XS tlbi variants that are gated incorrectly or missing entirely.
Diffstat (limited to 'gas')
-rw-r--r--gas/config/tc-aarch64.c1
-rw-r--r--gas/testsuite/gas/aarch64/system-4.d8
-rw-r--r--gas/testsuite/gas/aarch64/system-4.s12
3 files changed, 21 insertions, 0 deletions
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index 5b3cdd8..7eb732a 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -10323,6 +10323,7 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = {
{"flagm", AARCH64_FEATURE (FLAGM), AARCH64_NO_FEATURES},
{"flagm2", AARCH64_FEATURE (FLAGMANIP), AARCH64_FEATURE (FLAGM)},
{"pauth", AARCH64_FEATURE (PAC), AARCH64_NO_FEATURES},
+ {"xs", AARCH64_FEATURE (XS), AARCH64_NO_FEATURES},
{"wfxt", AARCH64_FEATURE (WFXT), AARCH64_NO_FEATURES},
{"mops", AARCH64_FEATURE (MOPS), AARCH64_NO_FEATURES},
{"hbc", AARCH64_FEATURE (HBC), AARCH64_NO_FEATURES},
diff --git a/gas/testsuite/gas/aarch64/system-4.d b/gas/testsuite/gas/aarch64/system-4.d
index 0f600f8..5673436 100644
--- a/gas/testsuite/gas/aarch64/system-4.d
+++ b/gas/testsuite/gas/aarch64/system-4.d
@@ -14,3 +14,11 @@ Disassembly of section \.text:
.*: d503363f dsb nshnxs
.*: d5033a3f dsb ishnxs
.*: d5033e3f dsb synxs
+.*: d503323f dsb oshnxs
+.*: d503363f dsb nshnxs
+.*: d5033a3f dsb ishnxs
+.*: d5033e3f dsb synxs
+.*: d503323f dsb oshnxs
+.*: d503363f dsb nshnxs
+.*: d5033a3f dsb ishnxs
+.*: d5033e3f dsb synxs
diff --git a/gas/testsuite/gas/aarch64/system-4.s b/gas/testsuite/gas/aarch64/system-4.s
index f95eb35..fbf92ca 100644
--- a/gas/testsuite/gas/aarch64/system-4.s
+++ b/gas/testsuite/gas/aarch64/system-4.s
@@ -10,3 +10,15 @@
dsb nshnxs
dsb ishnxs
dsb synxs
+
+.arch armv8-a+xs
+
+ dsb #16
+ dsb #20
+ dsb #24
+ dsb #28
+
+ dsb oshnxs
+ dsb nshnxs
+ dsb ishnxs
+ dsb synxs