aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSrinath Parvathaneni <srinath.parvathaneni@arm.com>2024-06-25 13:01:50 +0100
committerSrinath Parvathaneni <srinath.parvathaneni@arm.com>2024-06-25 13:38:48 +0100
commit98043d5fae27fa31e65e421ba1aef18732b2acd5 (patch)
treecf7bc0fdbb7a18278055916d1cb47b19409cf205
parentf3eefcc18bb6f1cc98831b063a58aa5a9ee0b811 (diff)
downloadgdb-98043d5fae27fa31e65e421ba1aef18732b2acd5.zip
gdb-98043d5fae27fa31e65e421ba1aef18732b2acd5.tar.gz
gdb-98043d5fae27fa31e65e421ba1aef18732b2acd5.tar.bz2
aarch64: Add extra tests for sve2p1 min max instructions.
This patch adds some extra tests for the sve2p1 "addqv, andqv, smaxqv, sminqv, umaxqv, uminqv, eorqv, faddqv, fmaxnmqv, fmaxqv, fminnmqv and fminqv" instructions. The patch also adds couple of negative testcases, sve2p1-1-bad.d testcase without "+sve2p1" option and sve2p1-2-bad.d testcase with wrong operands for sve2p1 instructions.
-rw-r--r--gas/testsuite/gas/aarch64/sve2p1-1-bad.l151
-rw-r--r--gas/testsuite/gas/aarch64/sve2p1-1.d151
-rw-r--r--gas/testsuite/gas/aarch64/sve2p1-1.s153
-rw-r--r--gas/testsuite/gas/aarch64/sve2p1-3-bad.d3
-rw-r--r--gas/testsuite/gas/aarch64/sve2p1-3-bad.l208
-rw-r--r--gas/testsuite/gas/aarch64/sve2p1-3-bad.s59
6 files changed, 524 insertions, 201 deletions
diff --git a/gas/testsuite/gas/aarch64/sve2p1-1-bad.l b/gas/testsuite/gas/aarch64/sve2p1-1-bad.l
index 888504d..0b8b5ad 100644
--- a/gas/testsuite/gas/aarch64/sve2p1-1-bad.l
+++ b/gas/testsuite/gas/aarch64/sve2p1-1-bad.l
@@ -1,40 +1,39 @@
.*: Assembler messages:
-.*: Error: selected processor does not support `addqv v0.16b,p0,z16.b'
-.*: Error: selected processor does not support `addqv v1.8h,p1,z8.h'
-.*: Error: selected processor does not support `addqv v2.4s,p2,z4.s'
-.*: Error: selected processor does not support `addqv v4.2d,p3,z2.d'
-.*: Error: selected processor does not support `addqv v8.2d,p4,z1.d'
-.*: Error: selected processor does not support `addqv v16.4s,p7,z0.s'
-.*: Error: selected processor does not support `andqv v0.16b,p0,z16.b'
-.*: Error: selected processor does not support `andqv v1.8h,p1,z8.h'
-.*: Error: selected processor does not support `andqv v2.4s,p2,z4.s'
-.*: Error: selected processor does not support `andqv v4.2d,p3,z2.d'
-.*: Error: selected processor does not support `andqv v8.2d,p4,z1.d'
-.*: Error: selected processor does not support `andqv v16.4s,p7,z0.s'
-.*: Error: selected processor does not support `smaxqv v0.16b,p0,z16.b'
-.*: Error: selected processor does not support `smaxqv v1.8h,p1,z8.h'
-.*: Error: selected processor does not support `smaxqv v2.4s,p2,z4.s'
-.*: Error: selected processor does not support `smaxqv v4.2d,p3,z2.d'
-.*: Error: selected processor does not support `smaxqv v8.2d,p4,z1.d'
-.*: Error: selected processor does not support `smaxqv v16.4s,p7,z0.s'
-.*: Error: selected processor does not support `umaxqv v0.16b,p0,z16.b'
-.*: Error: selected processor does not support `umaxqv v1.8h,p1,z8.h'
-.*: Error: selected processor does not support `umaxqv v2.4s,p2,z4.s'
-.*: Error: selected processor does not support `umaxqv v4.2d,p3,z2.d'
-.*: Error: selected processor does not support `umaxqv v8.2d,p4,z1.d'
-.*: Error: selected processor does not support `umaxqv v16.4s,p7,z0.s'
-.*: Error: selected processor does not support `sminqv v0.16b,p0,z16.b'
-.*: Error: selected processor does not support `sminqv v1.8h,p1,z8.h'
-.*: Error: selected processor does not support `sminqv v2.4s,p2,z4.s'
-.*: Error: selected processor does not support `sminqv v4.2d,p3,z2.d'
-.*: Error: selected processor does not support `sminqv v8.2d,p4,z1.d'
-.*: Error: selected processor does not support `sminqv v16.4s,p7,z0.s'
-.*: Error: selected processor does not support `uminqv v0.16b,p0,z16.b'
-.*: Error: selected processor does not support `uminqv v1.8h,p1,z8.h'
-.*: Error: selected processor does not support `uminqv v2.4s,p2,z4.s'
-.*: Error: selected processor does not support `uminqv v4.2d,p3,z2.d'
-.*: Error: selected processor does not support `uminqv v8.2d,p4,z1.d'
-.*: Error: selected processor does not support `uminqv v16.4s,p7,z0.s'
+.*: Error: selected processor does not support `addqv v0.16b,p0,z0.b'
+.*: Error: selected processor does not support `addqv v31.16b,p0,z0.b'
+.*: Error: selected processor does not support `addqv v0.2d,p0,z0.d'
+.*: Error: selected processor does not support `addqv v0.16b,p7,z0.b'
+.*: Error: selected processor does not support `addqv v0.16b,p0,z31.b'
+.*: Error: selected processor does not support `addqv v31.2d,p7,z31.d'
+.*: Error: selected processor does not support `addqv v10.4s,p3,z20.s'
+.*: Error: selected processor does not support `andqv v0.16b,p0,z0.b'
+.*: Error: selected processor does not support `andqv v31.16b,p0,z0.b'
+.*: Error: selected processor does not support `andqv v0.2d,p0,z0.d'
+.*: Error: selected processor does not support `andqv v0.16b,p7,z0.b'
+.*: Error: selected processor does not support `andqv v0.16b,p0,z31.b'
+.*: Error: selected processor does not support `andqv v31.2d,p7,z31.d'
+.*: Error: selected processor does not support `andqv v10.4s,p3,z20.s'
+.*: Error: selected processor does not support `smaxqv v0.16b,p0,z0.b'
+.*: Error: selected processor does not support `smaxqv v31.16b,p0,z0.b'
+.*: Error: selected processor does not support `smaxqv v0.2d,p0,z0.d'
+.*: Error: selected processor does not support `smaxqv v0.16b,p7,z0.b'
+.*: Error: selected processor does not support `smaxqv v0.16b,p0,z31.b'
+.*: Error: selected processor does not support `smaxqv v31.2d,p7,z31.d'
+.*: Error: selected processor does not support `smaxqv v10.4s,p3,z20.s'
+.*: Error: selected processor does not support `umaxqv v0.16b,p0,z0.b'
+.*: Error: selected processor does not support `umaxqv v31.16b,p0,z0.b'
+.*: Error: selected processor does not support `umaxqv v0.2d,p0,z0.d'
+.*: Error: selected processor does not support `umaxqv v0.16b,p7,z0.b'
+.*: Error: selected processor does not support `umaxqv v0.16b,p0,z31.b'
+.*: Error: selected processor does not support `umaxqv v31.2d,p7,z31.d'
+.*: Error: selected processor does not support `umaxqv v10.4s,p3,z20.s'
+.*: Error: selected processor does not support `sminqv v0.16b,p0,z0.b'
+.*: Error: selected processor does not support `sminqv v31.16b,p0,z0.b'
+.*: Error: selected processor does not support `sminqv v0.2d,p0,z0.d'
+.*: Error: selected processor does not support `sminqv v0.16b,p7,z0.b'
+.*: Error: selected processor does not support `sminqv v0.16b,p0,z31.b'
+.*: Error: selected processor does not support `sminqv v31.2d,p7,z31.d'
+.*: Error: selected processor does not support `sminqv v10.4s,p3,z20.s'
.*: Error: selected processor does not support `dupq z10.b,z20.b\[0\]'
.*: Error: selected processor does not support `dupq z10.b,z20.b\[15\]'
.*: Error: selected processor does not support `dupq z10.h,z20.h\[0\]'
@@ -43,40 +42,58 @@
.*: Error: selected processor does not support `dupq z10.s,z20.s\[3\]'
.*: Error: selected processor does not support `dupq z10.d,z20.d\[0\]'
.*: Error: selected processor does not support `dupq z10.d,z20.d\[1\]'
-.*: Error: selected processor does not support `eorqv v0.16b,p0,z16.b'
-.*: Error: selected processor does not support `eorqv v1.8h,p1,z8.h'
-.*: Error: selected processor does not support `eorqv v2.4s,p2,z4.s'
-.*: Error: selected processor does not support `eorqv v4.2d,p3,z2.d'
-.*: Error: selected processor does not support `eorqv v8.2d,p4,z1.d'
-.*: Error: selected processor does not support `eorqv v16.4s,p7,z0.s'
+.*: Error: selected processor does not support `uminqv v0.16b,p0,z0.b'
+.*: Error: selected processor does not support `uminqv v31.16b,p0,z0.b'
+.*: Error: selected processor does not support `uminqv v0.2d,p0,z0.d'
+.*: Error: selected processor does not support `uminqv v0.16b,p7,z0.b'
+.*: Error: selected processor does not support `uminqv v0.16b,p0,z31.b'
+.*: Error: selected processor does not support `uminqv v31.2d,p7,z31.d'
+.*: Error: selected processor does not support `uminqv v10.4s,p3,z20.s'
.*: Error: selected processor does not support `extq z0.b,z0.b,z0.b,#0'
.*: Error: selected processor does not support `extq z31.b,z31.b,z0.b,#0'
.*: Error: selected processor does not support `extq z0.b,z0.b,z31.b,#0'
.*: Error: selected processor does not support `extq z0.b,z0.b,z0.b,#15'
.*: Error: selected processor does not support `extq z31.b,z31.b,z31.b,#15'
.*: Error: selected processor does not support `extq z15.b,z15.b,z31.b,#7'
-.*: Error: selected processor does not support `faddqv v1.8h,p1,z8.h'
-.*: Error: selected processor does not support `faddqv v2.4s,p2,z4.s'
-.*: Error: selected processor does not support `faddqv v4.2d,p3,z2.d'
-.*: Error: selected processor does not support `faddqv v8.2d,p4,z1.d'
-.*: Error: selected processor does not support `faddqv v16.4s,p7,z0.s'
-.*: Error: selected processor does not support `fmaxnmqv v1.8h,p1,z8.h'
-.*: Error: selected processor does not support `fmaxnmqv v2.4s,p2,z4.s'
-.*: Error: selected processor does not support `fmaxnmqv v4.2d,p3,z2.d'
-.*: Error: selected processor does not support `fmaxnmqv v8.2d,p4,z1.d'
-.*: Error: selected processor does not support `fmaxnmqv v16.4s,p7,z0.s'
-.*: Error: selected processor does not support `fmaxqv v1.8h,p1,z8.h'
-.*: Error: selected processor does not support `fmaxqv v2.4s,p2,z4.s'
-.*: Error: selected processor does not support `fmaxqv v4.2d,p3,z2.d'
-.*: Error: selected processor does not support `fmaxqv v8.2d,p4,z1.d'
-.*: Error: selected processor does not support `fmaxqv v16.4s,p7,z0.s'
-.*: Error: selected processor does not support `fminnmqv v1.8h,p1,z8.h'
-.*: Error: selected processor does not support `fminnmqv v2.4s,p2,z4.s'
-.*: Error: selected processor does not support `fminnmqv v4.2d,p3,z2.d'
-.*: Error: selected processor does not support `fminnmqv v8.2d,p4,z1.d'
-.*: Error: selected processor does not support `fminnmqv v16.4s,p7,z0.s'
-.*: Error: selected processor does not support `fminqv v1.8h,p1,z8.h'
-.*: Error: selected processor does not support `fminqv v2.4s,p2,z4.s'
-.*: Error: selected processor does not support `fminqv v4.2d,p3,z2.d'
-.*: Error: selected processor does not support `fminqv v8.2d,p4,z1.d'
-.*: Error: selected processor does not support `fminqv v16.4s,p7,z0.s'
+.*: Error: selected processor does not support `eorqv v0.16b,p0,z0.b'
+.*: Error: selected processor does not support `eorqv v31.16b,p0,z0.b'
+.*: Error: selected processor does not support `eorqv v0.2d,p0,z0.d'
+.*: Error: selected processor does not support `eorqv v0.16b,p7,z0.b'
+.*: Error: selected processor does not support `eorqv v0.16b,p0,z31.b'
+.*: Error: selected processor does not support `eorqv v31.2d,p7,z31.d'
+.*: Error: selected processor does not support `eorqv v10.4s,p3,z20.s'
+.*: Error: selected processor does not support `faddqv v0.8h,p0,z0.h'
+.*: Error: selected processor does not support `faddqv v31.8h,p0,z0.h'
+.*: Error: selected processor does not support `faddqv v0.2d,p0,z0.d'
+.*: Error: selected processor does not support `faddqv v0.8h,p7,z0.h'
+.*: Error: selected processor does not support `faddqv v0.8h,p0,z31.h'
+.*: Error: selected processor does not support `faddqv v31.2d,p7,z31.d'
+.*: Error: selected processor does not support `faddqv v10.4s,p3,z20.s'
+.*: Error: selected processor does not support `fmaxnmqv v0.8h,p0,z0.h'
+.*: Error: selected processor does not support `fmaxnmqv v31.8h,p0,z0.h'
+.*: Error: selected processor does not support `fmaxnmqv v0.2d,p0,z0.d'
+.*: Error: selected processor does not support `fmaxnmqv v0.8h,p7,z0.h'
+.*: Error: selected processor does not support `fmaxnmqv v0.8h,p0,z31.h'
+.*: Error: selected processor does not support `fmaxnmqv v31.2d,p7,z31.d'
+.*: Error: selected processor does not support `fmaxnmqv v10.4s,p3,z20.s'
+.*: Error: selected processor does not support `fmaxqv v0.8h,p0,z0.h'
+.*: Error: selected processor does not support `fmaxqv v31.8h,p0,z0.h'
+.*: Error: selected processor does not support `fmaxqv v0.2d,p0,z0.d'
+.*: Error: selected processor does not support `fmaxqv v0.8h,p7,z0.h'
+.*: Error: selected processor does not support `fmaxqv v0.8h,p0,z31.h'
+.*: Error: selected processor does not support `fmaxqv v31.2d,p7,z31.d'
+.*: Error: selected processor does not support `fmaxqv v10.4s,p3,z20.s'
+.*: Error: selected processor does not support `fminnmqv v0.8h,p0,z0.h'
+.*: Error: selected processor does not support `fminnmqv v31.8h,p0,z0.h'
+.*: Error: selected processor does not support `fminnmqv v0.2d,p0,z0.d'
+.*: Error: selected processor does not support `fminnmqv v0.8h,p7,z0.h'
+.*: Error: selected processor does not support `fminnmqv v0.8h,p0,z31.h'
+.*: Error: selected processor does not support `fminnmqv v31.2d,p7,z31.d'
+.*: Error: selected processor does not support `fminnmqv v10.4s,p3,z20.s'
+.*: Error: selected processor does not support `fminqv v0.8h,p0,z0.h'
+.*: Error: selected processor does not support `fminqv v31.8h,p0,z0.h'
+.*: Error: selected processor does not support `fminqv v0.2d,p0,z0.d'
+.*: Error: selected processor does not support `fminqv v0.8h,p7,z0.h'
+.*: Error: selected processor does not support `fminqv v0.8h,p0,z31.h'
+.*: Error: selected processor does not support `fminqv v31.2d,p7,z31.d'
+.*: Error: selected processor does not support `fminqv v10.4s,p3,z20.s'
diff --git a/gas/testsuite/gas/aarch64/sve2p1-1.d b/gas/testsuite/gas/aarch64/sve2p1-1.d
index da57edf..f4c36b6 100644
--- a/gas/testsuite/gas/aarch64/sve2p1-1.d
+++ b/gas/testsuite/gas/aarch64/sve2p1-1.d
@@ -8,42 +8,41 @@
[^:]+:
[^:]+:
-.*: 04052200 addqv v0.16b, p0, z16.b
-.*: 04452501 addqv v1.8h, p1, z8.h
-.*: 04852882 addqv v2.4s, p2, z4.s
-.*: 04c52c44 addqv v4.2d, p3, z2.d
-.*: 04c53028 addqv v8.2d, p4, z1.d
-.*: 04853c10 addqv v16.4s, p7, z0.s
-.*: 041e2200 andqv v0.16b, p0, z16.b
-.*: 045e2501 andqv v1.8h, p1, z8.h
-.*: 049e2882 andqv v2.4s, p2, z4.s
-.*: 04de2c44 andqv v4.2d, p3, z2.d
-.*: 04de3028 andqv v8.2d, p4, z1.d
-.*: 049e3c10 andqv v16.4s, p7, z0.s
-.*: 040c2200 smaxqv v0.16b, p0, z16.b
-.*: 044c2501 smaxqv v1.8h, p1, z8.h
-.*: 048c2882 smaxqv v2.4s, p2, z4.s
-.*: 04cc2c44 smaxqv v4.2d, p3, z2.d
-.*: 04cc3028 smaxqv v8.2d, p4, z1.d
-.*: 048c3c10 smaxqv v16.4s, p7, z0.s
-.*: 040d2200 umaxqv v0.16b, p0, z16.b
-.*: 044d2501 umaxqv v1.8h, p1, z8.h
-.*: 048d2882 umaxqv v2.4s, p2, z4.s
-.*: 04cd2c44 umaxqv v4.2d, p3, z2.d
-.*: 04cd3028 umaxqv v8.2d, p4, z1.d
-.*: 048d3c10 umaxqv v16.4s, p7, z0.s
-.*: 040e2200 sminqv v0.16b, p0, z16.b
-.*: 044e2501 sminqv v1.8h, p1, z8.h
-.*: 048e2882 sminqv v2.4s, p2, z4.s
-.*: 04ce2c44 sminqv v4.2d, p3, z2.d
-.*: 04ce3028 sminqv v8.2d, p4, z1.d
-.*: 048e3c10 sminqv v16.4s, p7, z0.s
-.*: 040f2200 uminqv v0.16b, p0, z16.b
-.*: 044f2501 uminqv v1.8h, p1, z8.h
-.*: 048f2882 uminqv v2.4s, p2, z4.s
-.*: 04cf2c44 uminqv v4.2d, p3, z2.d
-.*: 04cf3028 uminqv v8.2d, p4, z1.d
-.*: 048f3c10 uminqv v16.4s, p7, z0.s
+.*: 04052000 addqv v0.16b, p0, z0.b
+.*: 0405201f addqv v31.16b, p0, z0.b
+.*: 04c52000 addqv v0.2d, p0, z0.d
+.*: 04053c00 addqv v0.16b, p7, z0.b
+.*: 040523e0 addqv v0.16b, p0, z31.b
+.*: 04c53fff addqv v31.2d, p7, z31.d
+.*: 04852e8a addqv v10.4s, p3, z20.s
+.*: 041e2000 andqv v0.16b, p0, z0.b
+.*: 041e201f andqv v31.16b, p0, z0.b
+.*: 04de2000 andqv v0.2d, p0, z0.d
+.*: 041e3c00 andqv v0.16b, p7, z0.b
+.*: 041e23e0 andqv v0.16b, p0, z31.b
+.*: 04de3fff andqv v31.2d, p7, z31.d
+.*: 049e2e8a andqv v10.4s, p3, z20.s
+.*: 040c2000 smaxqv v0.16b, p0, z0.b
+.*: 040c201f smaxqv v31.16b, p0, z0.b
+.*: 04cc2000 smaxqv v0.2d, p0, z0.d
+.*: 040c3c00 smaxqv v0.16b, p7, z0.b
+.*: 040c23e0 smaxqv v0.16b, p0, z31.b
+.*: 04cc3fff smaxqv v31.2d, p7, z31.d
+.*: 048c2e8a smaxqv v10.4s, p3, z20.s
+.*: 040d2000 umaxqv v0.16b, p0, z0.b
+.*: 040d201f umaxqv v31.16b, p0, z0.b
+.*: 04cd2000 umaxqv v0.2d, p0, z0.d
+.*: 040d3c00 umaxqv v0.16b, p7, z0.b
+.*: 040d23e0 umaxqv v0.16b, p0, z31.b
+.*: 04cd3fff umaxqv v31.2d, p7, z31.d
+.*: 048d2e8a umaxqv v10.4s, p3, z20.s
+.*: 040e2000 sminqv v0.16b, p0, z0.b
+.*: 040e201f sminqv v31.16b, p0, z0.b
+.*: 04ce2000 sminqv v0.2d, p0, z0.d
+.*: 040e3c00 sminqv v0.16b, p7, z0.b
+.*: 040e23e0 sminqv v0.16b, p0, z31.b
+.*: 04ce3fff sminqv v31.2d, p7, z31.d
+.*: 048e2e8a sminqv v10.4s, p3, z20.s
.*: 0521268a dupq z10.b, z20.b\[0\]
.*: 053f268a dupq z10.b, z20.b\[15\]
.*: 0522268a dupq z10.h, z20.h\[0\]
@@ -52,40 +51,58 @@
.*: 053c268a dupq z10.s, z20.s\[3\]
.*: 0528268a dupq z10.d, z20.d\[0\]
.*: 0538268a dupq z10.d, z20.d\[1\]
-.*: 041d2200 eorqv v0.16b, p0, z16.b
-.*: 045d2501 eorqv v1.8h, p1, z8.h
-.*: 049d2882 eorqv v2.4s, p2, z4.s
-.*: 04dd2c44 eorqv v4.2d, p3, z2.d
-.*: 04dd3028 eorqv v8.2d, p4, z1.d
-.*: 049d3c10 eorqv v16.4s, p7, z0.s
+.*: 040f2000 uminqv v0.16b, p0, z0.b
+.*: 040f201f uminqv v31.16b, p0, z0.b
+.*: 04cf2000 uminqv v0.2d, p0, z0.d
+.*: 040f3c00 uminqv v0.16b, p7, z0.b
+.*: 040f23e0 uminqv v0.16b, p0, z31.b
+.*: 04cf3fff uminqv v31.2d, p7, z31.d
+.*: 048f2e8a uminqv v10.4s, p3, z20.s
.*: 05602400 extq z0.b, z0.b, z0.b, #0
.*: 0560241f extq z31.b, z31.b, z0.b, #0
.*: 056027e0 extq z0.b, z0.b, z31.b, #0
.*: 056f2400 extq z0.b, z0.b, z0.b, #15
.*: 056f27ff extq z31.b, z31.b, z31.b, #15
.*: 056727ef extq z15.b, z15.b, z31.b, #7
-.*: 6450a501 faddqv v1.8h, p1, z8.h
-.*: 6490a882 faddqv v2.4s, p2, z4.s
-.*: 64d0ac44 faddqv v4.2d, p3, z2.d
-.*: 64d0b028 faddqv v8.2d, p4, z1.d
-.*: 6490bc10 faddqv v16.4s, p7, z0.s
-.*: 6454a501 fmaxnmqv v1.8h, p1, z8.h
-.*: 6494a882 fmaxnmqv v2.4s, p2, z4.s
-.*: 64d4ac44 fmaxnmqv v4.2d, p3, z2.d
-.*: 64d4b028 fmaxnmqv v8.2d, p4, z1.d
-.*: 6494bc10 fmaxnmqv v16.4s, p7, z0.s
-.*: 6456a501 fmaxqv v1.8h, p1, z8.h
-.*: 6496a882 fmaxqv v2.4s, p2, z4.s
-.*: 64d6ac44 fmaxqv v4.2d, p3, z2.d
-.*: 64d6b028 fmaxqv v8.2d, p4, z1.d
-.*: 6496bc10 fmaxqv v16.4s, p7, z0.s
-.*: 6455a501 fminnmqv v1.8h, p1, z8.h
-.*: 6495a882 fminnmqv v2.4s, p2, z4.s
-.*: 64d5ac44 fminnmqv v4.2d, p3, z2.d
-.*: 64d5b028 fminnmqv v8.2d, p4, z1.d
-.*: 6495bc10 fminnmqv v16.4s, p7, z0.s
-.*: 6457a501 fminqv v1.8h, p1, z8.h
-.*: 6497a882 fminqv v2.4s, p2, z4.s
-.*: 64d7ac44 fminqv v4.2d, p3, z2.d
-.*: 64d7b028 fminqv v8.2d, p4, z1.d
-.*: 6497bc10 fminqv v16.4s, p7, z0.s
+.*: 041d2000 eorqv v0.16b, p0, z0.b
+.*: 041d201f eorqv v31.16b, p0, z0.b
+.*: 04dd2000 eorqv v0.2d, p0, z0.d
+.*: 041d3c00 eorqv v0.16b, p7, z0.b
+.*: 041d23e0 eorqv v0.16b, p0, z31.b
+.*: 04dd3fff eorqv v31.2d, p7, z31.d
+.*: 049d2e8a eorqv v10.4s, p3, z20.s
+.*: 6450a000 faddqv v0.8h, p0, z0.h
+.*: 6450a01f faddqv v31.8h, p0, z0.h
+.*: 64d0a000 faddqv v0.2d, p0, z0.d
+.*: 6450bc00 faddqv v0.8h, p7, z0.h
+.*: 6450a3e0 faddqv v0.8h, p0, z31.h
+.*: 64d0bfff faddqv v31.2d, p7, z31.d
+.*: 6490ae8a faddqv v10.4s, p3, z20.s
+.*: 6454a000 fmaxnmqv v0.8h, p0, z0.h
+.*: 6454a01f fmaxnmqv v31.8h, p0, z0.h
+.*: 64d4a000 fmaxnmqv v0.2d, p0, z0.d
+.*: 6454bc00 fmaxnmqv v0.8h, p7, z0.h
+.*: 6454a3e0 fmaxnmqv v0.8h, p0, z31.h
+.*: 64d4bfff fmaxnmqv v31.2d, p7, z31.d
+.*: 6494ae8a fmaxnmqv v10.4s, p3, z20.s
+.*: 6456a000 fmaxqv v0.8h, p0, z0.h
+.*: 6456a01f fmaxqv v31.8h, p0, z0.h
+.*: 64d6a000 fmaxqv v0.2d, p0, z0.d
+.*: 6456bc00 fmaxqv v0.8h, p7, z0.h
+.*: 6456a3e0 fmaxqv v0.8h, p0, z31.h
+.*: 64d6bfff fmaxqv v31.2d, p7, z31.d
+.*: 6496ae8a fmaxqv v10.4s, p3, z20.s
+.*: 6455a000 fminnmqv v0.8h, p0, z0.h
+.*: 6455a01f fminnmqv v31.8h, p0, z0.h
+.*: 64d5a000 fminnmqv v0.2d, p0, z0.d
+.*: 6455bc00 fminnmqv v0.8h, p7, z0.h
+.*: 6455a3e0 fminnmqv v0.8h, p0, z31.h
+.*: 64d5bfff fminnmqv v31.2d, p7, z31.d
+.*: 6495ae8a fminnmqv v10.4s, p3, z20.s
+.*: 6457a000 fminqv v0.8h, p0, z0.h
+.*: 6457a01f fminqv v31.8h, p0, z0.h
+.*: 64d7a000 fminqv v0.2d, p0, z0.d
+.*: 6457bc00 fminqv v0.8h, p7, z0.h
+.*: 6457a3e0 fminqv v0.8h, p0, z31.h
+.*: 64d7bfff fminqv v31.2d, p7, z31.d
+.*: 6497ae8a fminqv v10.4s, p3, z20.s
diff --git a/gas/testsuite/gas/aarch64/sve2p1-1.s b/gas/testsuite/gas/aarch64/sve2p1-1.s
index 718ebcc..cb59366 100644
--- a/gas/testsuite/gas/aarch64/sve2p1-1.s
+++ b/gas/testsuite/gas/aarch64/sve2p1-1.s
@@ -1,44 +1,43 @@
-addqv v0.16b, p0, z16.b
-addqv v1.8h, p1, z8.h
-addqv v2.4s, p2, z4.s
-addqv v4.2d, p3, z2.d
-addqv v8.2d, p4, z1.d
-addqv v16.4s, p7, z0.s
+addqv v0.16b, p0, z0.b
+addqv v31.16b, p0, z0.b
+addqv v0.2d, p0, z0.d
+addqv v0.16b, p7, z0.b
+addqv v0.16b, p0, z31.b
+addqv v31.2d, p7, z31.d
+addqv v10.4s, p3, z20.s
-andqv v0.16b, p0, z16.b
-andqv v1.8h, p1, z8.h
-andqv v2.4s, p2, z4.s
-andqv v4.2d, p3, z2.d
-andqv v8.2d, p4, z1.d
-andqv v16.4s, p7, z0.s
+andqv v0.16b, p0, z0.b
+andqv v31.16b, p0, z0.b
+andqv v0.2d, p0, z0.d
+andqv v0.16b, p7, z0.b
+andqv v0.16b, p0, z31.b
+andqv v31.2d, p7, z31.d
+andqv v10.4s, p3, z20.s
-smaxqv v0.16b, p0, z16.b
-smaxqv v1.8h, p1, z8.h
-smaxqv v2.4s, p2, z4.s
-smaxqv v4.2d, p3, z2.d
-smaxqv v8.2d, p4, z1.d
-smaxqv v16.4s, p7, z0.s
+smaxqv v0.16b, p0, z0.b
+smaxqv v31.16b, p0, z0.b
+smaxqv v0.2d, p0, z0.d
+smaxqv v0.16b, p7, z0.b
+smaxqv v0.16b, p0, z31.b
+smaxqv v31.2d, p7, z31.d
+smaxqv v10.4s, p3, z20.s
-umaxqv v0.16b, p0, z16.b
-umaxqv v1.8h, p1, z8.h
-umaxqv v2.4s, p2, z4.s
-umaxqv v4.2d, p3, z2.d
-umaxqv v8.2d, p4, z1.d
-umaxqv v16.4s, p7, z0.s
+umaxqv v0.16b, p0, z0.b
+umaxqv v31.16b, p0, z0.b
+umaxqv v0.2d, p0, z0.d
+umaxqv v0.16b, p7, z0.b
+umaxqv v0.16b, p0, z31.b
+umaxqv v31.2d, p7, z31.d
+umaxqv v10.4s, p3, z20.s
-sminqv v0.16b, p0, z16.b
-sminqv v1.8h, p1, z8.h
-sminqv v2.4s, p2, z4.s
-sminqv v4.2d, p3, z2.d
-sminqv v8.2d, p4, z1.d
-sminqv v16.4s, p7, z0.s
+sminqv v0.16b, p0, z0.b
+sminqv v31.16b, p0, z0.b
+sminqv v0.2d, p0, z0.d
+sminqv v0.16b, p7, z0.b
+sminqv v0.16b, p0, z31.b
+sminqv v31.2d, p7, z31.d
+sminqv v10.4s, p3, z20.s
-uminqv v0.16b, p0, z16.b
-uminqv v1.8h, p1, z8.h
-uminqv v2.4s, p2, z4.s
-uminqv v4.2d, p3, z2.d
-uminqv v8.2d, p4, z1.d
-uminqv v16.4s, p7, z0.s
dupq z10.b, z20.b[0]
dupq z10.b, z20.b[15]
dupq z10.h, z20.h[0]
@@ -48,12 +47,13 @@ dupq z10.s, z20.s[3]
dupq z10.d, z20.d[0]
dupq z10.d, z20.d[1]
-eorqv v0.16b, p0, z16.b
-eorqv v1.8h, p1, z8.h
-eorqv v2.4s, p2, z4.s
-eorqv v4.2d, p3, z2.d
-eorqv v8.2d, p4, z1.d
-eorqv v16.4s, p7, z0.s
+uminqv v0.16b, p0, z0.b
+uminqv v31.16b, p0, z0.b
+uminqv v0.2d, p0, z0.d
+uminqv v0.16b, p7, z0.b
+uminqv v0.16b, p0, z31.b
+uminqv v31.2d, p7, z31.d
+uminqv v10.4s, p3, z20.s
extq z0.b, z0.b, z0.b, #0
extq z31.b, z31.b, z0.b, #0
@@ -61,32 +61,51 @@ extq z0.b, z0.b, z31.b, #0
extq z0.b, z0.b, z0.b, #15
extq z31.b, z31.b, z31.b, #15
extq z15.b, z15.b, z31.b, #7
-faddqv v1.8h, p1, z8.h
-faddqv v2.4s, p2, z4.s
-faddqv v4.2d, p3, z2.d
-faddqv v8.2d, p4, z1.d
-faddqv v16.4s, p7, z0.s
-fmaxnmqv v1.8h, p1, z8.h
-fmaxnmqv v2.4s, p2, z4.s
-fmaxnmqv v4.2d, p3, z2.d
-fmaxnmqv v8.2d, p4, z1.d
-fmaxnmqv v16.4s, p7, z0.s
+eorqv v0.16b, p0, z0.b
+eorqv v31.16b, p0, z0.b
+eorqv v0.2d, p0, z0.d
+eorqv v0.16b, p7, z0.b
+eorqv v0.16b, p0, z31.b
+eorqv v31.2d, p7, z31.d
+eorqv v10.4s, p3, z20.s
-fmaxqv v1.8h, p1, z8.h
-fmaxqv v2.4s, p2, z4.s
-fmaxqv v4.2d, p3, z2.d
-fmaxqv v8.2d, p4, z1.d
-fmaxqv v16.4s, p7, z0.s
+faddqv v0.8h, p0, z0.h
+faddqv v31.8h, p0, z0.h
+faddqv v0.2d, p0, z0.d
+faddqv v0.8h, p7, z0.h
+faddqv v0.8h, p0, z31.h
+faddqv v31.2d, p7, z31.d
+faddqv v10.4s, p3, z20.s
-fminnmqv v1.8h, p1, z8.h
-fminnmqv v2.4s, p2, z4.s
-fminnmqv v4.2d, p3, z2.d
-fminnmqv v8.2d, p4, z1.d
-fminnmqv v16.4s, p7, z0.s
+fmaxnmqv v0.8h, p0, z0.h
+fmaxnmqv v31.8h, p0, z0.h
+fmaxnmqv v0.2d, p0, z0.d
+fmaxnmqv v0.8h, p7, z0.h
+fmaxnmqv v0.8h, p0, z31.h
+fmaxnmqv v31.2d, p7, z31.d
+fmaxnmqv v10.4s, p3, z20.s
-fminqv v1.8h, p1, z8.h
-fminqv v2.4s, p2, z4.s
-fminqv v4.2d, p3, z2.d
-fminqv v8.2d, p4, z1.d
-fminqv v16.4s, p7, z0.s
+fmaxqv v0.8h, p0, z0.h
+fmaxqv v31.8h, p0, z0.h
+fmaxqv v0.2d, p0, z0.d
+fmaxqv v0.8h, p7, z0.h
+fmaxqv v0.8h, p0, z31.h
+fmaxqv v31.2d, p7, z31.d
+fmaxqv v10.4s, p3, z20.s
+
+fminnmqv v0.8h, p0, z0.h
+fminnmqv v31.8h, p0, z0.h
+fminnmqv v0.2d, p0, z0.d
+fminnmqv v0.8h, p7, z0.h
+fminnmqv v0.8h, p0, z31.h
+fminnmqv v31.2d, p7, z31.d
+fminnmqv v10.4s, p3, z20.s
+
+fminqv v0.8h, p0, z0.h
+fminqv v31.8h, p0, z0.h
+fminqv v0.2d, p0, z0.d
+fminqv v0.8h, p7, z0.h
+fminqv v0.8h, p0, z31.h
+fminqv v31.2d, p7, z31.d
+fminqv v10.4s, p3, z20.s
diff --git a/gas/testsuite/gas/aarch64/sve2p1-3-bad.d b/gas/testsuite/gas/aarch64/sve2p1-3-bad.d
new file mode 100644
index 0000000..e14c382
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sve2p1-3-bad.d
@@ -0,0 +1,3 @@
+#name: Test of illegal SVE2.1 min and max instruction.
+#as: -march=armv9.4-a
+#error_output: sve2p1-3-bad.l
diff --git a/gas/testsuite/gas/aarch64/sve2p1-3-bad.l b/gas/testsuite/gas/aarch64/sve2p1-3-bad.l
new file mode 100644
index 0000000..02f1067
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sve2p1-3-bad.l
@@ -0,0 +1,208 @@
+.*: Assembler messages:
+.*: Error: operand mismatch -- `addqv v0.8h,p0,z0.b'
+.*: Info: did you mean this\?
+.*: Info: addqv v0.16b, p0, z0.b
+.*: Info: other valid variant\(s\):
+.*: Info: addqv v0.8h, p0, z0.h
+.*: Info: addqv v0.4s, p0, z0.s
+.*: Info: addqv v0.2d, p0, z0.d
+.*: Error: p0-p7 expected at operand 2 -- `addqv v31.16b,p8,z0.b'
+.*: Error: operand mismatch -- `addqv v0.2d,p7,z0.b'
+.*: Info: did you mean this\?
+.*: Info: addqv v0.16b, p7, z0.b
+.*: Info: other valid variant\(s\):
+.*: Info: addqv v0.8h, p7, z0.h
+.*: Info: addqv v0.4s, p7, z0.s
+.*: Info: addqv v0.2d, p7, z0.d
+.*: Error: bad vector arrangement type at operand 1 -- `addqv v0.2b,p7,z0.b'
+.*: Error: operand mismatch -- `smaxqv v0.8h,p0,z0.b'
+.*: Info: did you mean this\?
+.*: Info: smaxqv v0.16b, p0, z0.b
+.*: Info: other valid variant\(s\):
+.*: Info: smaxqv v0.8h, p0, z0.h
+.*: Info: smaxqv v0.4s, p0, z0.s
+.*: Info: smaxqv v0.2d, p0, z0.d
+.*: Error: p0-p7 expected at operand 2 -- `smaxqv v31.16b,p8,z0.b'
+.*: Error: operand mismatch -- `smaxqv v0.2d,p7,z0.b'
+.*: Info: did you mean this\?
+.*: Info: smaxqv v0.16b, p7, z0.b
+.*: Info: other valid variant\(s\):
+.*: Info: smaxqv v0.8h, p7, z0.h
+.*: Info: smaxqv v0.4s, p7, z0.s
+.*: Info: smaxqv v0.2d, p7, z0.d
+.*: Error: bad vector arrangement type at operand 1 -- `smaxqv v0.2b,p7,z0.b'
+.*: Error: operand mismatch -- `andqv v0.8h,p0,z0.b'
+.*: Info: did you mean this\?
+.*: Info: andqv v0.16b, p0, z0.b
+.*: Info: other valid variant\(s\):
+.*: Info: andqv v0.8h, p0, z0.h
+.*: Info: andqv v0.4s, p0, z0.s
+.*: Info: andqv v0.2d, p0, z0.d
+.*: Error: p0-p7 expected at operand 2 -- `andqv v31.16b,p8,z0.b'
+.*: Error: operand mismatch -- `andqv v0.2d,p7,z0.b'
+.*: Info: did you mean this\?
+.*: Info: andqv v0.16b, p7, z0.b
+.*: Info: other valid variant\(s\):
+.*: Info: andqv v0.8h, p7, z0.h
+.*: Info: andqv v0.4s, p7, z0.s
+.*: Info: andqv v0.2d, p7, z0.d
+.*: Error: bad vector arrangement type at operand 1 -- `andqv v0.2b,p7,z0.b'
+.*: Error: operand mismatch -- `umaxqv v0.8h,p0,z0.b'
+.*: Info: did you mean this\?
+.*: Info: umaxqv v0.16b, p0, z0.b
+.*: Info: other valid variant\(s\):
+.*: Info: umaxqv v0.8h, p0, z0.h
+.*: Info: umaxqv v0.4s, p0, z0.s
+.*: Info: umaxqv v0.2d, p0, z0.d
+.*: Error: p0-p7 expected at operand 2 -- `umaxqv v31.16b,p8,z0.b'
+.*: Error: operand mismatch -- `umaxqv v0.2d,p7,z0.b'
+.*: Info: did you mean this\?
+.*: Info: umaxqv v0.16b, p7, z0.b
+.*: Info: other valid variant\(s\):
+.*: Info: umaxqv v0.8h, p7, z0.h
+.*: Info: umaxqv v0.4s, p7, z0.s
+.*: Info: umaxqv v0.2d, p7, z0.d
+.*: Error: bad vector arrangement type at operand 1 -- `umaxqv v0.2b,p7,z0.b'
+.*: Error: operand mismatch -- `sminqv v0.8h,p0,z0.b'
+.*: Info: did you mean this\?
+.*: Info: sminqv v0.16b, p0, z0.b
+.*: Info: other valid variant\(s\):
+.*: Info: sminqv v0.8h, p0, z0.h
+.*: Info: sminqv v0.4s, p0, z0.s
+.*: Info: sminqv v0.2d, p0, z0.d
+.*: Error: p0-p7 expected at operand 2 -- `sminqv v31.16b,p8,z0.b'
+.*: Error: operand mismatch -- `sminqv v0.2d,p7,z0.b'
+.*: Info: did you mean this\?
+.*: Info: sminqv v0.16b, p7, z0.b
+.*: Info: other valid variant\(s\):
+.*: Info: sminqv v0.8h, p7, z0.h
+.*: Info: sminqv v0.4s, p7, z0.s
+.*: Info: sminqv v0.2d, p7, z0.d
+.*: Error: bad vector arrangement type at operand 1 -- `sminqv v0.2b,p7,z0.b'
+.*: Error: operand mismatch -- `uminqv v0.8h,p0,z0.b'
+.*: Info: did you mean this\?
+.*: Info: uminqv v0.16b, p0, z0.b
+.*: Info: other valid variant\(s\):
+.*: Info: uminqv v0.8h, p0, z0.h
+.*: Info: uminqv v0.4s, p0, z0.s
+.*: Info: uminqv v0.2d, p0, z0.d
+.*: Error: p0-p7 expected at operand 2 -- `uminqv v31.16b,p8,z0.b'
+.*: Error: operand mismatch -- `uminqv v0.2d,p7,z0.b'
+.*: Info: did you mean this\?
+.*: Info: uminqv v0.16b, p7, z0.b
+.*: Info: other valid variant\(s\):
+.*: Info: uminqv v0.8h, p7, z0.h
+.*: Info: uminqv v0.4s, p7, z0.s
+.*: Info: uminqv v0.2d, p7, z0.d
+.*: Error: bad vector arrangement type at operand 1 -- `uminqv v0.2b,p7,z0.b'
+.*: Error: operand mismatch -- `eorqv v0.8h,p0,z0.b'
+.*: Info: did you mean this\?
+.*: Info: eorqv v0.16b, p0, z0.b
+.*: Info: other valid variant\(s\):
+.*: Info: eorqv v0.8h, p0, z0.h
+.*: Info: eorqv v0.4s, p0, z0.s
+.*: Info: eorqv v0.2d, p0, z0.d
+.*: Error: p0-p7 expected at operand 2 -- `eorqv v31.16b,p8,z0.b'
+.*: Error: operand mismatch -- `eorqv v0.2d,p7,z0.b'
+.*: Info: did you mean this\?
+.*: Info: eorqv v0.16b, p7, z0.b
+.*: Info: other valid variant\(s\):
+.*: Info: eorqv v0.8h, p7, z0.h
+.*: Info: eorqv v0.4s, p7, z0.s
+.*: Info: eorqv v0.2d, p7, z0.d
+.*: Error: bad vector arrangement type at operand 1 -- `eorqv v0.2b,p7,z0.b'
+.*: Error: operand mismatch -- `faddqv v0.8h,p0,z0.b'
+.*: Info: did you mean this\?
+.*: Info: faddqv v0.8h, p0, z0.h
+.*: Info: other valid variant\(s\):
+.*: Info: faddqv v0.4s, p0, z0.s
+.*: Info: faddqv v0.2d, p0, z0.d
+.*: Error: operand mismatch -- `faddqv v31.16b,p8,z0.b'
+.*: Info: did you mean this\?
+.*: Info: faddqv v31.8h, p8, z0.h
+.*: Info: other valid variant\(s\):
+.*: Info: faddqv v31.4s, p8, z0.s
+.*: Info: faddqv v31.2d, p8, z0.d
+.*: Error: operand mismatch -- `faddqv v0.2d,p7,z0.b'
+.*: Info: did you mean this\?
+.*: Info: faddqv v0.2d, p7, z0.d
+.*: Info: other valid variant\(s\):
+.*: Info: faddqv v0.8h, p7, z0.h
+.*: Info: faddqv v0.4s, p7, z0.s
+.*: Error: bad vector arrangement type at operand 1 -- `faddqv v0.2b,p7,z0.b'
+.*: Error: operand mismatch -- `fmaxnmqv v0.8h,p0,z0.b'
+.*: Info: did you mean this\?
+.*: Info: fmaxnmqv v0.8h, p0, z0.h
+.*: Info: other valid variant\(s\):
+.*: Info: fmaxnmqv v0.4s, p0, z0.s
+.*: Info: fmaxnmqv v0.2d, p0, z0.d
+.*: Error: operand mismatch -- `fmaxnmqv v31.16b,p8,z0.b'
+.*: Info: did you mean this\?
+.*: Info: fmaxnmqv v31.8h, p8, z0.h
+.*: Info: other valid variant\(s\):
+.*: Info: fmaxnmqv v31.4s, p8, z0.s
+.*: Info: fmaxnmqv v31.2d, p8, z0.d
+.*: Error: operand mismatch -- `fmaxnmqv v0.2d,p7,z0.b'
+.*: Info: did you mean this\?
+.*: Info: fmaxnmqv v0.2d, p7, z0.d
+.*: Info: other valid variant\(s\):
+.*: Info: fmaxnmqv v0.8h, p7, z0.h
+.*: Info: fmaxnmqv v0.4s, p7, z0.s
+.*: Error: bad vector arrangement type at operand 1 -- `fmaxnmqv v0.2b,p7,z0.b'
+.*: Error: operand mismatch -- `fmaxqv v0.8h,p0,z0.b'
+.*: Info: did you mean this\?
+.*: Info: fmaxqv v0.8h, p0, z0.h
+.*: Info: other valid variant\(s\):
+.*: Info: fmaxqv v0.4s, p0, z0.s
+.*: Info: fmaxqv v0.2d, p0, z0.d
+.*: Error: operand mismatch -- `fmaxqv v31.16b,p8,z0.b'
+.*: Info: did you mean this\?
+.*: Info: fmaxqv v31.8h, p8, z0.h
+.*: Info: other valid variant\(s\):
+.*: Info: fmaxqv v31.4s, p8, z0.s
+.*: Info: fmaxqv v31.2d, p8, z0.d
+.*: Error: operand mismatch -- `fmaxqv v0.2d,p7,z0.b'
+.*: Info: did you mean this\?
+.*: Info: fmaxqv v0.2d, p7, z0.d
+.*: Info: other valid variant\(s\):
+.*: Info: fmaxqv v0.8h, p7, z0.h
+.*: Info: fmaxqv v0.4s, p7, z0.s
+.*: Error: bad vector arrangement type at operand 1 -- `fmaxqv v0.2b,p7,z0.b'
+.*: Error: operand mismatch -- `fminnmqv v0.8h,p0,z0.b'
+.*: Info: did you mean this\?
+.*: Info: fminnmqv v0.8h, p0, z0.h
+.*: Info: other valid variant\(s\):
+.*: Info: fminnmqv v0.4s, p0, z0.s
+.*: Info: fminnmqv v0.2d, p0, z0.d
+.*: Error: operand mismatch -- `fminnmqv v31.16b,p8,z0.b'
+.*: Info: did you mean this\?
+.*: Info: fminnmqv v31.8h, p8, z0.h
+.*: Info: other valid variant\(s\):
+.*: Info: fminnmqv v31.4s, p8, z0.s
+.*: Info: fminnmqv v31.2d, p8, z0.d
+.*: Error: operand mismatch -- `fminnmqv v0.2d,p7,z0.b'
+.*: Info: did you mean this\?
+.*: Info: fminnmqv v0.2d, p7, z0.d
+.*: Info: other valid variant\(s\):
+.*: Info: fminnmqv v0.8h, p7, z0.h
+.*: Info: fminnmqv v0.4s, p7, z0.s
+.*: Error: bad vector arrangement type at operand 1 -- `fminnmqv v0.2b,p7,z0.b'
+.*: Error: operand mismatch -- `fminqv v0.8h,p0,z0.b'
+.*: Info: did you mean this\?
+.*: Info: fminqv v0.8h, p0, z0.h
+.*: Info: other valid variant\(s\):
+.*: Info: fminqv v0.4s, p0, z0.s
+.*: Info: fminqv v0.2d, p0, z0.d
+.*: Error: operand mismatch -- `fminqv v31.16b,p8,z0.b'
+.*: Info: did you mean this\?
+.*: Info: fminqv v31.8h, p8, z0.h
+.*: Info: other valid variant\(s\):
+.*: Info: fminqv v31.4s, p8, z0.s
+.*: Info: fminqv v31.2d, p8, z0.d
+.*: Error: operand mismatch -- `fminqv v0.2d,p7,z0.b'
+.*: Info: did you mean this\?
+.*: Info: fminqv v0.2d, p7, z0.d
+.*: Info: other valid variant\(s\):
+.*: Info: fminqv v0.8h, p7, z0.h
+.*: Info: fminqv v0.4s, p7, z0.s
+.*: Error: bad vector arrangement type at operand 1 -- `fminqv v0.2b,p7,z0.b'
diff --git a/gas/testsuite/gas/aarch64/sve2p1-3-bad.s b/gas/testsuite/gas/aarch64/sve2p1-3-bad.s
new file mode 100644
index 0000000..5e56786
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sve2p1-3-bad.s
@@ -0,0 +1,59 @@
+addqv v0.8h, p0, z0.b
+addqv v31.16b, p8, z0.b
+addqv v0.2d, p7, z0.b
+addqv v0.2b, p7, z0.b
+
+smaxqv v0.8h, p0, z0.b
+smaxqv v31.16b, p8, z0.b
+smaxqv v0.2d, p7, z0.b
+smaxqv v0.2b, p7, z0.b
+
+andqv v0.8h, p0, z0.b
+andqv v31.16b, p8, z0.b
+andqv v0.2d, p7, z0.b
+andqv v0.2b, p7, z0.b
+
+umaxqv v0.8h, p0, z0.b
+umaxqv v31.16b, p8, z0.b
+umaxqv v0.2d, p7, z0.b
+umaxqv v0.2b, p7, z0.b
+
+sminqv v0.8h, p0, z0.b
+sminqv v31.16b, p8, z0.b
+sminqv v0.2d, p7, z0.b
+sminqv v0.2b, p7, z0.b
+
+uminqv v0.8h, p0, z0.b
+uminqv v31.16b, p8, z0.b
+uminqv v0.2d, p7, z0.b
+uminqv v0.2b, p7, z0.b
+
+eorqv v0.8h, p0, z0.b
+eorqv v31.16b, p8, z0.b
+eorqv v0.2d, p7, z0.b
+eorqv v0.2b, p7, z0.b
+
+faddqv v0.8h, p0, z0.b
+faddqv v31.16b, p8, z0.b
+faddqv v0.2d, p7, z0.b
+faddqv v0.2b, p7, z0.b
+
+fmaxnmqv v0.8h, p0, z0.b
+fmaxnmqv v31.16b, p8, z0.b
+fmaxnmqv v0.2d, p7, z0.b
+fmaxnmqv v0.2b, p7, z0.b
+
+fmaxqv v0.8h, p0, z0.b
+fmaxqv v31.16b, p8, z0.b
+fmaxqv v0.2d, p7, z0.b
+fmaxqv v0.2b, p7, z0.b
+
+fminnmqv v0.8h, p0, z0.b
+fminnmqv v31.16b, p8, z0.b
+fminnmqv v0.2d, p7, z0.b
+fminnmqv v0.2b, p7, z0.b
+
+fminqv v0.8h, p0, z0.b
+fminqv v31.16b, p8, z0.b
+fminqv v0.2d, p7, z0.b
+fminqv v0.2b, p7, z0.b