[binutils-gdb] aarch64: Add extra tests for sve2p1 min max instructions.

SRINATH PARVATHANENI sripar01@sourceware.org
Tue Jun 25 12:39:29 GMT 2024


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=98043d5fae27fa31e65e421ba1aef18732b2acd5

commit 98043d5fae27fa31e65e421ba1aef18732b2acd5
Author: Srinath Parvathaneni <srinath.parvathaneni@arm.com>
Date:   Tue Jun 25 13:01:50 2024 +0100

    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.

Diff:
---
 gas/testsuite/gas/aarch64/sve2p1-1-bad.l | 151 ++++++++++++----------
 gas/testsuite/gas/aarch64/sve2p1-1.d     | 151 ++++++++++++----------
 gas/testsuite/gas/aarch64/sve2p1-1.s     | 153 +++++++++++++----------
 gas/testsuite/gas/aarch64/sve2p1-3-bad.d |   3 +
 gas/testsuite/gas/aarch64/sve2p1-3-bad.l | 208 +++++++++++++++++++++++++++++++
 gas/testsuite/gas/aarch64/sve2p1-3-bad.s |  59 +++++++++
 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 888504de74e..0b8b5add130 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 da57edf7e81..f4c36b65512 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 718ebccbf75..cb59366ce4c 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 00000000000..e14c382511f
--- /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 00000000000..02f1067f55a
--- /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 00000000000..5e56786bad1
--- /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


More information about the Binutils-cvs mailing list