[PATCH v1] aarch64: Add the missing tests for TLBI <operation> vmallws2e1
Srinath Parvathaneni
srinath.parvathaneni@arm.com
Fri Jan 30 15:15:36 GMT 2026
In the support for FEAT_TLBID feature patch, few <operation>
are added to the aarch64_sys_regs_tlbi table, and that patch
was missing the tests for following <operation>, which are
covered in this patch.
* VMALLWS2E1
* VMALLWS2E1IS
* VMALLWS2E1OS
* VMALLWS2E1NXS
* VMALLWS2E1ISNXS
* VMALLWS2E1OSNXS
Regression tested for aarch64-none-elf target and
found no regressions.
Ok for binutils-master?
Regards,
Srinath
---
gas/testsuite/gas/aarch64/tlbi-invalid-1.d | 2 +
gas/testsuite/gas/aarch64/tlbi-invalid-1.l | 37 ++++++++++++++++++
gas/testsuite/gas/aarch64/tlbi-invalid-1.s | 43 +++++++++++++++++++++
gas/testsuite/gas/aarch64/tlbi-vmallws2e1.d | 17 ++++++++
gas/testsuite/gas/aarch64/tlbi-vmallws2e1.s | 17 ++++++++
5 files changed, 116 insertions(+)
create mode 100644 gas/testsuite/gas/aarch64/tlbi-invalid-1.d
create mode 100644 gas/testsuite/gas/aarch64/tlbi-invalid-1.l
create mode 100644 gas/testsuite/gas/aarch64/tlbi-invalid-1.s
create mode 100644 gas/testsuite/gas/aarch64/tlbi-vmallws2e1.d
create mode 100644 gas/testsuite/gas/aarch64/tlbi-vmallws2e1.s
diff --git a/gas/testsuite/gas/aarch64/tlbi-invalid-1.d b/gas/testsuite/gas/aarch64/tlbi-invalid-1.d
new file mode 100644
index 00000000000..457bc91bf9d
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/tlbi-invalid-1.d
@@ -0,0 +1,2 @@
+#name: Negative TLBI test with Rt != 0b11111.
+#error_output: tlbi-invalid-1.l
diff --git a/gas/testsuite/gas/aarch64/tlbi-invalid-1.l b/gas/testsuite/gas/aarch64/tlbi-invalid-1.l
new file mode 100644
index 00000000000..e9f7aa84d99
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/tlbi-invalid-1.l
@@ -0,0 +1,37 @@
+.*: Assembler messages:
+.*: Error: selected processor does not support system register name 'alle1is'
+.*: Error: selected processor does not support system register name 'alle1os'
+.*: Error: extraneous register at operand 2 -- `tlbi alle1,x0'
+.*: Error: selected processor does not support system register name 'alle2is'
+.*: Error: selected processor does not support system register name 'alle2os'
+.*: Error: extraneous register at operand 2 -- `tlbi alle2,x0'
+.*: Error: extraneous register at operand 2 -- `tlbi alle3is,x0'
+.*: Error: extraneous register at operand 2 -- `tlbi alle3,x0'
+.*: Error: selected processor does not support system register name 'vmalle1os'
+.*: Error: selected processor does not support system register name 'vmalle1os'
+.*: Error: extraneous register at operand 2 -- `tlbi vmalle1,x0'
+.*: Error: selected processor does not support system register name 'vmalls12e1is'
+.*: Error: selected processor does not support system register name 'vmalls12e1os'
+.*: Error: extraneous register at operand 2 -- `tlbi vmalls12e1,x0'
+.*: Error: selected processor does not support system register name 'vmallws2e1is'
+.*: Error: selected processor does not support system register name 'vmallws2e1os'
+.*: Error: extraneous register at operand 2 -- `tlbi alle3os,x0'
+.*: Error: extraneous register at operand 2 -- `tlbi vmallws2e1,x0'
+.*: Error: selected processor does not support system register name 'alle1isnxs'
+.*: Error: selected processor does not support system register name 'alle1osnxs'
+.*: Error: extraneous register at operand 2 -- `tlbi alle1nxs,x0'
+.*: Error: selected processor does not support system register name 'alle2isnxs'
+.*: Error: selected processor does not support system register name 'alle2osnxs'
+.*: Error: extraneous register at operand 2 -- `tlbi alle2nxs,x0'
+.*: Error: extraneous register at operand 2 -- `tlbi alle3isnxs,x0'
+.*: Error: extraneous register at operand 2 -- `tlbi alle3nxs,x0'
+.*: Error: selected processor does not support system register name 'vmalle1osnxs'
+.*: Error: selected processor does not support system register name 'vmalle1osnxs'
+.*: Error: extraneous register at operand 2 -- `tlbi vmalle1nxs,x0'
+.*: Error: selected processor does not support system register name 'vmalls12e1isnxs'
+.*: Error: selected processor does not support system register name 'vmalls12e1osnxs'
+.*: Error: extraneous register at operand 2 -- `tlbi vmalls12e1nxs,x0'
+.*: Error: selected processor does not support system register name 'vmallws2e1isnxs'
+.*: Error: selected processor does not support system register name 'vmallws2e1osnxs'
+.*: Error: extraneous register at operand 2 -- `tlbi alle3osnxs,x0'
+.*: Error: extraneous register at operand 2 -- `tlbi vmallws2e1nxs,x0'
diff --git a/gas/testsuite/gas/aarch64/tlbi-invalid-1.s b/gas/testsuite/gas/aarch64/tlbi-invalid-1.s
new file mode 100644
index 00000000000..b95d6ddc9bd
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/tlbi-invalid-1.s
@@ -0,0 +1,43 @@
+.arch armv8-a
+TLBI alle1is, x0
+TLBI alle1os, x0
+TLBI alle1, x0
+TLBI alle2is, x0
+TLBI alle2os, x0
+TLBI alle2, x0
+TLBI alle3is, x0
+TLBI alle3, x0
+TLBI vmalle1os, x0
+TLBI vmalle1os, x0
+TLBI vmalle1, x0
+TLBI vmalls12e1is, x0
+TLBI vmalls12e1os, x0
+TLBI vmalls12e1, x0
+TLBI vmallws2e1is, x0
+TLBI vmallws2e1os, x0
+
+.arch armv9.4-a
+TLBI alle3os, x0
+TLBI vmallws2e1, x0
+
+.arch armv8-a+xs
+TLBI alle1isnxs, x0
+TLBI alle1osnxs, x0
+TLBI alle1nxs, x0
+TLBI alle2isnxs, x0
+TLBI alle2osnxs, x0
+TLBI alle2nxs, x0
+TLBI alle3isnxs, x0
+TLBI alle3nxs, x0
+TLBI vmalle1osnxs, x0
+TLBI vmalle1osnxs, x0
+TLBI vmalle1nxs, x0
+TLBI vmalls12e1isnxs, x0
+TLBI vmalls12e1osnxs, x0
+TLBI vmalls12e1nxs, x0
+TLBI vmallws2e1isnxs, x0
+TLBI vmallws2e1osnxs, x0
+
+.arch armv9.4-a+xs
+TLBI alle3osnxs, x0
+TLBI vmallws2e1nxs, x0
diff --git a/gas/testsuite/gas/aarch64/tlbi-vmallws2e1.d b/gas/testsuite/gas/aarch64/tlbi-vmallws2e1.d
new file mode 100644
index 00000000000..f9d903ed802
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/tlbi-vmallws2e1.d
@@ -0,0 +1,17 @@
+#objdump: -dr
+[^:]+: file format .*
+
+
+[^:]+:
+
+[^:]+:
+.*: d50c867f tlbi vmallws2e1
+.*: d50c825f tlbi vmallws2e1is
+.*: d50c855f tlbi vmallws2e1os
+.*: d50c967f tlbi vmallws2e1nxs
+.*: d50c925f tlbi vmallws2e1isnxs
+.*: d50c955f tlbi vmallws2e1osnxs
+.*: d50c8240 tlbi vmallws2e1is, x0
+.*: d50c8540 tlbi vmallws2e1os, x0
+.*: d50c9240 tlbi vmallws2e1isnxs, x0
+.*: d50c9540 tlbi vmallws2e1osnxs, x0
diff --git a/gas/testsuite/gas/aarch64/tlbi-vmallws2e1.s b/gas/testsuite/gas/aarch64/tlbi-vmallws2e1.s
new file mode 100644
index 00000000000..8ecceb56c11
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/tlbi-vmallws2e1.s
@@ -0,0 +1,17 @@
+ .arch armv8.4-a
+ TLBI VMALLWS2E1
+ TLBI VMALLWS2E1IS
+ TLBI VMALLWS2E1OS
+
+ .arch armv8.4-a+xs
+ TLBI VMALLWS2E1NXS
+ TLBI VMALLWS2E1ISNXS
+ TLBI VMALLWS2E1OSNXS
+
+ .arch armv8.4-a+tlbid
+ TLBI VMALLWS2E1IS, x0
+ TLBI VMALLWS2E1OS, x0
+
+ .arch armv8.4-a+tlbid+xs
+ TLBI VMALLWS2E1ISNXS, x0
+ TLBI VMALLWS2E1OSNXS, x0
--
2.25.1
More information about the Binutils
mailing list