This is the mail archive of the
binutils-cvs@sourceware.org
mailing list for the binutils project.
[binutils-gdb] [AArch64][SVE 32/32] Add SVE tests
- From: Richard Sandiford <rsandifo at sourceware dot org>
- To: bfd-cvs at sourceware dot org
- Date: 21 Sep 2016 16:06:27 -0000
- Subject: [binutils-gdb] [AArch64][SVE 32/32] Add SVE tests
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=bc33f5f961b18a0a8303924f7bc6140730ec006a
commit bc33f5f961b18a0a8303924f7bc6140730ec006a
Author: Richard Sandiford <richard.sandiford@arm.com>
Date: Wed Sep 21 16:59:07 2016 +0100
[AArch64][SVE 32/32] Add SVE tests
This patch adds new tests for SVE. It also extends diagnostic.[sl] with
checks for some inappropriate uses of MUL and MUL VL in base AArch64
instructions.
gas/testsuite/
* gas/aarch64/diagnostic.s, gas/aarch64/diagnostic.l: Add tests for
invalid uses of MUL VL and MUL in base AArch64 instructions.
* gas/aarch64/sve-add.s, gas/aarch64/sve-add.d, gas/aarch64/sve-dup.s,
gas/aarch64/sve-dup.d, gas/aarch64/sve-invalid.s,
gas/aarch64/sve-invalid.d, gas/aarch64/sve-invalid.l,
gas/aarch64/sve-reg-diagnostic.s, gas/aarch64/sve-reg-diagnostic.d,
gas/aarch64/sve-reg-diagnostic.l, gas/aarch64/sve.s,
gas/aarch64/sve.d: New tests.
Diff:
---
gas/testsuite/ChangeLog | 11 +
gas/testsuite/gas/aarch64/diagnostic.l | 14 +
gas/testsuite/gas/aarch64/diagnostic.s | 17 +
gas/testsuite/gas/aarch64/sve-add.d | 151 +
gas/testsuite/gas/aarch64/sve-add.s | 149 +
gas/testsuite/gas/aarch64/sve-dup.d | 161 +
gas/testsuite/gas/aarch64/sve-dup.s | 159 +
gas/testsuite/gas/aarch64/sve-invalid.d | 4 +
gas/testsuite/gas/aarch64/sve-invalid.l | 944 +
gas/testsuite/gas/aarch64/sve-invalid.s | 1163 +
gas/testsuite/gas/aarch64/sve-reg-diagnostic.d | 3 +
gas/testsuite/gas/aarch64/sve-reg-diagnostic.l | 24 +
gas/testsuite/gas/aarch64/sve-reg-diagnostic.s | 143 +
gas/testsuite/gas/aarch64/sve.d | 38238 ++++++++++++++++++++++
gas/testsuite/gas/aarch64/sve.s | 38247 +++++++++++++++++++++++
15 files changed, 79428 insertions(+)
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
new file mode 100644
index 0000000..8499684
--- /dev/null
+++ b/gas/testsuite/ChangeLog
@@ -0,0 +1,11 @@
+2016-09-21 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gas/aarch64/diagnostic.s, gas/aarch64/diagnostic.l: Add tests for
+ invalid uses of MUL VL and MUL in base AArch64 instructions.
+ * gas/aarch64/sve-add.s, gas/aarch64/sve-add.d, gas/aarch64/sve-dup.s,
+ gas/aarch64/sve-dup.d, gas/aarch64/sve-invalid.s,
+ gas/aarch64/sve-invalid.d, gas/aarch64/sve-invalid.l,
+ gas/aarch64/sve-reg-diagnostic.s, gas/aarch64/sve-reg-diagnostic.d,
+ gas/aarch64/sve-reg-diagnostic.l, gas/aarch64/sve.s,
+ gas/aarch64/sve.d: New tests.
+
diff --git a/gas/testsuite/gas/aarch64/diagnostic.l b/gas/testsuite/gas/aarch64/diagnostic.l
index 0fb4db9..f8bbbc2 100644
--- a/gas/testsuite/gas/aarch64/diagnostic.l
+++ b/gas/testsuite/gas/aarch64/diagnostic.l
@@ -158,3 +158,17 @@
[^:]*:276: Error: invalid addressing mode at operand 3 -- `ldnp x1,x2,\[x3\],x4'
[^:]*:278: Error: invalid addressing mode at operand 2 -- `stuminl x0,\[x3\],x4'
[^:]*:279: Error: invalid addressing mode at operand 2 -- `prfum pldl1keep,\[x3\],x4'
+[^:]*:281: Error: '\]' expected at operand 2 -- `ldr x0,\[x1,#1,mul vl\]'
+[^:]*:282: Error: invalid use of 'MUL' at operand 2 -- `ldr x0,\[x1,x2,mul vl\]'
+[^:]*:283: Error: invalid use of 'MUL' at operand 2 -- `ldr x0,\[x1,x2,mul#1\]'
+[^:]*:284: Error: invalid use of 'MUL' at operand 2 -- `ldr x0,\[x1,x2,mul#4\]'
+[^:]*:286: Error: invalid use of 'MUL' at operand 2 -- `strb w7,\[x30,x0,mul\]'
+[^:]*:287: Error: invalid use of 'MUL' at operand 2 -- `strb w7,\[x30,x0,mul#1\]'
+[^:]*:288: Error: invalid use of 'MUL' at operand 2 -- `strb w7,\[x30,w0,mul\]'
+[^:]*:289: Error: invalid use of 'MUL' at operand 2 -- `strb w7,\[x30,w0,mul#2\]'
+[^:]*:291: Error: invalid use of 'MUL' at operand 3 -- `adds x1,sp,1,mul#1'
+[^:]*:292: Error: invalid use of 'MUL' at operand 3 -- `adds x1,sp,2,mul#255'
+[^:]*:293: Error: invalid use of 'MUL' at operand 3 -- `adds x1,sp,3,mul#256'
+[^:]*:294: Error: invalid use of 'MUL' at operand 4 -- `orr x0,x0,#0xff,mul#1'
+[^:]*:295: Error: invalid use of 'MUL' at operand 4 -- `orr x0,x0,#0xfe,mul#255'
+[^:]*:296: Error: invalid use of 'MUL' at operand 4 -- `orr x0,x0,#0xfc,mul#256'
diff --git a/gas/testsuite/gas/aarch64/diagnostic.s b/gas/testsuite/gas/aarch64/diagnostic.s
index a9cd124..7974bc2 100644
--- a/gas/testsuite/gas/aarch64/diagnostic.s
+++ b/gas/testsuite/gas/aarch64/diagnostic.s
@@ -277,3 +277,20 @@
ld1 {v0.4s}, [x3], x4 // OK
stuminl x0, [x3], x4
prfum pldl1keep, [x3], x4
+
+ ldr x0, [x1, #1, mul vl]
+ ldr x0, [x1, x2, mul vl]
+ ldr x0, [x1, x2, mul #1]
+ ldr x0, [x1, x2, mul #4]
+
+ strb w7, [x30, x0, mul]
+ strb w7, [x30, x0, mul #1]
+ strb w7, [x30, w0, mul]
+ strb w7, [x30, w0, mul #2]
+
+ adds x1, sp, 1, mul #1
+ adds x1, sp, 2, mul #255
+ adds x1, sp, 3, mul #256
+ orr x0, x0, #0xff, mul #1
+ orr x0, x0, #0xfe, mul #255
+ orr x0, x0, #0xfc, mul #256
diff --git a/gas/testsuite/gas/aarch64/sve-add.d b/gas/testsuite/gas/aarch64/sve-add.d
new file mode 100644
index 0000000..2141a05
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sve-add.d
@@ -0,0 +1,151 @@
+#as: -march=armv8-a+sve
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section .*:
+
+0+ <.*>:
+.*: 2520c020 add z0\.b, z0\.b, #1
+.*: 2520cfe0 add z0\.b, z0\.b, #127
+.*: 2520d000 add z0\.b, z0\.b, #128
+.*: 2520d020 add z0\.b, z0\.b, #129
+.*: 2520dfe0 add z0\.b, z0\.b, #255
+.*: 2520c000 add z0\.b, z0\.b, #0
+.*: 2520c020 add z0\.b, z0\.b, #1
+.*: 2520cfe0 add z0\.b, z0\.b, #127
+.*: 2520d000 add z0\.b, z0\.b, #128
+.*: 2520dfe0 add z0\.b, z0\.b, #255
+.*: 2560e000 add z0\.h, z0\.h, #0, lsl #8
+.*: 2560c020 add z0\.h, z0\.h, #1
+.*: 2560cfe0 add z0\.h, z0\.h, #127
+.*: 2560d000 add z0\.h, z0\.h, #128
+.*: 2560d020 add z0\.h, z0\.h, #129
+.*: 2560dfe0 add z0\.h, z0\.h, #255
+.*: 2560e020 add z0\.h, z0\.h, #256
+.*: 2560efe0 add z0\.h, z0\.h, #32512
+.*: 2560f000 add z0\.h, z0\.h, #32768
+.*: 2560f020 add z0\.h, z0\.h, #33024
+.*: 2560c000 add z0\.h, z0\.h, #0
+.*: 2560c020 add z0\.h, z0\.h, #1
+.*: 2560cfe0 add z0\.h, z0\.h, #127
+.*: 2560d000 add z0\.h, z0\.h, #128
+.*: 2560d020 add z0\.h, z0\.h, #129
+.*: 2560dfe0 add z0\.h, z0\.h, #255
+.*: 2560e020 add z0\.h, z0\.h, #256
+.*: 2560efe0 add z0\.h, z0\.h, #32512
+.*: 2560f000 add z0\.h, z0\.h, #32768
+.*: 2560f020 add z0\.h, z0\.h, #33024
+.*: 2560ffe0 add z0\.h, z0\.h, #65280
+.*: 2560e020 add z0\.h, z0\.h, #256
+.*: 2560efe0 add z0\.h, z0\.h, #32512
+.*: 2560f000 add z0\.h, z0\.h, #32768
+.*: 2560f020 add z0\.h, z0\.h, #33024
+.*: 2560ffe0 add z0\.h, z0\.h, #65280
+.*: 2560e000 add z0\.h, z0\.h, #0, lsl #8
+.*: 2560e020 add z0\.h, z0\.h, #256
+.*: 2560efe0 add z0\.h, z0\.h, #32512
+.*: 2560f000 add z0\.h, z0\.h, #32768
+.*: 2560ffe0 add z0\.h, z0\.h, #65280
+.*: 25a0c000 add z0\.s, z0\.s, #0
+.*: 25a0c020 add z0\.s, z0\.s, #1
+.*: 25a0cfe0 add z0\.s, z0\.s, #127
+.*: 25a0d000 add z0\.s, z0\.s, #128
+.*: 25a0d020 add z0\.s, z0\.s, #129
+.*: 25a0dfe0 add z0\.s, z0\.s, #255
+.*: 25a0e020 add z0\.s, z0\.s, #256
+.*: 25a0efe0 add z0\.s, z0\.s, #32512
+.*: 25a0f000 add z0\.s, z0\.s, #32768
+.*: 25a0ffe0 add z0\.s, z0\.s, #65280
+.*: 25a0e000 add z0\.s, z0\.s, #0, lsl #8
+.*: 25a0e020 add z0\.s, z0\.s, #256
+.*: 25a0efe0 add z0\.s, z0\.s, #32512
+.*: 25a0f000 add z0\.s, z0\.s, #32768
+.*: 25a0ffe0 add z0\.s, z0\.s, #65280
+.*: 25e0c000 add z0\.d, z0\.d, #0
+.*: 25e0c020 add z0\.d, z0\.d, #1
+.*: 25e0cfe0 add z0\.d, z0\.d, #127
+.*: 25e0d000 add z0\.d, z0\.d, #128
+.*: 25e0d020 add z0\.d, z0\.d, #129
+.*: 25e0dfe0 add z0\.d, z0\.d, #255
+.*: 25e0e020 add z0\.d, z0\.d, #256
+.*: 25e0efe0 add z0\.d, z0\.d, #32512
+.*: 25e0f000 add z0\.d, z0\.d, #32768
+.*: 25e0ffe0 add z0\.d, z0\.d, #65280
+.*: 25e0e000 add z0\.d, z0\.d, #0, lsl #8
+.*: 25e0e020 add z0\.d, z0\.d, #256
+.*: 25e0efe0 add z0\.d, z0\.d, #32512
+.*: 25e0f000 add z0\.d, z0\.d, #32768
+.*: 25e0ffe0 add z0\.d, z0\.d, #65280
+.*: 2521c020 sub z0\.b, z0\.b, #1
+.*: 2521cfe0 sub z0\.b, z0\.b, #127
+.*: 2521d000 sub z0\.b, z0\.b, #128
+.*: 2521d020 sub z0\.b, z0\.b, #129
+.*: 2521dfe0 sub z0\.b, z0\.b, #255
+.*: 2521c000 sub z0\.b, z0\.b, #0
+.*: 2521c020 sub z0\.b, z0\.b, #1
+.*: 2521cfe0 sub z0\.b, z0\.b, #127
+.*: 2521d000 sub z0\.b, z0\.b, #128
+.*: 2521dfe0 sub z0\.b, z0\.b, #255
+.*: 2561e000 sub z0\.h, z0\.h, #0, lsl #8
+.*: 2561c020 sub z0\.h, z0\.h, #1
+.*: 2561cfe0 sub z0\.h, z0\.h, #127
+.*: 2561d000 sub z0\.h, z0\.h, #128
+.*: 2561d020 sub z0\.h, z0\.h, #129
+.*: 2561dfe0 sub z0\.h, z0\.h, #255
+.*: 2561e020 sub z0\.h, z0\.h, #256
+.*: 2561efe0 sub z0\.h, z0\.h, #32512
+.*: 2561f000 sub z0\.h, z0\.h, #32768
+.*: 2561f020 sub z0\.h, z0\.h, #33024
+.*: 2561c000 sub z0\.h, z0\.h, #0
+.*: 2561c020 sub z0\.h, z0\.h, #1
+.*: 2561cfe0 sub z0\.h, z0\.h, #127
+.*: 2561d000 sub z0\.h, z0\.h, #128
+.*: 2561d020 sub z0\.h, z0\.h, #129
+.*: 2561dfe0 sub z0\.h, z0\.h, #255
+.*: 2561e020 sub z0\.h, z0\.h, #256
+.*: 2561efe0 sub z0\.h, z0\.h, #32512
+.*: 2561f000 sub z0\.h, z0\.h, #32768
+.*: 2561f020 sub z0\.h, z0\.h, #33024
+.*: 2561ffe0 sub z0\.h, z0\.h, #65280
+.*: 2561e020 sub z0\.h, z0\.h, #256
+.*: 2561efe0 sub z0\.h, z0\.h, #32512
+.*: 2561f000 sub z0\.h, z0\.h, #32768
+.*: 2561f020 sub z0\.h, z0\.h, #33024
+.*: 2561ffe0 sub z0\.h, z0\.h, #65280
+.*: 2561e000 sub z0\.h, z0\.h, #0, lsl #8
+.*: 2561e020 sub z0\.h, z0\.h, #256
+.*: 2561efe0 sub z0\.h, z0\.h, #32512
+.*: 2561f000 sub z0\.h, z0\.h, #32768
+.*: 2561ffe0 sub z0\.h, z0\.h, #65280
+.*: 25a1c000 sub z0\.s, z0\.s, #0
+.*: 25a1c020 sub z0\.s, z0\.s, #1
+.*: 25a1cfe0 sub z0\.s, z0\.s, #127
+.*: 25a1d000 sub z0\.s, z0\.s, #128
+.*: 25a1d020 sub z0\.s, z0\.s, #129
+.*: 25a1dfe0 sub z0\.s, z0\.s, #255
+.*: 25a1e020 sub z0\.s, z0\.s, #256
+.*: 25a1efe0 sub z0\.s, z0\.s, #32512
+.*: 25a1f000 sub z0\.s, z0\.s, #32768
+.*: 25a1ffe0 sub z0\.s, z0\.s, #65280
+.*: 25a1e000 sub z0\.s, z0\.s, #0, lsl #8
+.*: 25a1e020 sub z0\.s, z0\.s, #256
+.*: 25a1efe0 sub z0\.s, z0\.s, #32512
+.*: 25a1f000 sub z0\.s, z0\.s, #32768
+.*: 25a1ffe0 sub z0\.s, z0\.s, #65280
+.*: 25e1c000 sub z0\.d, z0\.d, #0
+.*: 25e1c020 sub z0\.d, z0\.d, #1
+.*: 25e1cfe0 sub z0\.d, z0\.d, #127
+.*: 25e1d000 sub z0\.d, z0\.d, #128
+.*: 25e1d020 sub z0\.d, z0\.d, #129
+.*: 25e1dfe0 sub z0\.d, z0\.d, #255
+.*: 25e1e020 sub z0\.d, z0\.d, #256
+.*: 25e1efe0 sub z0\.d, z0\.d, #32512
+.*: 25e1f000 sub z0\.d, z0\.d, #32768
+.*: 25e1ffe0 sub z0\.d, z0\.d, #65280
+.*: 25e1e000 sub z0\.d, z0\.d, #0, lsl #8
+.*: 25e1e020 sub z0\.d, z0\.d, #256
+.*: 25e1efe0 sub z0\.d, z0\.d, #32512
+.*: 25e1f000 sub z0\.d, z0\.d, #32768
+.*: 25e1ffe0 sub z0\.d, z0\.d, #65280
diff --git a/gas/testsuite/gas/aarch64/sve-add.s b/gas/testsuite/gas/aarch64/sve-add.s
new file mode 100644
index 0000000..6d26ffd
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sve-add.s
@@ -0,0 +1,149 @@
+ add z0.b, z0.b, #-255
+ add z0.b, z0.b, #-129
+ add z0.b, z0.b, #-128
+ add z0.b, z0.b, #-127
+ add z0.b, z0.b, #-1
+ add z0.b, z0.b, #0
+ add z0.b, z0.b, #1
+ add z0.b, z0.b, #127
+ add z0.b, z0.b, #128
+ add z0.b, z0.b, #255
+
+ add z0.h, z0.h, #-65536
+ add z0.h, z0.h, #-65535
+ add z0.h, z0.h, #-65536 + 127
+ add z0.h, z0.h, #-65536 + 128
+ add z0.h, z0.h, #-65536 + 129
+ add z0.h, z0.h, #-65536 + 255
+ add z0.h, z0.h, #-65536 + 256
+ add z0.h, z0.h, #-32768 - 256
+ add z0.h, z0.h, #-32768
+ add z0.h, z0.h, #-32768 + 256
+ add z0.h, z0.h, #0
+ add z0.h, z0.h, #1
+ add z0.h, z0.h, #127
+ add z0.h, z0.h, #128
+ add z0.h, z0.h, #129
+ add z0.h, z0.h, #255
+ add z0.h, z0.h, #256
+ add z0.h, z0.h, #32768 - 256
+ add z0.h, z0.h, #32768
+ add z0.h, z0.h, #32768 + 256
+ add z0.h, z0.h, #65536 - 256
+ add z0.h, z0.h, #-255, lsl #8
+ add z0.h, z0.h, #-129, lsl #8
+ add z0.h, z0.h, #-128, lsl #8
+ add z0.h, z0.h, #-127, lsl #8
+ add z0.h, z0.h, #-1, lsl #8
+ add z0.h, z0.h, #0, lsl #8
+ add z0.h, z0.h, #1, lsl #8
+ add z0.h, z0.h, #127, lsl #8
+ add z0.h, z0.h, #128, lsl #8
+ add z0.h, z0.h, #255, lsl #8
+
+ add z0.s, z0.s, #0
+ add z0.s, z0.s, #1
+ add z0.s, z0.s, #127
+ add z0.s, z0.s, #128
+ add z0.s, z0.s, #129
+ add z0.s, z0.s, #255
+ add z0.s, z0.s, #256
+ add z0.s, z0.s, #0x7f00
+ add z0.s, z0.s, #0x8000
+ add z0.s, z0.s, #0xff00
+ add z0.s, z0.s, #0, lsl #8
+ add z0.s, z0.s, #1, lsl #8
+ add z0.s, z0.s, #127, lsl #8
+ add z0.s, z0.s, #128, lsl #8
+ add z0.s, z0.s, #255, lsl #8
+
+ add z0.d, z0.d, #0
+ add z0.d, z0.d, #1
+ add z0.d, z0.d, #127
+ add z0.d, z0.d, #128
+ add z0.d, z0.d, #129
+ add z0.d, z0.d, #255
+ add z0.d, z0.d, #256
+ add z0.d, z0.d, #0x7f00
+ add z0.d, z0.d, #0x8000
+ add z0.d, z0.d, #0xff00
+ add z0.d, z0.d, #0, lsl #8
+ add z0.d, z0.d, #1, lsl #8
+ add z0.d, z0.d, #127, lsl #8
+ add z0.d, z0.d, #128, lsl #8
+ add z0.d, z0.d, #255, lsl #8
+
+ sub z0.b, z0.b, #-255
+ sub z0.b, z0.b, #-129
+ sub z0.b, z0.b, #-128
+ sub z0.b, z0.b, #-127
+ sub z0.b, z0.b, #-1
+ sub z0.b, z0.b, #0
+ sub z0.b, z0.b, #1
+ sub z0.b, z0.b, #127
+ sub z0.b, z0.b, #128
+ sub z0.b, z0.b, #255
+
+ sub z0.h, z0.h, #-65536
+ sub z0.h, z0.h, #-65535
+ sub z0.h, z0.h, #-65536 + 127
+ sub z0.h, z0.h, #-65536 + 128
+ sub z0.h, z0.h, #-65536 + 129
+ sub z0.h, z0.h, #-65536 + 255
+ sub z0.h, z0.h, #-65536 + 256
+ sub z0.h, z0.h, #-32768 - 256
+ sub z0.h, z0.h, #-32768
+ sub z0.h, z0.h, #-32768 + 256
+ sub z0.h, z0.h, #0
+ sub z0.h, z0.h, #1
+ sub z0.h, z0.h, #127
+ sub z0.h, z0.h, #128
+ sub z0.h, z0.h, #129
+ sub z0.h, z0.h, #255
+ sub z0.h, z0.h, #256
+ sub z0.h, z0.h, #32768 - 256
+ sub z0.h, z0.h, #32768
+ sub z0.h, z0.h, #32768 + 256
+ sub z0.h, z0.h, #65536 - 256
+ sub z0.h, z0.h, #-255, lsl #8
+ sub z0.h, z0.h, #-129, lsl #8
+ sub z0.h, z0.h, #-128, lsl #8
+ sub z0.h, z0.h, #-127, lsl #8
+ sub z0.h, z0.h, #-1, lsl #8
+ sub z0.h, z0.h, #0, lsl #8
+ sub z0.h, z0.h, #1, lsl #8
+ sub z0.h, z0.h, #127, lsl #8
+ sub z0.h, z0.h, #128, lsl #8
+ sub z0.h, z0.h, #255, lsl #8
+
+ sub z0.s, z0.s, #0
+ sub z0.s, z0.s, #1
+ sub z0.s, z0.s, #127
+ sub z0.s, z0.s, #128
+ sub z0.s, z0.s, #129
+ sub z0.s, z0.s, #255
+ sub z0.s, z0.s, #256
+ sub z0.s, z0.s, #0x7f00
+ sub z0.s, z0.s, #0x8000
+ sub z0.s, z0.s, #0xff00
+ sub z0.s, z0.s, #0, lsl #8
+ sub z0.s, z0.s, #1, lsl #8
+ sub z0.s, z0.s, #127, lsl #8
+ sub z0.s, z0.s, #128, lsl #8
+ sub z0.s, z0.s, #255, lsl #8
+
+ sub z0.d, z0.d, #0
+ sub z0.d, z0.d, #1
+ sub z0.d, z0.d, #127
+ sub z0.d, z0.d, #128
+ sub z0.d, z0.d, #129
+ sub z0.d, z0.d, #255
+ sub z0.d, z0.d, #256
+ sub z0.d, z0.d, #0x7f00
+ sub z0.d, z0.d, #0x8000
+ sub z0.d, z0.d, #0xff00
+ sub z0.d, z0.d, #0, lsl #8
+ sub z0.d, z0.d, #1, lsl #8
+ sub z0.d, z0.d, #127, lsl #8
+ sub z0.d, z0.d, #128, lsl #8
+ sub z0.d, z0.d, #255, lsl #8
diff --git a/gas/testsuite/gas/aarch64/sve-dup.d b/gas/testsuite/gas/aarch64/sve-dup.d
new file mode 100644
index 0000000..3289f89
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sve-dup.d
@@ -0,0 +1,161 @@
+#as: -march=armv8-a+sve
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section .*:
+
+0+ <.*>:
+.*: 2538c020 mov z0\.b, #1
+.*: 2538cfe0 mov z0\.b, #127
+.*: 2538d000 mov z0\.b, #-128
+.*: 2538d020 mov z0\.b, #-127
+.*: 2538dfe0 mov z0\.b, #-1
+.*: 2538c000 mov z0\.b, #0
+.*: 2538c020 mov z0\.b, #1
+.*: 2538cfe0 mov z0\.b, #127
+.*: 2538d000 mov z0\.b, #-128
+.*: 2538dfe0 mov z0\.b, #-1
+.*: 2578c020 mov z0\.h, #1
+.*: 2578cfe0 mov z0\.h, #127
+.*: 2578e020 mov z0\.h, #256
+.*: 2578f000 mov z0\.h, #-32768
+.*: 2578f020 mov z0\.h, #-32512
+.*: 2578d000 mov z0\.h, #-128
+.*: 2578d020 mov z0\.h, #-127
+.*: 2578dfe0 mov z0\.h, #-1
+.*: 2578c000 mov z0\.h, #0
+.*: 2578c020 mov z0\.h, #1
+.*: 2578cfe0 mov z0\.h, #127
+.*: 2578e020 mov z0\.h, #256
+.*: 2578efe0 mov z0\.h, #32512
+.*: 2578f000 mov z0\.h, #-32768
+.*: 2578ffe0 mov z0\.h, #-256
+.*: 2578d000 mov z0\.h, #-128
+.*: 2578d020 mov z0\.h, #-127
+.*: 2578dfe0 mov z0\.h, #-1
+.*: 2578e020 mov z0\.h, #256
+.*: 2578efe0 mov z0\.h, #32512
+.*: 2578f000 mov z0\.h, #-32768
+.*: 2578f020 mov z0\.h, #-32512
+.*: 2578ffe0 mov z0\.h, #-256
+.*: 2578e000 mov z0\.h, #0, lsl #8
+.*: 2578e020 mov z0\.h, #256
+.*: 2578efe0 mov z0\.h, #32512
+.*: 2578f000 mov z0\.h, #-32768
+.*: 2578ffe0 mov z0\.h, #-256
+.*: 25b8f000 mov z0\.s, #-32768
+.*: 25b8f020 mov z0\.s, #-32512
+.*: 25b8d000 mov z0\.s, #-128
+.*: 25b8d020 mov z0\.s, #-127
+.*: 25b8dfe0 mov z0\.s, #-1
+.*: 25b8c000 mov z0\.s, #0
+.*: 25b8c020 mov z0\.s, #1
+.*: 25b8cfe0 mov z0\.s, #127
+.*: 25b8e020 mov z0\.s, #256
+.*: 25b8efe0 mov z0\.s, #32512
+.*: 25b8d000 mov z0\.s, #-128
+.*: 25b8d020 mov z0\.s, #-127
+.*: 25b8dfe0 mov z0\.s, #-1
+.*: 25b8f000 mov z0\.s, #-32768
+.*: 25b8f020 mov z0\.s, #-32512
+.*: 25b8ffe0 mov z0\.s, #-256
+.*: 25b8e000 mov z0\.s, #0, lsl #8
+.*: 25b8e020 mov z0\.s, #256
+.*: 25b8efe0 mov z0\.s, #32512
+.*: 25f8f000 mov z0\.d, #-32768
+.*: 25f8f020 mov z0\.d, #-32512
+.*: 25f8d000 mov z0\.d, #-128
+.*: 25f8d020 mov z0\.d, #-127
+.*: 25f8dfe0 mov z0\.d, #-1
+.*: 25f8c000 mov z0\.d, #0
+.*: 25f8c020 mov z0\.d, #1
+.*: 25f8cfe0 mov z0\.d, #127
+.*: 25f8e020 mov z0\.d, #256
+.*: 25f8efe0 mov z0\.d, #32512
+.*: 25f8d000 mov z0\.d, #-128
+.*: 25f8d020 mov z0\.d, #-127
+.*: 25f8dfe0 mov z0\.d, #-1
+.*: 25f8f000 mov z0\.d, #-32768
+.*: 25f8f020 mov z0\.d, #-32512
+.*: 25f8ffe0 mov z0\.d, #-256
+.*: 25f8e000 mov z0\.d, #0, lsl #8
+.*: 25f8e020 mov z0\.d, #256
+.*: 25f8efe0 mov z0\.d, #32512
+.*: 2538c020 mov z0\.b, #1
+.*: 2538cfe0 mov z0\.b, #127
+.*: 2538d000 mov z0\.b, #-128
+.*: 2538d020 mov z0\.b, #-127
+.*: 2538dfe0 mov z0\.b, #-1
+.*: 2538c000 mov z0\.b, #0
+.*: 2538c020 mov z0\.b, #1
+.*: 2538cfe0 mov z0\.b, #127
+.*: 2538d000 mov z0\.b, #-128
+.*: 2538dfe0 mov z0\.b, #-1
+.*: 2578c020 mov z0\.h, #1
+.*: 2578cfe0 mov z0\.h, #127
+.*: 2578e020 mov z0\.h, #256
+.*: 2578f000 mov z0\.h, #-32768
+.*: 2578f020 mov z0\.h, #-32512
+.*: 2578d000 mov z0\.h, #-128
+.*: 2578d020 mov z0\.h, #-127
+.*: 2578dfe0 mov z0\.h, #-1
+.*: 2578c000 mov z0\.h, #0
+.*: 2578c020 mov z0\.h, #1
+.*: 2578cfe0 mov z0\.h, #127
+.*: 2578e020 mov z0\.h, #256
+.*: 2578efe0 mov z0\.h, #32512
+.*: 2578f000 mov z0\.h, #-32768
+.*: 2578ffe0 mov z0\.h, #-256
+.*: 2578d000 mov z0\.h, #-128
+.*: 2578d020 mov z0\.h, #-127
+.*: 2578dfe0 mov z0\.h, #-1
+.*: 2578e020 mov z0\.h, #256
+.*: 2578efe0 mov z0\.h, #32512
+.*: 2578f000 mov z0\.h, #-32768
+.*: 2578f020 mov z0\.h, #-32512
+.*: 2578ffe0 mov z0\.h, #-256
+.*: 2578e000 mov z0\.h, #0, lsl #8
+.*: 2578e020 mov z0\.h, #256
+.*: 2578efe0 mov z0\.h, #32512
+.*: 2578f000 mov z0\.h, #-32768
+.*: 2578ffe0 mov z0\.h, #-256
+.*: 25b8f000 mov z0\.s, #-32768
+.*: 25b8f020 mov z0\.s, #-32512
+.*: 25b8d000 mov z0\.s, #-128
+.*: 25b8d020 mov z0\.s, #-127
+.*: 25b8dfe0 mov z0\.s, #-1
+.*: 25b8c000 mov z0\.s, #0
+.*: 25b8c020 mov z0\.s, #1
+.*: 25b8cfe0 mov z0\.s, #127
+.*: 25b8e020 mov z0\.s, #256
+.*: 25b8efe0 mov z0\.s, #32512
+.*: 25b8d000 mov z0\.s, #-128
+.*: 25b8d020 mov z0\.s, #-127
+.*: 25b8dfe0 mov z0\.s, #-1
+.*: 25b8f000 mov z0\.s, #-32768
+.*: 25b8f020 mov z0\.s, #-32512
+.*: 25b8ffe0 mov z0\.s, #-256
+.*: 25b8e000 mov z0\.s, #0, lsl #8
+.*: 25b8e020 mov z0\.s, #256
+.*: 25b8efe0 mov z0\.s, #32512
+.*: 25f8f000 mov z0\.d, #-32768
+.*: 25f8f020 mov z0\.d, #-32512
+.*: 25f8d000 mov z0\.d, #-128
+.*: 25f8d020 mov z0\.d, #-127
+.*: 25f8dfe0 mov z0\.d, #-1
+.*: 25f8c000 mov z0\.d, #0
+.*: 25f8c020 mov z0\.d, #1
+.*: 25f8cfe0 mov z0\.d, #127
+.*: 25f8e020 mov z0\.d, #256
+.*: 25f8efe0 mov z0\.d, #32512
+.*: 25f8d000 mov z0\.d, #-128
+.*: 25f8d020 mov z0\.d, #-127
+.*: 25f8dfe0 mov z0\.d, #-1
+.*: 25f8f000 mov z0\.d, #-32768
+.*: 25f8f020 mov z0\.d, #-32512
+.*: 25f8ffe0 mov z0\.d, #-256
+.*: 25f8e000 mov z0\.d, #0, lsl #8
+.*: 25f8e020 mov z0\.d, #256
+.*: 25f8efe0 mov z0\.d, #32512
diff --git a/gas/testsuite/gas/aarch64/sve-dup.s b/gas/testsuite/gas/aarch64/sve-dup.s
new file mode 100644
index 0000000..1d9e4d0
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sve-dup.s
@@ -0,0 +1,159 @@
+ dup z0.b, #-255
+ dup z0.b, #-129
+ dup z0.b, #-128
+ dup z0.b, #-127
+ dup z0.b, #-1
+ dup z0.b, #0
+ dup z0.b, #1
+ dup z0.b, #127
+ dup z0.b, #128
+ dup z0.b, #255
+
+ dup z0.h, #-65535
+ dup z0.h, #-65536 + 127
+ dup z0.h, #-65536 + 256
+ dup z0.h, #-32768
+ dup z0.h, #-32768 + 256
+ dup z0.h, #-128
+ dup z0.h, #-127
+ dup z0.h, #-1
+ dup z0.h, #0
+ dup z0.h, #1
+ dup z0.h, #127
+ dup z0.h, #256
+ dup z0.h, #32768 - 256
+ dup z0.h, #32768
+ dup z0.h, #65536 - 256
+ dup z0.h, #65536 - 128
+ dup z0.h, #65536 - 127
+ dup z0.h, #65535
+ dup z0.h, #-255, lsl #8
+ dup z0.h, #-129, lsl #8
+ dup z0.h, #-128, lsl #8
+ dup z0.h, #-127, lsl #8
+ dup z0.h, #-1, lsl #8
+ dup z0.h, #0, lsl #8
+ dup z0.h, #1, lsl #8
+ dup z0.h, #127, lsl #8
+ dup z0.h, #128, lsl #8
+ dup z0.h, #255, lsl #8
+
+ dup z0.s, #-32768
+ dup z0.s, #-32768 + 256
+ dup z0.s, #-128
+ dup z0.s, #-127
+ dup z0.s, #-1
+ dup z0.s, #0
+ dup z0.s, #1
+ dup z0.s, #127
+ dup z0.s, #256
+ dup z0.s, #32768 - 256
+ dup z0.s, #0xffffff80
+ dup z0.s, #0xffffff81
+ dup z0.s, #0xffffffff
+ dup z0.s, #-128, lsl #8
+ dup z0.s, #-127, lsl #8
+ dup z0.s, #-1, lsl #8
+ dup z0.s, #0, lsl #8
+ dup z0.s, #1, lsl #8
+ dup z0.s, #127, lsl #8
+
+ dup z0.d, #-32768
+ dup z0.d, #-32768 + 256
+ dup z0.d, #-128
+ dup z0.d, #-127
+ dup z0.d, #-1
+ dup z0.d, #0
+ dup z0.d, #1
+ dup z0.d, #127
+ dup z0.d, #256
+ dup z0.d, #32768 - 256
+ dup z0.d, #0xffffffffffffff80
+ dup z0.d, #0xffffffffffffff81
+ dup z0.d, #0xffffffffffffffff
+ dup z0.d, #-128, lsl #8
+ dup z0.d, #-127, lsl #8
+ dup z0.d, #-1, lsl #8
+ dup z0.d, #0, lsl #8
+ dup z0.d, #1, lsl #8
+ dup z0.d, #127, lsl #8
+
+ mov z0.b, #-255
+ mov z0.b, #-129
+ mov z0.b, #-128
+ mov z0.b, #-127
+ mov z0.b, #-1
+ mov z0.b, #0
+ mov z0.b, #1
+ mov z0.b, #127
+ mov z0.b, #128
+ mov z0.b, #255
+
+ mov z0.h, #-65535
+ mov z0.h, #-65536 + 127
+ mov z0.h, #-65536 + 256
+ mov z0.h, #-32768
+ mov z0.h, #-32768 + 256
+ mov z0.h, #-128
+ mov z0.h, #-127
+ mov z0.h, #-1
+ mov z0.h, #0
+ mov z0.h, #1
+ mov z0.h, #127
+ mov z0.h, #256
+ mov z0.h, #32768 - 256
+ mov z0.h, #32768
+ mov z0.h, #65536 - 256
+ mov z0.h, #65536 - 128
+ mov z0.h, #65536 - 127
+ mov z0.h, #65535
+ mov z0.h, #-255, lsl #8
+ mov z0.h, #-129, lsl #8
+ mov z0.h, #-128, lsl #8
+ mov z0.h, #-127, lsl #8
+ mov z0.h, #-1, lsl #8
+ mov z0.h, #0, lsl #8
+ mov z0.h, #1, lsl #8
+ mov z0.h, #127, lsl #8
+ mov z0.h, #128, lsl #8
+ mov z0.h, #255, lsl #8
+
+ mov z0.s, #-32768
+ mov z0.s, #-32768 + 256
+ mov z0.s, #-128
+ mov z0.s, #-127
+ mov z0.s, #-1
+ mov z0.s, #0
+ mov z0.s, #1
+ mov z0.s, #127
+ mov z0.s, #256
+ mov z0.s, #32768 - 256
+ mov z0.s, #0xffffff80
+ mov z0.s, #0xffffff81
+ mov z0.s, #0xffffffff
+ mov z0.s, #-128, lsl #8
+ mov z0.s, #-127, lsl #8
+ mov z0.s, #-1, lsl #8
+ mov z0.s, #0, lsl #8
+ mov z0.s, #1, lsl #8
+ mov z0.s, #127, lsl #8
+
+ mov z0.d, #-32768
+ mov z0.d, #-32768 + 256
+ mov z0.d, #-128
+ mov z0.d, #-127
+ mov z0.d, #-1
+ mov z0.d, #0
+ mov z0.d, #1
+ mov z0.d, #127
+ mov z0.d, #256
+ mov z0.d, #32768 - 256
+ mov z0.d, #0xffffffffffffff80
+ mov z0.d, #0xffffffffffffff81
+ mov z0.d, #0xffffffffffffffff
+ mov z0.d, #-128, lsl #8
+ mov z0.d, #-127, lsl #8
+ mov z0.d, #-1, lsl #8
+ mov z0.d, #0, lsl #8
+ mov z0.d, #1, lsl #8
+ mov z0.d, #127, lsl #8
diff --git a/gas/testsuite/gas/aarch64/sve-invalid.d b/gas/testsuite/gas/aarch64/sve-invalid.d
new file mode 100644
index 0000000..961b55d
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sve-invalid.d
@@ -0,0 +1,4 @@
+#name: Invalid SVE instructions
+#as: -march=armv8-a+sve
+#source: sve-invalid.s
+#error-output: sve-invalid.l
diff --git a/gas/testsuite/gas/aarch64/sve-invalid.l b/gas/testsuite/gas/aarch64/sve-invalid.l
new file mode 100644
index 0000000..1cb06c5
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sve-invalid.l
@@ -0,0 +1,944 @@
+[^:]*: Assembler messages:
+.*: Error: operand 2 should be an SVE predicate register -- `fmov z1,z2'
+.*: Error: operand mismatch -- `fmov z1,#1\.0'
+.*: Info: did you mean this\?
+.*: Info: fmov z1\.s,#1\.000000000000000000e\+00
+.*: Info: other valid variant\(s\):
+.*: Info: fmov z1\.d,#1\.000000000000000000e\+00
+.*: Error: operand mismatch -- `fmov z1,#0\.0'
+.*: Info: did you mean this\?
+.*: Info: fmov z1\.s,#0\.0
+.*: Info: other valid variant\(s\):
+.*: Info: fmov z1\.d,#0\.0
+.*: Error: missing predication type at operand 2 -- `not z0\.s,p1/'
+.*: Error: missing predication type at operand 2 -- `not z0\.s,p1/,z2\.s'
+.*: Error: unexpected character `c' in predication type at operand 2 -- `not z0\.s,p1/c,z2\.s'
+.*: Error: operand mismatch -- `movprfx z0\.h,z1\.h'
+.*: Info: did you mean this\?
+.*: Info: movprfx z0,z1
+.*: Error: operand mismatch -- `movprfx z0,z1\.h'
+.*: Info: did you mean this\?
+.*: Info: movprfx z0,z1
+.*: Error: operand mismatch -- `movprfx z0\.h,z1'
+.*: Info: did you mean this\?
+.*: Info: movprfx z0,z1
+.*: Error: operand mismatch -- `movprfx z0\.h,z1\.s'
+.*: Info: did you mean this\?
+.*: Info: movprfx z0,z1
+.*: Error: operand mismatch -- `movprfx z0,p1/m,z1'
+.*: Info: did you mean this\?
+.*: Info: movprfx z0\.b,p1/m,z1\.b
+.*: Info: other valid variant\(s\):
+.*: Info: movprfx z0\.b,p1/z,z1\.b
+.*: Info: movprfx z0\.h,p1/z,z1\.h
+.*: Info: movprfx z0\.h,p1/m,z1\.h
+.*: Info: movprfx z0\.s,p1/z,z1\.s
+.*: Info: movprfx z0\.s,p1/m,z1\.s
+.*: Info: movprfx z0\.d,p1/z,z1\.d
+.*: Info: movprfx z0\.d,p1/m,z1\.d
+.*: Error: operand mismatch -- `movprfx z0,p1/z,z1'
+.*: Info: did you mean this\?
+.*: Info: movprfx z0\.b,p1/z,z1\.b
+.*: Info: other valid variant\(s\):
+.*: Info: movprfx z0\.b,p1/m,z1\.b
+.*: Info: movprfx z0\.h,p1/z,z1\.h
+.*: Info: movprfx z0\.h,p1/m,z1\.h
+.*: Info: movprfx z0\.s,p1/z,z1\.s
+.*: Info: movprfx z0\.s,p1/m,z1\.s
+.*: Info: movprfx z0\.d,p1/z,z1\.d
+.*: Info: movprfx z0\.d,p1/m,z1\.d
+.*: Error: operand mismatch -- `movprfx z0\.b,p1/m,z1'
+.*: Info: did you mean this\?
+.*: Info: movprfx z0\.b,p1/m,z1\.b
+.*: Info: other valid variant\(s\):
+.*: Info: movprfx z0\.b,p1/z,z1\.b
+.*: Info: movprfx z0\.h,p1/z,z1\.h
+.*: Info: movprfx z0\.h,p1/m,z1\.h
+.*: Info: movprfx z0\.s,p1/z,z1\.s
+.*: Info: movprfx z0\.s,p1/m,z1\.s
+.*: Info: movprfx z0\.d,p1/z,z1\.d
+.*: Info: movprfx z0\.d,p1/m,z1\.d
+.*: Error: operand mismatch -- `movprfx z0\.b,p1/z,z1'
+.*: Info: did you mean this\?
+.*: Info: movprfx z0\.b,p1/z,z1\.b
+.*: Info: other valid variant\(s\):
+.*: Info: movprfx z0\.b,p1/m,z1\.b
+.*: Info: movprfx z0\.h,p1/z,z1\.h
+.*: Info: movprfx z0\.h,p1/m,z1\.h
+.*: Info: movprfx z0\.s,p1/z,z1\.s
+.*: Info: movprfx z0\.s,p1/m,z1\.s
+.*: Info: movprfx z0\.d,p1/z,z1\.d
+.*: Info: movprfx z0\.d,p1/m,z1\.d
+.*: Error: operand mismatch -- `movprfx z0,p1/m,z1\.b'
+.*: Info: did you mean this\?
+.*: Info: movprfx z0\.b,p1/m,z1\.b
+.*: Info: other valid variant\(s\):
+.*: Info: movprfx z0\.b,p1/z,z1\.b
+.*: Info: movprfx z0\.h,p1/z,z1\.h
+.*: Info: movprfx z0\.h,p1/m,z1\.h
+.*: Info: movprfx z0\.s,p1/z,z1\.s
+.*: Info: movprfx z0\.s,p1/m,z1\.s
+.*: Info: movprfx z0\.d,p1/z,z1\.d
+.*: Info: movprfx z0\.d,p1/m,z1\.d
+.*: Error: operand mismatch -- `movprfx z0,p1/z,z1\.b'
+.*: Info: did you mean this\?
+.*: Info: movprfx z0\.b,p1/z,z1\.b
+.*: Info: other valid variant\(s\):
+.*: Info: movprfx z0\.b,p1/m,z1\.b
+.*: Info: movprfx z0\.h,p1/z,z1\.h
+.*: Info: movprfx z0\.h,p1/m,z1\.h
+.*: Info: movprfx z0\.s,p1/z,z1\.s
+.*: Info: movprfx z0\.s,p1/m,z1\.s
+.*: Info: movprfx z0\.d,p1/z,z1\.d
+.*: Info: movprfx z0\.d,p1/m,z1\.d
+.*: Error: operand mismatch -- `movprfx z0\.h,p1/m,z1\.b'
+.*: Info: did you mean this\?
+.*: Info: movprfx z0\.b,p1/m,z1\.b
+.*: Info: other valid variant\(s\):
+.*: Info: movprfx z0\.b,p1/z,z1\.b
+.*: Info: movprfx z0\.h,p1/z,z1\.h
+.*: Info: movprfx z0\.h,p1/m,z1\.h
+.*: Info: movprfx z0\.s,p1/z,z1\.s
+.*: Info: movprfx z0\.s,p1/m,z1\.s
+.*: Info: movprfx z0\.d,p1/z,z1\.d
+.*: Info: movprfx z0\.d,p1/m,z1\.d
+.*: Error: operand mismatch -- `movprfx z0\.h,p1/z,z1\.b'
+.*: Info: did you mean this\?
+.*: Info: movprfx z0\.b,p1/z,z1\.b
+.*: Info: other valid variant\(s\):
+.*: Info: movprfx z0\.b,p1/m,z1\.b
+.*: Info: movprfx z0\.h,p1/z,z1\.h
+.*: Info: movprfx z0\.h,p1/m,z1\.h
+.*: Info: movprfx z0\.s,p1/z,z1\.s
+.*: Info: movprfx z0\.s,p1/m,z1\.s
+.*: Info: movprfx z0\.d,p1/z,z1\.d
+.*: Info: movprfx z0\.d,p1/m,z1\.d
+.*: Error: operand mismatch -- `movprfx z0\.b,p1,z1\.b'
+.*: Info: did you mean this\?
+.*: Info: movprfx z0\.b,p1/z,z1\.b
+.*: Info: other valid variant\(s\):
+.*: Info: movprfx z0\.b,p1/m,z1\.b
+.*: Info: movprfx z0\.h,p1/z,z1\.h
+.*: Info: movprfx z0\.h,p1/m,z1\.h
+.*: Info: movprfx z0\.s,p1/z,z1\.s
+.*: Info: movprfx z0\.s,p1/m,z1\.s
+.*: Info: movprfx z0\.d,p1/z,z1\.d
+.*: Info: movprfx z0\.d,p1/m,z1\.d
+.*: Error: operand 1 should be an SVE vector register -- `movprfx p0,p1'
+.*: Error: operand mismatch -- `ldr p0\.b,\[x1\]'
+.*: Info: did you mean this\?
+.*: Info: ldr p0,\[x1\]
+.*: Error: operand mismatch -- `ldr z0\.b,\[x1\]'
+.*: Info: did you mean this\?
+.*: Info: ldr z0,\[x1\]
+.*: Error: operand mismatch -- `str p0\.b,\[x1\]'
+.*: Info: did you mean this\?
+.*: Info: str p0,\[x1\]
+.*: Error: operand mismatch -- `str z0\.b,\[x1\]'
+.*: Info: did you mean this\?
+.*: Info: str z0,\[x1\]
+.*: Error: operand mismatch -- `mov z0,b0'
+.*: Info: did you mean this\?
+.*: Info: mov z0\.b,b0
+.*: Info: other valid variant\(s\):
+.*: Info: mov z0\.h,h0
+.*: Info: mov z0\.s,s0
+.*: Info: mov z0\.d,d0
+.*: Error: operand mismatch -- `mov z0,z1'
+.*: Info: did you mean this\?
+.*: Info: mov z0\.d,z1\.d
+.*: Error: operand mismatch -- `mov p0,p1'
+.*: Info: did you mean this\?
+.*: Info: mov p0\.b,p1\.b
+.*: Error: operand mismatch -- `add z0,z0,z2'
+.*: Info: did you mean this\?
+.*: Info: add z0\.b,z0\.b,z2\.b
+.*: Info: other valid variant\(s\):
+.*: Info: add z0\.h,z0\.h,z2\.h
+.*: Info: add z0\.s,z0\.s,z2\.s
+.*: Info: add z0\.d,z0\.d,z2\.d
+.*: Error: operand mismatch -- `add z0,z0,#2'
+.*: Info: did you mean this\?
+.*: Info: add z0\.b,z0\.b,#2
+.*: Info: other valid variant\(s\):
+.*: Info: add z0\.h,z0\.h,#2
+.*: Info: add z0\.s,z0\.s,#2
+.*: Info: add z0\.d,z0\.d,#2
+.*: Error: operand mismatch -- `add z0,z1,z2'
+.*: Info: did you mean this\?
+.*: Info: add z0\.b,z1\.b,z2\.b
+.*: Info: other valid variant\(s\):
+.*: Info: add z0\.h,z1\.h,z2\.h
+.*: Info: add z0\.s,z1\.s,z2\.s
+.*: Info: add z0\.d,z1\.d,z2\.d
+.*: Error: operand 2 must be the same register as operand 1 -- `add z0,z1,#1'
+.*: Error: operand 2 must be the same register as operand 1 -- `add z0\.b,z1\.b,#1'
+.*: Error: operand mismatch -- `add z0\.b,z0\.h,#1'
+.*: Info: did you mean this\?
+.*: Info: add z0\.b,z0\.b,#1
+.*: Info: other valid variant\(s\):
+.*: Info: add z0\.h,z0\.h,#1
+.*: Info: add z0\.s,z0\.s,#1
+.*: Info: add z0\.d,z0\.d,#1
+.*: Error: constant expression required at operand 2 -- `mov z0\.b,z32\.b'
+.*: Error: operand 2 should be an SVE predicate register -- `mov p0\.b,p16\.b'
+.*: Error: p0-p7 expected at operand 2 -- `cmpeq p0\.b,p8/z,z1\.b,z2\.b'
+.*: Error: p0-p7 expected at operand 2 -- `cmpeq p0\.b,p15/z,z1\.b,z2\.b'
+.*: Error: operand mismatch -- `ld1w z0\.s,p0,\[x0\]'
+.*: Info: did you mean this\?
+.*: Info: ld1w \{z0\.s\},p0/z,\[x0\]
+.*: Error: operand mismatch -- `ld1w z0\.s,p0/m,\[x0\]'
+.*: Info: did you mean this\?
+.*: Info: ld1w \{z0\.s\},p0/z,\[x0\]
+.*: Error: operand mismatch -- `cmpeq p0\.b,p0,z1\.b,z2\.b'
+.*: Info: did you mean this\?
+.*: Info: cmpeq p0\.b,p0/z,z1\.b,z2\.b
+.*: Info: other valid variant\(s\):
+.*: Info: cmpeq p0\.h,p0/z,z1\.h,z2\.h
+.*: Info: cmpeq p0\.s,p0/z,z1\.s,z2\.s
+.*: Info: cmpeq p0\.d,p0/z,z1\.d,z2\.d
+.*: Error: operand mismatch -- `cmpeq p0\.b,p0/m,z1\.b,z2\.b'
+.*: Info: did you mean this\?
+.*: Info: cmpeq p0\.b,p0/z,z1\.b,z2\.b
+.*: Info: other valid variant\(s\):
+.*: Info: cmpeq p0\.h,p0/z,z1\.h,z2\.h
+.*: Info: cmpeq p0\.s,p0/z,z1\.s,z2\.s
+.*: Info: cmpeq p0\.d,p0/z,z1\.d,z2\.d
+.*: Error: operand mismatch -- `add z0\.s,p0,z0\.s,z1\.s'
+.*: Info: did you mean this\?
+.*: Info: add z0\.s,p0/m,z0\.s,z1\.s
+.*: Info: other valid variant\(s\):
+.*: Info: add z0\.b,p0/m,z0\.b,z1\.b
+.*: Info: add z0\.h,p0/m,z0\.h,z1\.h
+.*: Info: add z0\.d,p0/m,z0\.d,z1\.d
+.*: Error: operand mismatch -- `add z0\.s,p0/z,z0\.s,z1\.s'
+.*: Info: did you mean this\?
+.*: Info: add z0\.s,p0/m,z0\.s,z1\.s
+.*: Info: other valid variant\(s\):
+.*: Info: add z0\.b,p0/m,z0\.b,z1\.b
+.*: Info: add z0\.h,p0/m,z0\.h,z1\.h
+.*: Info: add z0\.d,p0/m,z0\.d,z1\.d
+.*: Error: operand mismatch -- `st1w z0\.s,p0/z,\[x0\]'
+.*: Info: did you mean this\?
+.*: Info: st1w \{z0\.s\},p0,\[x0\]
+.*: Error: operand mismatch -- `st1w z0\.s,p0/m,\[x0\]'
+.*: Info: did you mean this\?
+.*: Info: st1w \{z0\.s\},p0,\[x0\]
+.*: Error: missing type suffix at operand 1 -- `ld1b z0,p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `ld1h z0,p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `ld1w z0,p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `ld1d z0,p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `ldff1b z0,p1/z,\[x1,xzr\]'
+.*: Error: missing type suffix at operand 1 -- `ldff1h z0,p1/z,\[x1,xzr,lsl#1\]'
+.*: Error: missing type suffix at operand 1 -- `ldff1w z0,p1/z,\[x1,xzr,lsl#2\]'
+.*: Error: missing type suffix at operand 1 -- `ldff1d z0,p1/z,\[x1,xzr,lsl#3\]'
+.*: Error: missing type suffix at operand 1 -- `ldnf1b z0,p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `ldnf1h z0,p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `ldnf1w z0,p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `ldnf1d z0,p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `ldnt1b z0,p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `ldnt1h z0,p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `ldnt1w z0,p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `ldnt1d z0,p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `st1b z0,p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `st1h z0,p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `st1w z0,p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `st1d z0,p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `stnt1b z0,p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `stnt1h z0,p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `stnt1w z0,p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `stnt1d z0,p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `ld1b {z0},p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `ld1h {z0},p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `ld1w {z0},p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `ld1d {z0},p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `ldff1b {z0},p1/z,\[x1,xzr\]'
+.*: Error: missing type suffix at operand 1 -- `ldff1h {z0},p1/z,\[x1,xzr,lsl#1\]'
+.*: Error: missing type suffix at operand 1 -- `ldff1w {z0},p1/z,\[x1,xzr,lsl#2\]'
+.*: Error: missing type suffix at operand 1 -- `ldff1d {z0},p1/z,\[x1,xzr,lsl#3\]'
+.*: Error: missing type suffix at operand 1 -- `ldnf1b {z0},p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `ldnf1h {z0},p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `ldnf1w {z0},p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `ldnf1d {z0},p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `ldnt1b {z0},p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `ldnt1h {z0},p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `ldnt1w {z0},p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `ldnt1d {z0},p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `st1b {z0},p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `st1h {z0},p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `st1w {z0},p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `st1d {z0},p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `stnt1b {z0},p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `stnt1h {z0},p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `stnt1w {z0},p1/z,\[x1\]'
+.*: Error: missing type suffix at operand 1 -- `stnt1d {z0},p1/z,\[x1\]'
+.*: Error: operand 1 should be a list of SVE vector registers -- `ld1b {x0},p1/z,\[x1\]'
+.*: Error: operand 1 should be a list of SVE vector registers -- `ld1b {b0},p1/z,\[x1\]'
+.*: Error: operand 1 should be a list of SVE vector registers -- `ld1b {h0},p1/z,\[x1\]'
+.*: Error: operand 1 should be a list of SVE vector registers -- `ld1b {s0},p1/z,\[x1\]'
+.*: Error: operand 1 should be a list of SVE vector registers -- `ld1b {d0},p1/z,\[x1\]'
+.*: Error: operand 1 should be a list of SVE vector registers -- `ld1b {v0\.2s},p1/z,\[x1\]'
+.*: Error: type mismatch in vector register list at operand 1 -- `ld2b {z0\.b,z1},p1/z,\[x1\]'
+.*: Error: type mismatch in vector register list at operand 1 -- `ld2b {z0\.b,z1\.h},p1/z,\[x1\]'
+.*: Error: type mismatch in vector register list at operand 1 -- `ld2b {z0\.b,z1\.s},p1/z,\[x1\]'
+.*: Error: type mismatch in vector register list at operand 1 -- `ld2b {z0\.b,z1\.d},p1/z,\[x1\]'
+.*: Error: type mismatch in vector register list at operand 1 -- `ld2b {z0\.h,z1},p1/z,\[x1\]'
+.*: Error: type mismatch in vector register list at operand 1 -- `ld2b {z0\.h,z1\.s},p1/z,\[x1\]'
+.*: Error: type mismatch in vector register list at operand 1 -- `ld2b {z0\.h,z1\.d},p1/z,\[x1\]'
+.*: Error: type mismatch in vector register list at operand 1 -- `ld2b {z0\.s,z1},p1/z,\[x1\]'
+.*: Error: type mismatch in vector register list at operand 1 -- `ld2b {z0\.s,z1\.d},p1/z,\[x1\]'
+.*: Error: type mismatch in vector register list at operand 1 -- `ld2b {z0\.d,z1},p1/z,\[x1\]'
+.*: Error: immediate offset out of range -8 to 7 at operand 3 -- `ld1b z0\.b,p1/z,\[x1,#-9,mul vl\]'
+.*: Error: only 'MUL VL' is permitted at operand 3 -- `ld1b z0\.b,p1/z,\[x1,#0,mul#1\]'
+.*: Error: '\]' expected at operand 3 -- `ld1b z0\.b,p1/z,\[x1,#0,mul vl#1\]'
+.*: Error: constant offset required at operand 3 -- `ld1b z0\.b,p1/z,\[x1,#foo,mul vl\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1b z0\.b,p1/z,\[x1,#1\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1b z0\.b,p1/z,\[x1,#7,mul vl\]!'
+.*: Error: immediate offset out of range -8 to 7 at operand 3 -- `ld1b z0\.b,p1/z,\[x1,#8,mul vl\]'
+.*: Error: immediate offset out of range -16 to 14 at operand 3 -- `ld2b \{z0\.b,z1\.b\},p1/z,\[x1,#-18,mul vl\]'
+.*: Error: immediate offset out of range -16 to 14 at operand 3 -- `ld2b \{z0\.b,z1\.b\},p1/z,\[x1,#-17,mul vl\]'
+.*: Error: constant offset required at operand 3 -- `ld2b \{z0\.b,z1\.b\},p1/z,\[x1,#foo,mul vl\]'
+.*: Error: immediate value should be a multiple of 2 at operand 3 -- `ld2b \{z0\.b,z1\.b\},p1/z,\[x1,#1,mul vl\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld2b \{z0\.b,z1\.b\},p1/z,\[x1,#14,mul vl\]!'
+.*: Error: immediate offset out of range -16 to 14 at operand 3 -- `ld2b \{z0\.b,z1\.b\},p1/z,\[x1,#16,mul vl\]'
+.*: Error: immediate offset out of range -24 to 21 at operand 3 -- `ld3b \{z0\.b-z2\.b\},p1/z,\[x1,#-27,mul vl\]'
+.*: Error: immediate offset out of range -24 to 21 at operand 3 -- `ld3b \{z0\.b-z2\.b\},p1/z,\[x1,#-26,mul vl\]'
+.*: Error: immediate offset out of range -24 to 21 at operand 3 -- `ld3b \{z0\.b-z2\.b\},p1/z,\[x1,#-25,mul vl\]'
+.*: Error: constant offset required at operand 3 -- `ld3b \{z0\.b-z2\.b\},p1/z,\[x1,#foo,mul vl\]'
+.*: Error: immediate value should be a multiple of 3 at operand 3 -- `ld3b \{z0\.b-z2\.b\},p1/z,\[x1,#1,mul vl\]'
+.*: Error: immediate value should be a multiple of 3 at operand 3 -- `ld3b \{z0\.b-z2\.b\},p1/z,\[x1,#2,mul vl\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld3b \{z0\.b-z2\.b\},p1/z,\[x1,#21,mul vl\]!'
+.*: Error: immediate offset out of range -24 to 21 at operand 3 -- `ld3b \{z0\.b-z2\.b\},p1/z,\[x1,#24,mul vl\]'
+.*: Error: immediate offset out of range -32 to 28 at operand 3 -- `ld4b \{z0\.b-z3\.b\},p1/z,\[x1,#-36,mul vl\]'
+.*: Error: immediate offset out of range -32 to 28 at operand 3 -- `ld4b \{z0\.b-z3\.b\},p1/z,\[x1,#-35,mul vl\]'
+.*: Error: immediate offset out of range -32 to 28 at operand 3 -- `ld4b \{z0\.b-z3\.b\},p1/z,\[x1,#-34,mul vl\]'
+.*: Error: immediate offset out of range -32 to 28 at operand 3 -- `ld4b \{z0\.b-z3\.b\},p1/z,\[x1,#-33,mul vl\]'
+.*: Error: constant offset required at operand 3 -- `ld4b \{z0\.b-z3\.b\},p1/z,\[x1,#foo,mul vl\]'
+.*: Error: immediate value should be a multiple of 4 at operand 3 -- `ld4b \{z0\.b-z3\.b\},p1/z,\[x1,#1,mul vl\]'
+.*: Error: immediate value should be a multiple of 4 at operand 3 -- `ld4b \{z0\.b-z3\.b\},p1/z,\[x1,#2,mul vl\]'
+.*: Error: immediate value should be a multiple of 4 at operand 3 -- `ld4b \{z0\.b-z3\.b\},p1/z,\[x1,#3,mul vl\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld4b \{z0\.b-z3\.b\},p1/z,\[x1,#28,mul vl\]!'
+.*: Error: immediate offset out of range -32 to 28 at operand 3 -- `ld4b \{z0\.b-z3\.b\},p1/z,\[x1,#32,mul vl\]'
+.*: Error: immediate offset out of range -32 to 31 at operand 3 -- `prfb pldl1keep,p1,\[x1,#-33,mul vl\]'
+.*: Error: constant offset required at operand 3 -- `prfb pldl1keep,p1,\[x1,#foo,mul vl\]'
+.*: Error: invalid addressing mode at operand 3 -- `prfb pldl1keep,p1,\[x1,#1\]'
+.*: Error: invalid addressing mode at operand 3 -- `prfb pldl1keep,p1,\[x1,#31,mul vl\]!'
+.*: Error: immediate offset out of range -32 to 31 at operand 3 -- `prfb pldl1keep,p1,\[x1,#32,mul vl\]'
+.*: Error: immediate offset out of range -256 to 255 at operand 2 -- `ldr z0,\[x1,#-257,mul vl\]'
+.*: Error: constant offset required at operand 2 -- `ldr z0,\[x1,#foo,mul vl\]'
+.*: Error: invalid addressing mode at operand 2 -- `ldr z0,\[x1,#1\]'
+.*: Error: invalid addressing mode at operand 2 -- `ldr z0,\[x1,#255,mul vl\]!'
+.*: Error: immediate offset out of range -256 to 255 at operand 2 -- `ldr z0,\[x1,#256,mul vl\]'
+.*: Error: immediate offset out of range 0 to 63 at operand 3 -- `ld1rb z0\.b,p1/z,\[x1,#-1\]'
+.*: Error: constant offset required at operand 3 -- `ld1rb z0\.b,p1/z,\[x1,#foo\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1rb z0\.b,p1/z,\[x1,#1,mul vl\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1rb z0\.b,p1/z,\[x1,#63\]!'
+.*: Error: invalid addressing mode at operand 3 -- `ld1rb z0\.b,p1/z,\[x1\],#63'
+.*: Error: immediate offset out of range 0 to 63 at operand 3 -- `ld1rb z0\.b,p1/z,\[x1,#64\]'
+.*: Error: immediate offset out of range 0 to 126 at operand 3 -- `ld1rh z0\.h,p1/z,\[x1,#-2\]'
+.*: Error: immediate offset out of range 0 to 126 at operand 3 -- `ld1rh z0\.h,p1/z,\[x1,#-1\]'
+.*: Error: constant offset required at operand 3 -- `ld1rh z0\.h,p1/z,\[x1,#foo\]'
+.*: Error: immediate value should be a multiple of 2 at operand 3 -- `ld1rh z0\.h,p1/z,\[x1,#1\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1rh z0\.h,p1/z,\[x1,#2,mul vl\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1rh z0\.h,p1/z,\[x1,#126\]!'
+.*: Error: invalid addressing mode at operand 3 -- `ld1rh z0\.h,p1/z,\[x1\],#126'
+.*: Error: immediate offset out of range 0 to 126 at operand 3 -- `ld1rh z0\.h,p1/z,\[x1,#128\]'
+.*: Error: immediate offset out of range 0 to 252 at operand 3 -- `ld1rw z0\.s,p1/z,\[x1,#-4\]'
+.*: Error: immediate offset out of range 0 to 252 at operand 3 -- `ld1rw z0\.s,p1/z,\[x1,#-1\]'
+.*: Error: constant offset required at operand 3 -- `ld1rw z0\.s,p1/z,\[x1,#foo\]'
+.*: Error: immediate value should be a multiple of 4 at operand 3 -- `ld1rw z0\.s,p1/z,\[x1,#1\]'
+.*: Error: immediate value should be a multiple of 4 at operand 3 -- `ld1rw z0\.s,p1/z,\[x1,#2\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1rw z0\.s,p1/z,\[x1,#4,mul vl\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1rw z0\.s,p1/z,\[x1,#252\]!'
+.*: Error: invalid addressing mode at operand 3 -- `ld1rw z0\.s,p1/z,\[x1\],#252'
+.*: Error: immediate offset out of range 0 to 252 at operand 3 -- `ld1rw z0\.s,p1/z,\[x1,#256\]'
+.*: Error: immediate offset out of range 0 to 504 at operand 3 -- `ld1rd z0\.d,p1/z,\[x1,#-8\]'
+.*: Error: immediate offset out of range 0 to 504 at operand 3 -- `ld1rd z0\.d,p1/z,\[x1,#-1\]'
+.*: Error: constant offset required at operand 3 -- `ld1rd z0\.d,p1/z,\[x1,#foo\]'
+.*: Error: immediate value should be a multiple of 8 at operand 3 -- `ld1rd z0\.d,p1/z,\[x1,#1\]'
+.*: Error: immediate value should be a multiple of 8 at operand 3 -- `ld1rd z0\.d,p1/z,\[x1,#2\]'
+.*: Error: immediate value should be a multiple of 8 at operand 3 -- `ld1rd z0\.d,p1/z,\[x1,#4\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1rd z0\.d,p1/z,\[x1,#8,mul vl\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1rd z0\.d,p1/z,\[x1,#504\]!'
+.*: Error: invalid addressing mode at operand 3 -- `ld1rd z0\.d,p1/z,\[x1\],#504'
+.*: Error: immediate offset out of range 0 to 504 at operand 3 -- `ld1rd z0\.d,p1/z,\[x1,#512\]'
+.*: Error: register offset not allowed in pre-indexed addressing mode at operand 3 -- `ld1b z0\.b,p1/z,\[x1,x2\]!'
+.*: Error: invalid addressing mode at operand 3 -- `ld1b z0\.b,p1/z,\[x1\],x2'
+.*: Error: invalid addressing mode at operand 3 -- `ld1b z0\.b,p1/z,\[x1,x2,lsl#1\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1b z0\.b,p1/z,\[x1,x2,lsl#2\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1b z0\.b,p1/z,\[x1,x2,lsl#3\]'
+.*: Error: constant shift amount required at operand 3 -- `ld1b z0\.b,p1/z,\[x1,x2,lsl x3\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1b z0\.b,p1/z,\[x1,w2,sxtw\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1b z0\.b,p1/z,\[x1,w2,uxtw\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1h z0\.h,p1/z,\[x1,x2\]'
+.*: Error: register offset not allowed in pre-indexed addressing mode at operand 3 -- `ld1h z0\.h,p1/z,\[x1,x2,lsl#1\]!'
+.*: Error: invalid addressing mode at operand 3 -- `ld1h z0\.h,p1/z,\[x1,x2,lsl#2\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1h z0\.h,p1/z,\[x1,x2,lsl#3\]'
+.*: Error: constant shift amount required at operand 3 -- `ld1h z0\.h,p1/z,\[x1,x2,lsl x3\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1h z0\.h,p1/z,\[x1,w2,sxtw\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1h z0\.h,p1/z,\[x1,w2,uxtw\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1w z0\.s,p1/z,\[x1,x2\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1w z0\.s,p1/z,\[x1,x2,lsl#1\]'
+.*: Error: register offset not allowed in pre-indexed addressing mode at operand 3 -- `ld1w z0\.s,p1/z,\[x1,x2,lsl#2\]!'
+.*: Error: invalid addressing mode at operand 3 -- `ld1w z0\.s,p1/z,\[x1,x2,lsl#3\]'
+.*: Error: constant shift amount required at operand 3 -- `ld1w z0\.s,p1/z,\[x1,x2,lsl x3\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1w z0\.s,p1/z,\[x1,w2,sxtw\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1w z0\.s,p1/z,\[x1,w2,uxtw\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1d z0\.d,p1/z,\[x1,x2\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1d z0\.d,p1/z,\[x1,x2,lsl#1\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1d z0\.d,p1/z,\[x1,x2,lsl#2\]'
+.*: Error: register offset not allowed in pre-indexed addressing mode at operand 3 -- `ld1d z0\.d,p1/z,\[x1,x2,lsl#3\]!'
+.*: Error: constant shift amount required at operand 3 -- `ld1d z0\.d,p1/z,\[x1,x2,lsl x3\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1d z0\.d,p1/z,\[x1,w2,sxtw\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1d z0\.d,p1/z,\[x1,w2,uxtw\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1b z0\.d,p1/z,\[x1,z2\.d,lsl#1\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1b z0\.d,p1/z,\[x1,z2\.d,lsl#2\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1b z0\.d,p1/z,\[x1,z2\.d,lsl#3\]'
+.*: Error: constant shift amount required at operand 3 -- `ld1b z0\.d,p1/z,\[x1,z2\.d,lsl x3\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1h z0\.d,p1/z,\[x1,z2\.d,lsl#2\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1h z0\.d,p1/z,\[x1,z2\.d,lsl#3\]'
+.*: Error: constant shift amount required at operand 3 -- `ld1h z0\.d,p1/z,\[x1,z2\.d,lsl x3\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1w z0\.d,p1/z,\[x1,z2\.d,lsl#1\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1w z0\.d,p1/z,\[x1,z2\.d,lsl#3\]'
+.*: Error: constant shift amount required at operand 3 -- `ld1w z0\.d,p1/z,\[x1,z2\.d,lsl x3\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1d z0\.d,p1/z,\[x1,z2\.d,lsl#1\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1d z0\.d,p1/z,\[x1,z2\.d,lsl#2\]'
+.*: Error: constant shift amount required at operand 3 -- `ld1d z0\.d,p1/z,\[x1,z2\.d,lsl x3\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1b z0\.s,p1/z,\[x1,z2\.s,sxtw#1\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1b z0\.s,p1/z,\[x1,z2\.s,sxtw#2\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1b z0\.s,p1/z,\[x1,z2\.s,sxtw#3\]'
+.*: Error: constant shift amount required at operand 3 -- `ld1b z0\.s,p1/z,\[x1,z2\.s,sxtw x3\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1h z0\.s,p1/z,\[x1,z2\.s,sxtw#2\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1h z0\.s,p1/z,\[x1,z2\.s,sxtw#3\]'
+.*: Error: constant shift amount required at operand 3 -- `ld1h z0\.s,p1/z,\[x1,z2\.s,sxtw x3\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1w z0\.s,p1/z,\[x1,z2\.s,sxtw#1\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1w z0\.s,p1/z,\[x1,z2\.s,sxtw#3\]'
+.*: Error: constant shift amount required at operand 3 -- `ld1w z0\.s,p1/z,\[x1,z2\.s,sxtw x3\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1b z0\.s,p1/z,\[x1,z2\.s,uxtw#1\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1b z0\.s,p1/z,\[x1,z2\.s,uxtw#2\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1b z0\.s,p1/z,\[x1,z2\.s,uxtw#3\]'
+.*: Error: constant shift amount required at operand 3 -- `ld1b z0\.s,p1/z,\[x1,z2\.s,uxtw x3\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1h z0\.s,p1/z,\[x1,z2\.s,uxtw#2\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1h z0\.s,p1/z,\[x1,z2\.s,uxtw#3\]'
+.*: Error: constant shift amount required at operand 3 -- `ld1h z0\.s,p1/z,\[x1,z2\.s,uxtw x3\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1w z0\.s,p1/z,\[x1,z2\.s,uxtw#1\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1w z0\.s,p1/z,\[x1,z2\.s,uxtw#3\]'
+.*: Error: constant shift amount required at operand 3 -- `ld1w z0\.s,p1/z,\[x1,z2\.s,uxtw x3\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1b z0\.d,p1/z,\[x1,z2\.d,sxtw#1\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1b z0\.d,p1/z,\[x1,z2\.d,sxtw#2\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1b z0\.d,p1/z,\[x1,z2\.d,sxtw#3\]'
+.*: Error: constant shift amount required at operand 3 -- `ld1b z0\.d,p1/z,\[x1,z2\.d,sxtw x3\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1h z0\.d,p1/z,\[x1,z2\.d,sxtw#2\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1h z0\.d,p1/z,\[x1,z2\.d,sxtw#3\]'
+.*: Error: constant shift amount required at operand 3 -- `ld1h z0\.d,p1/z,\[x1,z2\.d,sxtw x3\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1w z0\.d,p1/z,\[x1,z2\.d,sxtw#1\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1w z0\.d,p1/z,\[x1,z2\.d,sxtw#3\]'
+.*: Error: constant shift amount required at operand 3 -- `ld1w z0\.d,p1/z,\[x1,z2\.d,sxtw x3\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1d z0\.d,p1/z,\[x1,z2\.d,sxtw#1\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1d z0\.d,p1/z,\[x1,z2\.d,sxtw#2\]'
+.*: Error: constant shift amount required at operand 3 -- `ld1d z0\.d,p1/z,\[x1,z2\.d,sxtw x3\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1b z0\.d,p1/z,\[x1,z2\.d,uxtw#1\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1b z0\.d,p1/z,\[x1,z2\.d,uxtw#2\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1b z0\.d,p1/z,\[x1,z2\.d,uxtw#3\]'
+.*: Error: constant shift amount required at operand 3 -- `ld1b z0\.d,p1/z,\[x1,z2\.d,uxtw x3\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1h z0\.d,p1/z,\[x1,z2\.d,uxtw#2\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1h z0\.d,p1/z,\[x1,z2\.d,uxtw#3\]'
+.*: Error: constant shift amount required at operand 3 -- `ld1h z0\.d,p1/z,\[x1,z2\.d,uxtw x3\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1w z0\.d,p1/z,\[x1,z2\.d,uxtw#1\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1w z0\.d,p1/z,\[x1,z2\.d,uxtw#3\]'
+.*: Error: constant shift amount required at operand 3 -- `ld1w z0\.d,p1/z,\[x1,z2\.d,uxtw x3\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1d z0\.d,p1/z,\[x1,z2\.d,uxtw#1\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1d z0\.d,p1/z,\[x1,z2\.d,uxtw#2\]'
+.*: Error: constant shift amount required at operand 3 -- `ld1d z0\.d,p1/z,\[x1,z2\.d,uxtw x3\]'
+.*: Error: immediate offset out of range 0 to 31 at operand 3 -- `ld1b z0\.d,p1/z,\[z2\.d,#-1\]'
+.*: Error: constant offset required at operand 3 -- `ld1b z0\.d,p1/z,\[z2\.d,#foo\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1b z0\.d,p1/z,\[z2\.d,#1,mul vl\]'
+.*: Error: immediate offset out of range 0 to 31 at operand 3 -- `ld1b z0\.d,p1/z,\[z2\.d,#32\]'
+.*: Error: immediate offset out of range 0 to 62 at operand 3 -- `ld1h z0\.d,p1/z,\[z2\.d,#-2\]'
+.*: Error: immediate offset out of range 0 to 62 at operand 3 -- `ld1h z0\.d,p1/z,\[z2\.d,#-1\]'
+.*: Error: constant offset required at operand 3 -- `ld1h z0\.d,p1/z,\[z2\.d,#foo\]'
+.*: Error: immediate value should be a multiple of 2 at operand 3 -- `ld1h z0\.d,p1/z,\[z2\.d,#1\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1h z0\.d,p1/z,\[z2\.d,#2,mul vl\]'
+.*: Error: immediate offset out of range 0 to 62 at operand 3 -- `ld1h z0\.d,p1/z,\[z2\.d,#64\]'
+.*: Error: immediate offset out of range 0 to 124 at operand 3 -- `ld1w z0\.d,p1/z,\[z2\.d,#-4\]'
+.*: Error: immediate offset out of range 0 to 124 at operand 3 -- `ld1w z0\.d,p1/z,\[z2\.d,#-1\]'
+.*: Error: constant offset required at operand 3 -- `ld1w z0\.d,p1/z,\[z2\.d,#foo\]'
+.*: Error: immediate value should be a multiple of 4 at operand 3 -- `ld1w z0\.d,p1/z,\[z2\.d,#1\]'
+.*: Error: immediate value should be a multiple of 4 at operand 3 -- `ld1w z0\.d,p1/z,\[z2\.d,#2\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1w z0\.d,p1/z,\[z2\.d,#4,mul vl\]'
+.*: Error: immediate offset out of range 0 to 124 at operand 3 -- `ld1w z0\.d,p1/z,\[z2\.d,#128\]'
+.*: Error: immediate offset out of range 0 to 248 at operand 3 -- `ld1d z0\.d,p1/z,\[z2\.d,#-8\]'
+.*: Error: immediate offset out of range 0 to 248 at operand 3 -- `ld1d z0\.d,p1/z,\[z2\.d,#-1\]'
+.*: Error: constant offset required at operand 3 -- `ld1d z0\.d,p1/z,\[z2\.d,#foo\]'
+.*: Error: immediate value should be a multiple of 8 at operand 3 -- `ld1d z0\.d,p1/z,\[z2\.d,#1\]'
+.*: Error: immediate value should be a multiple of 8 at operand 3 -- `ld1d z0\.d,p1/z,\[z2\.d,#2\]'
+.*: Error: immediate value should be a multiple of 8 at operand 3 -- `ld1d z0\.d,p1/z,\[z2\.d,#4\]'
+.*: Error: invalid addressing mode at operand 3 -- `ld1d z0\.d,p1/z,\[z2\.d,#8,mul vl\]'
+.*: Error: immediate offset out of range 0 to 248 at operand 3 -- `ld1d z0\.d,p1/z,\[z2\.d,#256\]'
+.*: Error: shift amount out of range 0 to 63 at operand 2 -- `adr z0\.s,\[z1\.s,z2\.s,lsl#-1\]'
+.*: Error: invalid addressing mode at operand 2 -- `adr z0\.s,\[z1\.s,z2\.s,lsl#4\]'
+.*: Error: constant shift amount required at operand 2 -- `adr z0\.s,\[z1\.s,z2\.s,lsl x3\]'
+.*: Error: offset has different size from base at operand 2 -- `adr z0\.s,\[z1\.s,z2\.d\]'
+.*: Error: offset has different size from base at operand 2 -- `adr z0\.s,\[z1\.s,x2\]'
+.*: Error: offset has different size from base at operand 2 -- `adr z0\.s,\[z1\.d,z2\.s\]'
+.*: Error: invalid use of 32-bit register offset at operand 2 -- `adr z0\.s,\[z1\.d,w2\]'
+.*: Error: offset has different size from base at operand 2 -- `adr z0\.s,\[x1,z2\.s\]'
+.*: Error: invalid addressing mode at operand 2 -- `adr z0\.s,\[x1,z2\.d\]'
+.*: Error: invalid addressing mode at operand 2 -- `adr z0\.s,\[z1\.d,x2\]'
+.*: Error: invalid addressing mode at operand 2 -- `adr z0\.s,\[x1,x2\]'
+.*: Error: shift amount out of range 0 to 63 at operand 2 -- `adr z0\.d,\[z1\.d,z2\.d,lsl#-1\]'
+.*: Error: invalid addressing mode at operand 2 -- `adr z0\.d,\[z1\.d,z2\.d,lsl#4\]'
+.*: Error: constant shift amount required at operand 2 -- `adr z0\.d,\[z1\.d,z2\.d,lsl x3\]'
+.*: Error: invalid addressing mode at operand 2 -- `adr z0\.s,\[z1\.s,z2\.s,sxtw\]'
+.*: Error: shift amount out of range 0 to 63 at operand 2 -- `adr z0\.d,\[z1\.d,z2\.d,sxtw#-1\]'
+.*: Error: invalid addressing mode at operand 2 -- `adr z0\.d,\[z1\.d,z2\.d,sxtw#4\]'
+.*: Error: constant shift amount required at operand 2 -- `adr z0\.d,\[z1\.d,z2\.d,sxtw x3\]'
+.*: Error: invalid addressing mode at operand 2 -- `adr z0\.s,\[z1\.s,z2\.s,uxtw\]'
+.*: Error: shift amount out of range 0 to 63 at operand 2 -- `adr z0\.d,\[z1\.d,z2\.d,uxtw#-1\]'
+.*: Error: invalid addressing mode at operand 2 -- `adr z0\.d,\[z1\.d,z2\.d,uxtw#4\]'
+.*: Error: constant shift amount required at operand 2 -- `adr z0\.d,\[z1\.d,z2\.d,uxtw x3\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ld1b z0\.b,p0/z,\[x1,xzr\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ld1b z0\.h,p0/z,\[x1,xzr\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ld1b z0\.s,p0/z,\[x1,xzr\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ld1b z0\.d,p0/z,\[x1,xzr\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ld1sb z0\.h,p0/z,\[x1,xzr\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ld1sb z0\.s,p0/z,\[x1,xzr\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ld1sb z0\.d,p0/z,\[x1,xzr\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ld1h z0\.h,p0/z,\[x1,xzr,lsl#1\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ld1h z0\.s,p0/z,\[x1,xzr,lsl#1\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ld1h z0\.d,p0/z,\[x1,xzr,lsl#1\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ld1sh z0\.s,p0/z,\[x1,xzr,lsl#1\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ld1sh z0\.d,p0/z,\[x1,xzr,lsl#1\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ld1w z0\.s,p0/z,\[x1,xzr,lsl#2\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ld1w z0\.d,p0/z,\[x1,xzr,lsl#2\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ld1sw z0\.d,p0/z,\[x1,xzr,lsl#2\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ld1d z0\.d,p0/z,\[x1,xzr,lsl#3\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ld2b {z0\.b-z1\.b},p0/z,\[x1,xzr\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ld2h {z0\.h-z1\.h},p0/z,\[x1,xzr,lsl#1\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ld2w {z0\.s-z1\.s},p0/z,\[x1,xzr,lsl#2\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ld2d {z0\.d-z1\.d},p0/z,\[x1,xzr,lsl#3\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ld3b {z0\.b-z2\.b},p0/z,\[x1,xzr\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ld3h {z0\.h-z2\.h},p0/z,\[x1,xzr,lsl#1\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ld3w {z0\.s-z2\.s},p0/z,\[x1,xzr,lsl#2\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ld3d {z0\.d-z2\.d},p0/z,\[x1,xzr,lsl#3\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ld4b {z0\.b-z3\.b},p0/z,\[x1,xzr\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ld4h {z0\.h-z3\.h},p0/z,\[x1,xzr,lsl#1\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ld4w {z0\.s-z3\.s},p0/z,\[x1,xzr,lsl#2\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ld4d {z0\.d-z3\.d},p0/z,\[x1,xzr,lsl#3\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ldnt1b z0\.b,p0/z,\[x1,xzr\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ldnt1h z0\.h,p0/z,\[x1,xzr,lsl#1\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ldnt1w z0\.s,p0/z,\[x1,xzr,lsl#2\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `ldnt1d z0\.d,p0/z,\[x1,xzr,lsl#3\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `st1b z0\.b,p0,\[x1,xzr\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `st1b z0\.h,p0,\[x1,xzr\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `st1b z0\.s,p0,\[x1,xzr\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `st1b z0\.d,p0,\[x1,xzr\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `st1h z0\.h,p0,\[x1,xzr,lsl#1\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `st1h z0\.s,p0,\[x1,xzr,lsl#1\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `st1h z0\.d,p0,\[x1,xzr,lsl#1\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `st1w z0\.s,p0,\[x1,xzr,lsl#2\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `st1w z0\.d,p0,\[x1,xzr,lsl#2\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `st1d z0\.d,p0,\[x1,xzr,lsl#3\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `st2b {z0\.b-z1\.b},p0,\[x1,xzr\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `st2h {z0\.h-z1\.h},p0,\[x1,xzr,lsl#1\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `st2w {z0\.s-z1\.s},p0,\[x1,xzr,lsl#2\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `st2d {z0\.d-z1\.d},p0,\[x1,xzr,lsl#3\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `st3b {z0\.b-z2\.b},p0,\[x1,xzr\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `st3h {z0\.h-z2\.h},p0,\[x1,xzr,lsl#1\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `st3w {z0\.s-z2\.s},p0,\[x1,xzr,lsl#2\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `st3d {z0\.d-z2\.d},p0,\[x1,xzr,lsl#3\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `st4b {z0\.b-z3\.b},p0,\[x1,xzr\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `st4h {z0\.h-z3\.h},p0,\[x1,xzr,lsl#1\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `st4w {z0\.s-z3\.s},p0,\[x1,xzr,lsl#2\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `st4d {z0\.d-z3\.d},p0,\[x1,xzr,lsl#3\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `stnt1b z0\.b,p0,\[x1,xzr\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `stnt1h z0\.h,p0,\[x1,xzr,lsl#1\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `stnt1w z0\.s,p0,\[x1,xzr,lsl#2\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `stnt1d z0\.d,p0,\[x1,xzr,lsl#3\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `prfb pldl1keep,p0,\[x1,xzr\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `prfh pldl1keep,p0,\[x1,xzr,lsl#1\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `prfw pldl1keep,p0,\[x1,xzr,lsl#2\]'
+.*: Error: index register xzr is not allowed at operand 3 -- `prfd pldl1keep,p0,\[x1,xzr,lsl#3\]'
+.*: Error: immediate too big for element size at operand 3 -- `add z0\.b,z0\.b,#-257'
+.*: Error: immediate too big for element size at operand 3 -- `add z0\.b,z0\.b,#256'
+.*: Error: no shift amount allowed for 8-bit constants at operand 3 -- `add z0\.b,z0\.b,#1,lsl#1'
+.*: Error: no shift amount allowed for 8-bit constants at operand 3 -- `add z0\.b,z0\.b,#0,lsl#8'
+.*: Error: no shift amount allowed for 8-bit constants at operand 3 -- `add z0\.b,z0\.b,#1,lsl#8'
+.*: Error: immediate too big for element size at operand 3 -- `add z0\.h,z0\.h,#-65537'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.h,z0\.h,#-65536\+257'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.h,z0\.h,#-32767'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.h,z0\.h,#-32768\+255'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.h,z0\.h,#-257'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.h,z0\.h,#-255'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.h,z0\.h,#-129'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.h,z0\.h,#-128'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.h,z0\.h,#-127'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.h,z0\.h,#-1'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.h,z0\.h,#257'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.h,z0\.h,#32768-255'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.h,z0\.h,#32767'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.h,z0\.h,#65536-255'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.h,z0\.h,#65536-129'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.h,z0\.h,#65536-128'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.h,z0\.h,#65535'
+.*: Error: immediate too big for element size at operand 3 -- `add z0\.h,z0\.h,#65536'
+.*: Error: shift amount must be 0 or 8 at operand 3 -- `add z0\.h,z0\.h,#1,lsl#1'
+.*: Error: immediate too big for element size at operand 3 -- `add z0\.h,z0\.h,#-257,lsl#8'
+.*: Error: immediate too big for element size at operand 3 -- `add z0\.h,z0\.h,#256,lsl#8'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.s,z0\.s,#-256'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.s,z0\.s,#-255'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.s,z0\.s,#-129'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.s,z0\.s,#-128'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.s,z0\.s,#-1'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.s,z0\.s,#257'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.s,z0\.s,#32768-255'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.s,z0\.s,#32767'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.s,z0\.s,#65536'
+.*: Error: immediate too big for element size at operand 3 -- `add z0\.s,z0\.s,#0x100000000'
+.*: Error: shift amount must be 0 or 8 at operand 3 -- `add z0\.s,z0\.s,#1,lsl#1'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.s,z0\.s,#-1,lsl#8'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.s,z0\.s,#256,lsl#8'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.d,z0\.d,#-256'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.d,z0\.d,#-255'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.d,z0\.d,#-129'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.d,z0\.d,#-128'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.d,z0\.d,#-1'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.d,z0\.d,#257'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.d,z0\.d,#32768-255'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.d,z0\.d,#32767'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.d,z0\.d,#65536'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.d,z0\.d,#0x100000000'
+.*: Error: shift amount must be 0 or 8 at operand 3 -- `add z0\.d,z0\.d,#1,lsl#1'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.d,z0\.d,#-1,lsl#8'
+.*: Error: invalid arithmetic immediate at operand 3 -- `add z0\.d,z0\.d,#256,lsl#8'
+.*: Error: immediate too big for element size at operand 2 -- `dup z0\.b,#-257'
+.*: Error: immediate too big for element size at operand 2 -- `dup z0\.b,#256'
+.*: Error: no shift amount allowed for 8-bit constants at operand 2 -- `dup z0\.b,#1,lsl#1'
+.*: Error: no shift amount allowed for 8-bit constants at operand 2 -- `dup z0\.b,#0,lsl#8'
+.*: Error: no shift amount allowed for 8-bit constants at operand 2 -- `dup z0\.b,#1,lsl#8'
+.*: Error: immediate too big for element size at operand 2 -- `dup z0\.h,#-65537'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.h,#-32767'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.h,#-32768\+255'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.h,#-257'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.h,#-255'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.h,#-129'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.h,#128'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.h,#255'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.h,#257'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.h,#32768-255'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.h,#32767'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.h,#65536-255'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.h,#65536-129'
+.*: Error: immediate too big for element size at operand 2 -- `dup z0\.h,#65536'
+.*: Error: shift amount must be 0 or 8 at operand 2 -- `dup z0\.h,#1,lsl#1'
+.*: Error: immediate too big for element size at operand 2 -- `dup z0\.h,#-257,lsl#8'
+.*: Error: immediate too big for element size at operand 2 -- `dup z0\.h,#256,lsl#8'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.s,#-65536'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.s,#-32769'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.s,#-32767'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.s,#-32768\+255'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.s,#-257'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.s,#-255'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.s,#-129'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.s,#128'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.s,#255'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.s,#257'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.s,#32768-255'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.s,#32767'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.s,#32768'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.s,#65536'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.s,#0xffffff7f'
+.*: Error: immediate too big for element size at operand 2 -- `dup z0\.s,#0x100000000'
+.*: Error: shift amount must be 0 or 8 at operand 2 -- `dup z0\.s,#1,lsl#1'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.s,#-129,lsl#8'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.s,#128,lsl#8'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.d,#-65536'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.d,#-32769'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.d,#-32767'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.d,#-32768\+255'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.d,#-257'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.d,#-255'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.d,#-129'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.d,#128'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.d,#255'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.d,#257'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.d,#32768-255'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.d,#32767'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.d,#32768'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.d,#65536'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.d,#0xffffff7f'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.d,#0x100000000'
+.*: Error: shift amount must be 0 or 8 at operand 2 -- `dup z0\.d,#1,lsl#1'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.d,#-129,lsl#8'
+.*: Error: invalid arithmetic immediate at operand 2 -- `dup z0\.d,#128,lsl#8'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0x0101'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0x01010101'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0x0101010101010101'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0x7f7f'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0x7f7f7f7f'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0x7f7f7f7f7f7f7f7f'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0x8080'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0x80808080'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0x8080808080808080'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0xfefe'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0xfefefefe'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0xfefefefefefefefe'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0x00010001'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0x0001000100010001'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0x7fff'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0x7fff7fff'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0x7fff7fff7fff7fff'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0x8000'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0x80008000'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0x8000800080008000'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0xfffe'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0xfffefffe'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0xfffefffefffefffe'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0x0000000100000001'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0x7fffffff'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0x7fffffff7fffffff'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0x80000000'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0x8000000080000000'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0xfffffffe'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0xfffffffefffffffe'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0x7fffffffffffffff'
+.*: Error: immediate out of range at operand 3 -- `and z0\.b,z0\.b,#0x8000000000000000'
+.*: Error: immediate out of range at operand 3 -- `and z0\.h,z0\.h,#0x01010101'
+.*: Error: immediate out of range at operand 3 -- `and z0\.h,z0\.h,#0x0101010101010101'
+.*: Error: immediate out of range at operand 3 -- `and z0\.h,z0\.h,#0x7f7f7f7f'
+.*: Error: immediate out of range at operand 3 -- `and z0\.h,z0\.h,#0x7f7f7f7f7f7f7f7f'
+.*: Error: immediate out of range at operand 3 -- `and z0\.h,z0\.h,#0x80808080'
+.*: Error: immediate out of range at operand 3 -- `and z0\.h,z0\.h,#0x8080808080808080'
+.*: Error: immediate out of range at operand 3 -- `and z0\.h,z0\.h,#0xfefefefe'
+.*: Error: immediate out of range at operand 3 -- `and z0\.h,z0\.h,#0xfefefefefefefefe'
+.*: Error: immediate out of range at operand 3 -- `and z0\.h,z0\.h,#0x00010001'
+.*: Error: immediate out of range at operand 3 -- `and z0\.h,z0\.h,#0x0001000100010001'
+.*: Error: immediate out of range at operand 3 -- `and z0\.h,z0\.h,#0x7fff7fff'
+.*: Error: immediate out of range at operand 3 -- `and z0\.h,z0\.h,#0x7fff7fff7fff7fff'
+.*: Error: immediate out of range at operand 3 -- `and z0\.h,z0\.h,#0x80008000'
+.*: Error: immediate out of range at operand 3 -- `and z0\.h,z0\.h,#0x8000800080008000'
+.*: Error: immediate out of range at operand 3 -- `and z0\.h,z0\.h,#0xfffefffe'
+.*: Error: immediate out of range at operand 3 -- `and z0\.h,z0\.h,#0xfffefffefffefffe'
+.*: Error: immediate out of range at operand 3 -- `and z0\.h,z0\.h,#0x0000000100000001'
+.*: Error: immediate out of range at operand 3 -- `and z0\.h,z0\.h,#0x7fffffff'
+.*: Error: immediate out of range at operand 3 -- `and z0\.h,z0\.h,#0x7fffffff7fffffff'
+.*: Error: immediate out of range at operand 3 -- `and z0\.h,z0\.h,#0x80000000'
+.*: Error: immediate out of range at operand 3 -- `and z0\.h,z0\.h,#0x8000000080000000'
+.*: Error: immediate out of range at operand 3 -- `and z0\.h,z0\.h,#0xfffffffe'
+.*: Error: immediate out of range at operand 3 -- `and z0\.h,z0\.h,#0xfffffffefffffffe'
+.*: Error: immediate out of range at operand 3 -- `and z0\.h,z0\.h,#0x7fffffffffffffff'
+.*: Error: immediate out of range at operand 3 -- `and z0\.h,z0\.h,#0x8000000000000000'
+.*: Error: immediate out of range at operand 3 -- `and z0\.s,z0\.s,#0x0101010101010101'
+.*: Error: immediate out of range at operand 3 -- `and z0\.s,z0\.s,#0x7f7f7f7f7f7f7f7f'
+.*: Error: immediate out of range at operand 3 -- `and z0\.s,z0\.s,#0x8080808080808080'
+.*: Error: immediate out of range at operand 3 -- `and z0\.s,z0\.s,#0xfefefefefefefefe'
+.*: Error: immediate out of range at operand 3 -- `and z0\.s,z0\.s,#0x0001000100010001'
+.*: Error: immediate out of range at operand 3 -- `and z0\.s,z0\.s,#0x7fff7fff7fff7fff'
+.*: Error: immediate out of range at operand 3 -- `and z0\.s,z0\.s,#0x8000800080008000'
+.*: Error: immediate out of range at operand 3 -- `and z0\.s,z0\.s,#0xfffefffefffefffe'
+.*: Error: immediate out of range at operand 3 -- `and z0\.s,z0\.s,#0x0000000100000001'
+.*: Error: immediate out of range at operand 3 -- `and z0\.s,z0\.s,#0x7fffffff7fffffff'
+.*: Error: immediate out of range at operand 3 -- `and z0\.s,z0\.s,#0x8000000080000000'
+.*: Error: immediate out of range at operand 3 -- `and z0\.s,z0\.s,#0xfffffffefffffffe'
+.*: Error: immediate out of range at operand 3 -- `and z0\.s,z0\.s,#0x7fffffffffffffff'
+.*: Error: immediate out of range at operand 3 -- `and z0\.s,z0\.s,#0x8000000000000000'
+.*: Error: immediate out of range at operand 3 -- `and z0\.d,z0\.d,#0xd'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0x0101'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0x01010101'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0x0101010101010101'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0x7f7f'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0x7f7f7f7f'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0x7f7f7f7f7f7f7f7f'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0x8080'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0x80808080'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0x8080808080808080'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0xfefe'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0xfefefefe'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0xfefefefefefefefe'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0x00010001'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0x0001000100010001'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0x7fff'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0x7fff7fff'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0x7fff7fff7fff7fff'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0x8000'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0x80008000'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0x8000800080008000'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0xfffe'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0xfffefffe'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0xfffefffefffefffe'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0x0000000100000001'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0x7fffffff'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0x7fffffff7fffffff'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0x80000000'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0x8000000080000000'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0xfffffffe'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0xfffffffefffffffe'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0x7fffffffffffffff'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.b,z0\.b,#0x8000000000000000'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.h,z0\.h,#0x01010101'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.h,z0\.h,#0x0101010101010101'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.h,z0\.h,#0x7f7f7f7f'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.h,z0\.h,#0x7f7f7f7f7f7f7f7f'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.h,z0\.h,#0x80808080'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.h,z0\.h,#0x8080808080808080'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.h,z0\.h,#0xfefefefe'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.h,z0\.h,#0xfefefefefefefefe'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.h,z0\.h,#0x00010001'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.h,z0\.h,#0x0001000100010001'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.h,z0\.h,#0x7fff7fff'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.h,z0\.h,#0x7fff7fff7fff7fff'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.h,z0\.h,#0x80008000'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.h,z0\.h,#0x8000800080008000'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.h,z0\.h,#0xfffefffe'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.h,z0\.h,#0xfffefffefffefffe'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.h,z0\.h,#0x0000000100000001'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.h,z0\.h,#0x7fffffff'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.h,z0\.h,#0x7fffffff7fffffff'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.h,z0\.h,#0x80000000'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.h,z0\.h,#0x8000000080000000'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.h,z0\.h,#0xfffffffe'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.h,z0\.h,#0xfffffffefffffffe'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.h,z0\.h,#0x7fffffffffffffff'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.h,z0\.h,#0x8000000000000000'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.s,z0\.s,#0x0101010101010101'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.s,z0\.s,#0x7f7f7f7f7f7f7f7f'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.s,z0\.s,#0x8080808080808080'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.s,z0\.s,#0xfefefefefefefefe'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.s,z0\.s,#0x0001000100010001'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.s,z0\.s,#0x7fff7fff7fff7fff'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.s,z0\.s,#0x8000800080008000'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.s,z0\.s,#0xfffefffefffefffe'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.s,z0\.s,#0x0000000100000001'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.s,z0\.s,#0x7fffffff7fffffff'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.s,z0\.s,#0x8000000080000000'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.s,z0\.s,#0xfffffffefffffffe'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.s,z0\.s,#0x7fffffffffffffff'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.s,z0\.s,#0x8000000000000000'
+.*: Error: immediate out of range at operand 3 -- `bic z0\.d,z0\.d,#0xd'
+.*: Error: immediate zero expected at operand 4 -- `fcmeq p0\.s,p1/z,z2\.s,#1'
+.*: Error: immediate zero expected at operand 4 -- `fcmeq p0\.s,p1/z,z2\.s,#1\.0'
+.*: Error: invalid floating-point constant at operand 4 -- `fadd z0\.s,p1/m,z0\.s,#0'
+.*: Error: floating-point value must be 0\.5 or 1\.0 at operand 4 -- `fadd z0\.s,p1/m,z0\.s,#0\.0'
+.*: Error: invalid floating-point constant at operand 4 -- `fadd z0\.s,p1/m,z0\.s,#1'
+.*: Error: floating-point value must be 0\.5 or 1\.0 at operand 4 -- `fadd z0\.s,p1/m,z0\.s,#1\.5'
+.*: Error: invalid floating-point constant at operand 4 -- `fadd z0\.s,p1/m,z0\.s,#2'
+.*: Error: floating-point value must be 0\.5 or 1\.0 at operand 4 -- `fadd z0\.s,p1/m,z0\.s,#2\.0'
+.*: Error: invalid floating-point constant at operand 4 -- `fmul z0\.s,p1/m,z0\.s,#0'
+.*: Error: floating-point value must be 0\.5 or 2\.0 at operand 4 -- `fmul z0\.s,p1/m,z0\.s,#0\.0'
+.*: Error: invalid floating-point constant at operand 4 -- `fmul z0\.s,p1/m,z0\.s,#1'
+.*: Error: floating-point value must be 0\.5 or 2\.0 at operand 4 -- `fmul z0\.s,p1/m,z0\.s,#1\.0'
+.*: Error: floating-point value must be 0\.5 or 2\.0 at operand 4 -- `fmul z0\.s,p1/m,z0\.s,#1\.5'
+.*: Error: invalid floating-point constant at operand 4 -- `fmul z0\.s,p1/m,z0\.s,#2'
+.*: Error: invalid floating-point constant at operand 4 -- `fmax z0\.s,p1/m,z0\.s,#0'
+.*: Error: floating-point value must be 0\.0 or 1\.0 at operand 4 -- `fmax z0\.s,p1/m,z0\.s,#0\.5'
+.*: Error: invalid floating-point constant at operand 4 -- `fmax z0\.s,p1/m,z0\.s,#1'
+.*: Error: floating-point value must be 0\.0 or 1\.0 at operand 4 -- `fmax z0\.s,p1/m,z0\.s,#1\.5'
+.*: Error: invalid floating-point constant at operand 4 -- `fmax z0\.s,p1/m,z0\.s,#2'
+.*: Error: floating-point value must be 0\.0 or 1\.0 at operand 4 -- `fmax z0\.s,p1/m,z0\.s,#2\.0'
+.*: Error: operand 2 should be an enumeration value such as POW2 -- `ptrue p1\.b,vl0'
+.*: Error: operand 2 should be an enumeration value such as POW2 -- `ptrue p1\.b,vl255'
+.*: Error: operand 2 should be an enumeration value such as POW2 -- `ptrue p1\.b,#-1'
+.*: Error: operand 2 should be an enumeration value such as POW2 -- `ptrue p1\.b,#32'
+.*: Error: immediate operand required at operand 2 -- `ptrue p1\.b,x0'
+.*: Error: immediate operand required at operand 2 -- `ptrue p1\.b,z0\.s'
+.*: Error: operand 2 should be an enumeration value such as POW2 -- `cntb x0,vl0'
+.*: Error: operand 2 should be an enumeration value such as POW2 -- `cntb x0,vl255'
+.*: Error: operand 2 should be an enumeration value such as POW2 -- `cntb x0,#-1'
+.*: Error: operand 2 should be an enumeration value such as POW2 -- `cntb x0,#32'
+.*: Error: immediate operand required at operand 2 -- `cntb x0,x0'
+.*: Error: immediate operand required at operand 2 -- `cntb x0,z0\.s'
+.*: Error: operand 2 should be an enumeration value such as POW2 -- `cntb x0,mul#1'
+.*: Error: multiplier out of range 1 to 16 at operand 2 -- `cntb x0,pow2,mul#0'
+.*: Error: multiplier out of range 1 to 16 at operand 2 -- `cntb x0,pow2,mul#17'
+.*: Error: shift expression expected at operand 2 -- `cntb x0,pow2,#1'
+.*: Error: operand 1 should be an enumeration value such as PLDL1KEEP -- `prfb pldl0keep,p1,\[x0\]'
+.*: Error: operand 1 should be an enumeration value such as PLDL1KEEP -- `prfb pldl4keep,p1,\[x0\]'
+.*: Error: operand 1 should be an enumeration value such as PLDL1KEEP -- `prfb #-1,p1,\[x0\]'
+.*: Error: operand 1 should be an enumeration value such as PLDL1KEEP -- `prfb #16,p1,\[x0\]'
+.*: Error: immediate operand required at operand 1 -- `prfb x0,p1,\[x0\]'
+.*: Error: immediate operand required at operand 1 -- `prfb z0\.s,p1,\[x0\]'
+.*: Error: immediate value out of range 0 to 7 at operand 3 -- `lsl z0\.b,z0\.b,#-1'
+.*: Error: immediate value out of range 0 to 7 at operand 3 -- `lsl z0\.b,z0\.b,#8'
+.*: Error: immediate value out of range 0 to 7 at operand 3 -- `lsl z0\.b,z0\.b,#9'
+.*: Error: operand 3 should be an SVE vector register -- `lsl z0\.b,z0\.b,x0'
+.*: Error: immediate value out of range 0 to 15 at operand 3 -- `lsl z0\.h,z0\.h,#-1'
+.*: Error: immediate value out of range 0 to 15 at operand 3 -- `lsl z0\.h,z0\.h,#16'
+.*: Error: immediate value out of range 0 to 15 at operand 3 -- `lsl z0\.h,z0\.h,#17'
+.*: Error: immediate value out of range 0 to 31 at operand 3 -- `lsl z0\.s,z0\.s,#-1'
+.*: Error: immediate value out of range 0 to 31 at operand 3 -- `lsl z0\.s,z0\.s,#32'
+.*: Error: immediate value out of range 0 to 31 at operand 3 -- `lsl z0\.s,z0\.s,#33'
+.*: Error: immediate value out of range 0 to 63 at operand 3 -- `lsl z0\.d,z0\.d,#-1'
+.*: Error: immediate value out of range 0 to 63 at operand 3 -- `lsl z0\.d,z0\.d,#64'
+.*: Error: immediate value out of range 0 to 63 at operand 3 -- `lsl z0\.d,z0\.d,#65'
+.*: Error: immediate value out of range 0 to 7 at operand 4 -- `lsl z0\.b,p1/m,z0\.b,#-1'
+.*: Error: immediate value out of range 0 to 7 at operand 4 -- `lsl z0\.b,p1/m,z0\.b,#8'
+.*: Error: immediate value out of range 0 to 7 at operand 4 -- `lsl z0\.b,p1/m,z0\.b,#9'
+.*: Error: operand 4 should be an SVE vector register -- `lsl z0\.b,p1/m,z0\.b,x0'
+.*: Error: immediate value out of range 0 to 15 at operand 4 -- `lsl z0\.h,p1/m,z0\.h,#-1'
+.*: Error: immediate value out of range 0 to 15 at operand 4 -- `lsl z0\.h,p1/m,z0\.h,#16'
+.*: Error: immediate value out of range 0 to 15 at operand 4 -- `lsl z0\.h,p1/m,z0\.h,#17'
+.*: Error: immediate value out of range 0 to 31 at operand 4 -- `lsl z0\.s,p1/m,z0\.s,#-1'
+.*: Error: immediate value out of range 0 to 31 at operand 4 -- `lsl z0\.s,p1/m,z0\.s,#32'
+.*: Error: immediate value out of range 0 to 31 at operand 4 -- `lsl z0\.s,p1/m,z0\.s,#33'
+.*: Error: immediate value out of range 0 to 63 at operand 4 -- `lsl z0\.d,p1/m,z0\.d,#-1'
+.*: Error: immediate value out of range 0 to 63 at operand 4 -- `lsl z0\.d,p1/m,z0\.d,#64'
+.*: Error: immediate value out of range 0 to 63 at operand 4 -- `lsl z0\.d,p1/m,z0\.d,#65'
+.*: Error: immediate value out of range 1 to 8 at operand 3 -- `lsr z0\.b,z0\.b,#-1'
+.*: Error: immediate value out of range 1 to 8 at operand 3 -- `lsr z0\.b,z0\.b,#0'
+.*: Error: immediate value out of range 1 to 8 at operand 3 -- `lsr z0\.b,z0\.b,#9'
+.*: Error: operand 3 should be an SVE vector register -- `lsr z0\.b,z0\.b,x0'
+.*: Error: immediate value out of range 1 to 16 at operand 3 -- `lsr z0\.h,z0\.h,#-1'
+.*: Error: immediate value out of range 1 to 16 at operand 3 -- `lsr z0\.h,z0\.h,#0'
+.*: Error: immediate value out of range 1 to 16 at operand 3 -- `lsr z0\.h,z0\.h,#17'
+.*: Error: immediate value out of range 1 to 32 at operand 3 -- `lsr z0\.s,z0\.s,#-1'
+.*: Error: immediate value out of range 1 to 32 at operand 3 -- `lsr z0\.s,z0\.s,#0'
+.*: Error: immediate value out of range 1 to 32 at operand 3 -- `lsr z0\.s,z0\.s,#33'
+.*: Error: immediate value out of range 1 to 64 at operand 3 -- `lsr z0\.d,z0\.d,#-1'
+.*: Error: immediate value out of range 1 to 64 at operand 3 -- `lsr z0\.d,z0\.d,#0'
+.*: Error: immediate value out of range 1 to 64 at operand 3 -- `lsr z0\.d,z0\.d,#65'
+.*: Error: immediate value out of range 1 to 8 at operand 4 -- `lsr z0\.b,p1/m,z0\.b,#-1'
+.*: Error: immediate value out of range 1 to 8 at operand 4 -- `lsr z0\.b,p1/m,z0\.b,#0'
+.*: Error: immediate value out of range 1 to 8 at operand 4 -- `lsr z0\.b,p1/m,z0\.b,#9'
+.*: Error: operand 4 should be an SVE vector register -- `lsr z0\.b,p1/m,z0\.b,x0'
+.*: Error: immediate value out of range 1 to 16 at operand 4 -- `lsr z0\.h,p1/m,z0\.h,#-1'
+.*: Error: immediate value out of range 1 to 16 at operand 4 -- `lsr z0\.h,p1/m,z0\.h,#0'
+.*: Error: immediate value out of range 1 to 16 at operand 4 -- `lsr z0\.h,p1/m,z0\.h,#17'
+.*: Error: immediate value out of range 1 to 32 at operand 4 -- `lsr z0\.s,p1/m,z0\.s,#-1'
+.*: Error: immediate value out of range 1 to 32 at operand 4 -- `lsr z0\.s,p1/m,z0\.s,#0'
+.*: Error: immediate value out of range 1 to 32 at operand 4 -- `lsr z0\.s,p1/m,z0\.s,#33'
+.*: Error: immediate value out of range 1 to 64 at operand 4 -- `lsr z0\.d,p1/m,z0\.d,#-1'
+.*: Error: immediate value out of range 1 to 64 at operand 4 -- `lsr z0\.d,p1/m,z0\.d,#0'
+.*: Error: immediate value out of range 1 to 64 at operand 4 -- `lsr z0\.d,p1/m,z0\.d,#65'
+.*: Error: immediate value out of range -16 to 15 at operand 2 -- `index z0\.s,#-17,#1'
+.*: Error: immediate value out of range -16 to 15 at operand 2 -- `index z0\.s,#16,#1'
+.*: Error: immediate value out of range -16 to 15 at operand 3 -- `index z0\.s,#0,#-17'
+.*: Error: immediate value out of range -16 to 15 at operand 3 -- `index z0\.s,#0,#16'
+.*: Error: immediate value out of range -32 to 31 at operand 3 -- `addpl x0,sp,#-33'
+.*: Error: immediate value out of range -32 to 31 at operand 3 -- `addpl sp,x0,#32'
+.*: Error: operand 2 should be an integer register or SP -- `addpl x0,xzr,#1'
+.*: Error: operand 1 should be an integer or stack pointer register -- `addpl xzr,x0,#1'
+.*: Error: immediate value out of range -128 to 127 at operand 3 -- `mul z0\.b,z0\.b,#-129'
+.*: Error: immediate value out of range -128 to 127 at operand 3 -- `mul z0\.b,z0\.b,#128'
+.*: Error: immediate value out of range -128 to 127 at operand 3 -- `mul z0\.s,z0\.s,#-129'
+.*: Error: immediate value out of range -128 to 127 at operand 3 -- `mul z0\.s,z0\.s,#128'
+.*: Error: immediate value out of range 0 to 7 at operand 4 -- `ftmad z0\.s,z0\.s,z1\.s,#-1'
+.*: Error: immediate value out of range 0 to 7 at operand 4 -- `ftmad z0\.s,z0\.s,z1\.s,#8'
+.*: Error: immediate operand required at operand 4 -- `ftmad z0\.s,z0\.s,z1\.s,z2\.s'
+.*: Error: immediate value out of range 0 to 127 at operand 4 -- `cmphi p0\.s,p1/z,z2\.s,#-1'
+.*: Error: immediate value out of range 0 to 127 at operand 4 -- `cmphi p0\.s,p1/z,z2\.s,#128'
+.*: Error: immediate value out of range 0 to 255 at operand 3 -- `umax z0\.s,z0\.s,#-1'
+.*: Error: immediate value out of range 0 to 255 at operand 3 -- `umax z0\.s,z0\.s,#256'
+.*: Error: immediate value out of range 0 to 255 at operand 4 -- `ext z0\.b,z0\.b,z1\.b,#-1'
+.*: Error: immediate value out of range 0 to 255 at operand 4 -- `ext z0\.b,z0\.b,z1\.b,#256'
+.*: Error: register element index out of range 0 to 63 at operand 2 -- `dup z0\.b,z1\.b\[-1\]'
+.*: Error: register element index out of range 0 to 63 at operand 2 -- `dup z0\.b,z1\.b\[64\]'
+.*: Error: constant expression required at operand 2 -- `dup z0\.b,z1\.b\[x0\]'
+.*: Error: register element index out of range 0 to 31 at operand 2 -- `dup z0\.h,z1\.h\[-1\]'
+.*: Error: register element index out of range 0 to 31 at operand 2 -- `dup z0\.h,z1\.h\[32\]'
+.*: Error: constant expression required at operand 2 -- `dup z0\.h,z1\.h\[x0\]'
+.*: Error: register element index out of range 0 to 15 at operand 2 -- `dup z0\.s,z1\.s\[-1\]'
+.*: Error: register element index out of range 0 to 15 at operand 2 -- `dup z0\.s,z1\.s\[16\]'
+.*: Error: constant expression required at operand 2 -- `dup z0\.s,z1\.s\[x0\]'
+.*: Error: register element index out of range 0 to 7 at operand 2 -- `dup z0\.d,z1\.d\[-1\]'
+.*: Error: register element index out of range 0 to 7 at operand 2 -- `dup z0\.d,z1\.d\[8\]'
+.*: Error: constant expression required at operand 2 -- `dup z0\.d,z1\.d\[x0\]'
diff --git a/gas/testsuite/gas/aarch64/sve-invalid.s b/gas/testsuite/gas/aarch64/sve-invalid.s
new file mode 100644
index 0000000..0912c52
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sve-invalid.s
@@ -0,0 +1,1163 @@
+// Instructions in this file are invalid unless explicitly marked "OK".
+// Other files provide more extensive testing of valid instructions;
+// the only purpose of the valid instructions in this file is to show
+// that the general form of the operands is correct.
+
+ fmov z1, z2
+ fmov z1, #1.0
+ fmov z1, #0.0
+
+ not z0.s,p1/
+ not z0.s,p1/,z2.s
+ not z0.s,p1/c,z2.s
+
+ movprfx z0.h, z1.h
+ movprfx z0, z1.h
+ movprfx z0.h, z1
+ movprfx z0.h, z1.s
+
+ movprfx z0, p1/m, z1
+ movprfx z0, p1/z, z1
+ movprfx z0.b, p1/m, z1
+ movprfx z0.b, p1/z, z1
+
+ movprfx z0, p1/m, z1.b
+ movprfx z0, p1/z, z1.b
+ movprfx z0.h, p1/m, z1.b
+ movprfx z0.h, p1/z, z1.b
+ movprfx z0.b, p1, z1.b
+
+ movprfx p0, p1
+
+ ldr p0.b, [x1]
+ ldr z0.b, [x1]
+
+ str p0.b, [x1]
+ str z0.b, [x1]
+
+ mov z0, b0
+ mov z0, z1
+ mov p0, p1
+
+ add z0, z0, z2
+ add z0, z0, #2
+ add z0, z1, z2
+ add z0, z1, #1
+ add z0.b, z1.b, #1
+ add z0.b, z0.h, #1
+
+ mov z0.b, z32.b
+ mov p0.b, p16.b
+
+ cmpeq p0.b, p8/z, z1.b, z2.b
+ cmpeq p0.b, p15/z, z1.b, z2.b
+
+ ld1w z0.s, p0, [x0]
+ ld1w z0.s, p0/m, [x0]
+ cmpeq p0.b, p0, z1.b, z2.b
+ cmpeq p0.b, p0/m, z1.b, z2.b
+ add z0.s, p0, z0.s, z1.s
+ add z0.s, p0/z, z0.s, z1.s
+ st1w z0.s, p0/z, [x0]
+ st1w z0.s, p0/m, [x0]
+
+ ld1b z0, p1/z, [x1]
+ ld1h z0, p1/z, [x1]
+ ld1w z0, p1/z, [x1]
+ ld1d z0, p1/z, [x1]
+
+ ldff1b z0, p1/z, [x1, xzr]
+ ldff1h z0, p1/z, [x1, xzr, lsl #1]
+ ldff1w z0, p1/z, [x1, xzr, lsl #2]
+ ldff1d z0, p1/z, [x1, xzr, lsl #3]
+
+ ldnf1b z0, p1/z, [x1]
+ ldnf1h z0, p1/z, [x1]
+ ldnf1w z0, p1/z, [x1]
+ ldnf1d z0, p1/z, [x1]
+
+ ldnt1b z0, p1/z, [x1]
+ ldnt1h z0, p1/z, [x1]
+ ldnt1w z0, p1/z, [x1]
+ ldnt1d z0, p1/z, [x1]
+
+ st1b z0, p1/z, [x1]
+ st1h z0, p1/z, [x1]
+ st1w z0, p1/z, [x1]
+ st1d z0, p1/z, [x1]
+
+ stnt1b z0, p1/z, [x1]
+ stnt1h z0, p1/z, [x1]
+ stnt1w z0, p1/z, [x1]
+ stnt1d z0, p1/z, [x1]
+
+ ld1b {z0}, p1/z, [x1]
+ ld1h {z0}, p1/z, [x1]
+ ld1w {z0}, p1/z, [x1]
+ ld1d {z0}, p1/z, [x1]
+
+ ldff1b {z0}, p1/z, [x1, xzr]
+ ldff1h {z0}, p1/z, [x1, xzr, lsl #1]
+ ldff1w {z0}, p1/z, [x1, xzr, lsl #2]
+ ldff1d {z0}, p1/z, [x1, xzr, lsl #3]
+
+ ldnf1b {z0}, p1/z, [x1]
+ ldnf1h {z0}, p1/z, [x1]
+ ldnf1w {z0}, p1/z, [x1]
+ ldnf1d {z0}, p1/z, [x1]
+
+ ldnt1b {z0}, p1/z, [x1]
+ ldnt1h {z0}, p1/z, [x1]
+ ldnt1w {z0}, p1/z, [x1]
+ ldnt1d {z0}, p1/z, [x1]
+
+ st1b {z0}, p1/z, [x1]
+ st1h {z0}, p1/z, [x1]
+ st1w {z0}, p1/z, [x1]
+ st1d {z0}, p1/z, [x1]
+
+ stnt1b {z0}, p1/z, [x1]
+ stnt1h {z0}, p1/z, [x1]
+ stnt1w {z0}, p1/z, [x1]
+ stnt1d {z0}, p1/z, [x1]
+
+ ld1b {x0}, p1/z, [x1]
+ ld1b {b0}, p1/z, [x1]
+ ld1b {h0}, p1/z, [x1]
+ ld1b {s0}, p1/z, [x1]
+ ld1b {d0}, p1/z, [x1]
+ ld1b {v0.2s}, p1/z, [x1]
+
+ ld2b {z0.b, z1}, p1/z, [x1]
+ ld2b {z0.b, z1.h}, p1/z, [x1]
+ ld2b {z0.b, z1.s}, p1/z, [x1]
+ ld2b {z0.b, z1.d}, p1/z, [x1]
+ ld2b {z0.h, z1}, p1/z, [x1]
+ ld2b {z0.h, z1.s}, p1/z, [x1]
+ ld2b {z0.h, z1.d}, p1/z, [x1]
+ ld2b {z0.s, z1}, p1/z, [x1]
+ ld2b {z0.s, z1.d}, p1/z, [x1]
+ ld2b {z0.d, z1}, p1/z, [x1]
+
+ ld1b z0.b, p1/z, [x1, #-9, mul vl]
+ ld1b z0.b, p1/z, [x1, #-8, mul vl] // OK
+ ld1b z0.b, p1/z, [x1, #0, mul #1]
+ ld1b z0.b, p1/z, [x1, #0, mul vl #1]
+ ld1b z0.b, p1/z, [x1, #foo, mul vl]
+ ld1b z0.b, p1/z, [x1, #1]
+ ld1b z0.b, p1/z, [x1, #7, mul vl] // OK
+ ld1b z0.b, p1/z, [x1, #7, mul vl]!
+ ld1b z0.b, p1/z, [x1, #8, mul vl]
+
+ ld2b {z0.b, z1.b}, p1/z, [x1, #-18, mul vl]
+ ld2b {z0.b, z1.b}, p1/z, [x1, #-17, mul vl]
+ ld2b {z0.b, z1.b}, p1/z, [x1, #-16, mul vl] // OK
+ ld2b {z0.b, z1.b}, p1/z, [x1, #foo, mul vl]
+ ld2b {z0.b, z1.b}, p1/z, [x1, #1, mul vl]
+ ld2b {z0.b, z1.b}, p1/z, [x1, #14, mul vl] // OK
+ ld2b {z0.b, z1.b}, p1/z, [x1, #14, mul vl]!
+ ld2b {z0.b, z1.b}, p1/z, [x1, #16, mul vl]
+
+ ld3b {z0.b-z2.b}, p1/z, [x1, #-27, mul vl]
+ ld3b {z0.b-z2.b}, p1/z, [x1, #-26, mul vl]
+ ld3b {z0.b-z2.b}, p1/z, [x1, #-25, mul vl]
+ ld3b {z0.b-z[...]
[diff truncated at 100000 bytes]