[v1,6/7] aarch64: Add extra tests for sve2p1 min max instructions.

Message ID 20240522100439.1050296-10-srinath.parvathaneni@arm.com
State Superseded
Headers
Series aarch64: Fix the FEAT_SVE2p1 related issues. |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_binutils_build--master-arm success Testing passed
linaro-tcwg-bot/tcwg_binutils_build--master-aarch64 fail Testing failed
linaro-tcwg-bot/tcwg_binutils_check--master-arm success Testing passed

Commit Message

srinath May 22, 2024, 10:04 a.m. UTC
  Hi,

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.

Regression testing for aarch64-none-elf target and found no regressions.

Ok for binutils-master?

Regards,
Srinath.
---
 gas/testsuite/gas/aarch64/sve2p1-1-bad.l | 151 ++++++++--------
 gas/testsuite/gas/aarch64/sve2p1-1.d     | 151 ++++++++--------
 gas/testsuite/gas/aarch64/sve2p1-1.s     | 152 +++++++++--------
 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, 523 insertions(+), 201 deletions(-)
 create mode 100644 gas/testsuite/gas/aarch64/sve2p1-3-bad.d
 create mode 100644 gas/testsuite/gas/aarch64/sve2p1-3-bad.l
 create mode 100644 gas/testsuite/gas/aarch64/sve2p1-3-bad.s
  

Patch

diff --git a/gas/testsuite/gas/aarch64/sve2p1-1-bad.l b/gas/testsuite/gas/aarch64/sve2p1-1-bad.l
index 1b6a9683b65..24c8793a4cd 100644
--- a/gas/testsuite/gas/aarch64/sve2p1-1-bad.l
+++ b/gas/testsuite/gas/aarch64/sve2p1-1-bad.l
@@ -1,68 +1,85 @@ 
 .*: 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 `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 `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'
+.*: selected processor does not support `addqv v0.16b,p0,z0.b'
+.*: selected processor does not support `addqv v31.16b,p0,z0.b'
+.*: selected processor does not support `addqv v0.2d,p0,z0.d'
+.*: selected processor does not support `addqv v0.16b,p7,z0.b'
+.*: selected processor does not support `addqv v0.16b,p0,z31.b'
+.*: selected processor does not support `addqv v31.2d,p7,z31.d'
+.*: selected processor does not support `addqv v10.4s,p3,z20.s'
+.*: selected processor does not support `andqv v0.16b,p0,z0.b'
+.*: selected processor does not support `andqv v31.16b,p0,z0.b'
+.*: selected processor does not support `andqv v0.2d,p0,z0.d'
+.*: selected processor does not support `andqv v0.16b,p7,z0.b'
+.*: selected processor does not support `andqv v0.16b,p0,z31.b'
+.*: selected processor does not support `andqv v31.2d,p7,z31.d'
+.*: selected processor does not support `andqv v10.4s,p3,z20.s'
+.*: selected processor does not support `smaxqv v0.16b,p0,z0.b'
+.*: selected processor does not support `smaxqv v31.16b,p0,z0.b'
+.*: selected processor does not support `smaxqv v0.2d,p0,z0.d'
+.*: selected processor does not support `smaxqv v0.16b,p7,z0.b'
+.*: selected processor does not support `smaxqv v0.16b,p0,z31.b'
+.*: selected processor does not support `smaxqv v31.2d,p7,z31.d'
+.*: selected processor does not support `smaxqv v10.4s,p3,z20.s'
+.*: selected processor does not support `umaxqv v0.16b,p0,z0.b'
+.*: selected processor does not support `umaxqv v31.16b,p0,z0.b'
+.*: selected processor does not support `umaxqv v0.2d,p0,z0.d'
+.*: selected processor does not support `umaxqv v0.16b,p7,z0.b'
+.*: selected processor does not support `umaxqv v0.16b,p0,z31.b'
+.*: selected processor does not support `umaxqv v31.2d,p7,z31.d'
+.*: selected processor does not support `umaxqv v10.4s,p3,z20.s'
+.*: selected processor does not support `sminqv v0.16b,p0,z0.b'
+.*: selected processor does not support `sminqv v31.16b,p0,z0.b'
+.*: selected processor does not support `sminqv v0.2d,p0,z0.d'
+.*: selected processor does not support `sminqv v0.16b,p7,z0.b'
+.*: selected processor does not support `sminqv v0.16b,p0,z31.b'
+.*: selected processor does not support `sminqv v31.2d,p7,z31.d'
+.*: selected processor does not support `sminqv v10.4s,p3,z20.s'
+.*: selected processor does not support `uminqv v0.16b,p0,z0.b'
+.*: selected processor does not support `uminqv v31.16b,p0,z0.b'
+.*: selected processor does not support `uminqv v0.2d,p0,z0.d'
+.*: selected processor does not support `uminqv v0.16b,p7,z0.b'
+.*: selected processor does not support `uminqv v0.16b,p0,z31.b'
+.*: selected processor does not support `uminqv v31.2d,p7,z31.d'
+.*: selected processor does not support `uminqv v10.4s,p3,z20.s'
+.*: selected processor does not support `eorqv v0.16b,p0,z0.b'
+.*: selected processor does not support `eorqv v31.16b,p0,z0.b'
+.*: selected processor does not support `eorqv v0.2d,p0,z0.d'
+.*: selected processor does not support `eorqv v0.16b,p7,z0.b'
+.*: selected processor does not support `eorqv v0.16b,p0,z31.b'
+.*: selected processor does not support `eorqv v31.2d,p7,z31.d'
+.*: selected processor does not support `eorqv v10.4s,p3,z20.s'
+.*: selected processor does not support `faddqv v0.8h,p0,z0.h'
+.*: selected processor does not support `faddqv v31.8h,p0,z0.h'
+.*: selected processor does not support `faddqv v0.2d,p0,z0.d'
+.*: selected processor does not support `faddqv v0.8h,p7,z0.h'
+.*: selected processor does not support `faddqv v0.8h,p0,z31.h'
+.*: selected processor does not support `faddqv v31.2d,p7,z31.d'
+.*: selected processor does not support `faddqv v10.4s,p3,z20.s'
+.*: selected processor does not support `fmaxnmqv v0.8h,p0,z0.h'
+.*: selected processor does not support `fmaxnmqv v31.8h,p0,z0.h'
+.*: selected processor does not support `fmaxnmqv v0.2d,p0,z0.d'
+.*: selected processor does not support `fmaxnmqv v0.8h,p7,z0.h'
+.*: selected processor does not support `fmaxnmqv v0.8h,p0,z31.h'
+.*: selected processor does not support `fmaxnmqv v31.2d,p7,z31.d'
+.*: selected processor does not support `fmaxnmqv v10.4s,p3,z20.s'
+.*: selected processor does not support `fmaxqv v0.8h,p0,z0.h'
+.*: selected processor does not support `fmaxqv v31.8h,p0,z0.h'
+.*: selected processor does not support `fmaxqv v0.2d,p0,z0.d'
+.*: selected processor does not support `fmaxqv v0.8h,p7,z0.h'
+.*: selected processor does not support `fmaxqv v0.8h,p0,z31.h'
+.*: selected processor does not support `fmaxqv v31.2d,p7,z31.d'
+.*: selected processor does not support `fmaxqv v10.4s,p3,z20.s'
+.*: selected processor does not support `fminnmqv v0.8h,p0,z0.h'
+.*: selected processor does not support `fminnmqv v31.8h,p0,z0.h'
+.*: selected processor does not support `fminnmqv v0.2d,p0,z0.d'
+.*: selected processor does not support `fminnmqv v0.8h,p7,z0.h'
+.*: selected processor does not support `fminnmqv v0.8h,p0,z31.h'
+.*: selected processor does not support `fminnmqv v31.2d,p7,z31.d'
+.*: selected processor does not support `fminnmqv v10.4s,p3,z20.s'
+.*: selected processor does not support `fminqv v0.8h,p0,z0.h'
+.*: selected processor does not support `fminqv v31.8h,p0,z0.h'
+.*: selected processor does not support `fminqv v0.2d,p0,z0.d'
+.*: selected processor does not support `fminqv v0.8h,p7,z0.h'
+.*: selected processor does not support `fminqv v0.8h,p0,z31.h'
+.*: selected processor does not support `fminqv v31.2d,p7,z31.d'
+.*: 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 8277a1386f2..1f52e3c7f84 100644
--- a/gas/testsuite/gas/aarch64/sve2p1-1.d
+++ b/gas/testsuite/gas/aarch64/sve2p1-1.d
@@ -8,70 +8,87 @@ 
 [^:]+:
 
 [^:]+:
-.*:	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
-.*:	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
-.*:	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
+.*:	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
+.*:	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
+.*:	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 1e7c2ceceba..3dd35b84a45 100644
--- a/gas/testsuite/gas/aarch64/sve2p1-1.s
+++ b/gas/testsuite/gas/aarch64/sve2p1-1.s
@@ -1,77 +1,95 @@ 
-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
-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
 
-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
+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
 
-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
+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
 
-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
+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
 
-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
+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
 
-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
+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..a1fbdc6cbdf
--- /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: invalid element size 2 and vector size combination b 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: invalid element size 2 and vector size combination b 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: invalid element size 2 and vector size combination b 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: invalid element size 2 and vector size combination b 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: invalid element size 2 and vector size combination b 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: invalid element size 2 and vector size combination b 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: invalid element size 2 and vector size combination b 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: invalid element size 2 and vector size combination b 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: invalid element size 2 and vector size combination b 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: invalid element size 2 and vector size combination b 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: invalid element size 2 and vector size combination b 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: invalid element size 2 and vector size combination b 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