public inbox for binutils-cvs@sourceware.org
 help / color / mirror / Atom feed
* [binutils-gdb] aarch64: Add the SME2 saturating conversion instructions
@ 2023-03-30 10:16 Richard Sandiford
  0 siblings, 0 replies; only message in thread
From: Richard Sandiford @ 2023-03-30 10:16 UTC (permalink / raw)
  To: bfd-cvs

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

commit ce623e7aa486d1330c9a4529c77a302d2fdcb801
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Thu Mar 30 11:09:16 2023 +0100

    aarch64: Add the SME2 saturating conversion instructions
    
    There are two instruction formats here:
    
    - SQCVT, SQCVTU and UQCVT, which operate on lists of two or
      four registers.
    
    - SQCVTN, SQCVTUN and UQCVTN, which operate on lists of
      four registers.

Diff:
---
 gas/testsuite/gas/aarch64/sme2-25-invalid.d |    3 +
 gas/testsuite/gas/aarch64/sme2-25-invalid.l |   48 ++
 gas/testsuite/gas/aarch64/sme2-25-invalid.s |   28 +
 gas/testsuite/gas/aarch64/sme2-25-noarch.d  |    3 +
 gas/testsuite/gas/aarch64/sme2-25-noarch.l  |   37 +
 gas/testsuite/gas/aarch64/sme2-25.d         |   45 ++
 gas/testsuite/gas/aarch64/sme2-25.s         |   44 ++
 gas/testsuite/gas/aarch64/sme2-26-invalid.d |    3 +
 gas/testsuite/gas/aarch64/sme2-26-invalid.l |   13 +
 gas/testsuite/gas/aarch64/sme2-26-invalid.s |   14 +
 gas/testsuite/gas/aarch64/sme2-26-noarch.d  |    3 +
 gas/testsuite/gas/aarch64/sme2-26-noarch.l  |   25 +
 gas/testsuite/gas/aarch64/sme2-26.d         |   33 +
 gas/testsuite/gas/aarch64/sme2-26.s         |   29 +
 include/opcode/aarch64.h                    |    1 +
 opcodes/aarch64-asm.c                       |    5 +
 opcodes/aarch64-dis-2.c                     | 1035 +++++++++++++++------------
 opcodes/aarch64-dis.c                       |    4 +
 opcodes/aarch64-opc.c                       |    1 +
 opcodes/aarch64-opc.h                       |    1 +
 opcodes/aarch64-tbl.h                       |   14 +
 21 files changed, 921 insertions(+), 468 deletions(-)

diff --git a/gas/testsuite/gas/aarch64/sme2-25-invalid.d b/gas/testsuite/gas/aarch64/sme2-25-invalid.d
new file mode 100644
index 00000000000..62b23cd19a7
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sme2-25-invalid.d
@@ -0,0 +1,3 @@
+#as: -march=armv8-a
+#source: sme2-25-invalid.s
+#error_output: sme2-25-invalid.l
diff --git a/gas/testsuite/gas/aarch64/sme2-25-invalid.l b/gas/testsuite/gas/aarch64/sme2-25-invalid.l
new file mode 100644
index 00000000000..5b18a2ac99c
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sme2-25-invalid.l
@@ -0,0 +1,48 @@
+[^ :]+: Assembler messages:
+[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `sqcvt 0,{z0\.s-z1\.s}'
+[^ :]+:[0-9]+: Error: expected '{' at operand 2 -- `sqcvt z0\.h,0'
+[^ :]+:[0-9]+: Error: operand mismatch -- `sqcvt z0\.s,{z0\.s-z1\.s}'
+[^ :]+:[0-9]+: Info:    did you mean this\?
+[^ :]+:[0-9]+: Info:    	sqcvt z0\.b, {z0\.s-z1\.s}
+[^ :]+:[0-9]+: Info:    other valid variant\(s\):
+[^ :]+:[0-9]+: Info:    	sqcvt z0\.h, {z0\.d-z1\.d}
+[^ :]+:[0-9]+: Error: operand mismatch -- `sqcvt z0\.b,{z0\.d-z1\.d}'
+[^ :]+:[0-9]+: Info:    did you mean this\?
+[^ :]+:[0-9]+: Info:    	sqcvt z0\.b, {z0\.s-z1\.s}
+[^ :]+:[0-9]+: Info:    other valid variant\(s\):
+[^ :]+:[0-9]+: Info:    	sqcvt z0\.h, {z0\.d-z1\.d}
+[^ :]+:[0-9]+: Error: operand mismatch -- `sqcvt z0\.s,{z0\.d-z1\.d}'
+[^ :]+:[0-9]+: Info:    did you mean this\?
+[^ :]+:[0-9]+: Info:    	sqcvt z0\.h, {z0\.d-z1\.d}
+[^ :]+:[0-9]+: Info:    other valid variant\(s\):
+[^ :]+:[0-9]+: Info:    	sqcvt z0\.b, {z0\.s-z1\.s}
+[^ :]+:[0-9]+: Error: operand mismatch -- `sqcvt z0\.s,{z0\.s-z3\.s}'
+[^ :]+:[0-9]+: Info:    did you mean this\?
+[^ :]+:[0-9]+: Info:    	sqcvt z0\.b, {z0\.s-z3\.s}
+[^ :]+:[0-9]+: Info:    other valid variant\(s\):
+[^ :]+:[0-9]+: Info:    	sqcvt z0\.h, {z0\.d-z3\.d}
+[^ :]+:[0-9]+: Error: operand mismatch -- `sqcvt z0\.b,{z0\.d-z3\.d}'
+[^ :]+:[0-9]+: Info:    did you mean this\?
+[^ :]+:[0-9]+: Info:    	sqcvt z0\.b, {z0\.s-z3\.s}
+[^ :]+:[0-9]+: Info:    other valid variant\(s\):
+[^ :]+:[0-9]+: Info:    	sqcvt z0\.h, {z0\.d-z3\.d}
+[^ :]+:[0-9]+: Error: operand mismatch -- `sqcvt z0\.s,{z0\.d-z3\.d}'
+[^ :]+:[0-9]+: Info:    did you mean this\?
+[^ :]+:[0-9]+: Info:    	sqcvt z0\.h, {z0\.d-z3\.d}
+[^ :]+:[0-9]+: Info:    other valid variant\(s\):
+[^ :]+:[0-9]+: Info:    	sqcvt z0\.b, {z0\.s-z3\.s}
+[^ :]+:[0-9]+: Error: expected a list of 2 registers at operand 2 -- `sqcvt z0\.h,{z0\.s-z2\.s}'
+[^ :]+:[0-9]+: Error: expected a list of 2 registers at operand 2 -- `sqcvt z0\.h,{z0\.s-z3\.s}'
+[^ :]+:[0-9]+: Error: the register list must have a stride of 1 at operand 2 -- `sqcvt z0\.h,{z0\.s,z8\.s}'
+[^ :]+:[0-9]+: Error: start register out of range at operand 2 -- `sqcvt z0\.h,{z1\.s-z2\.s}'
+[^ :]+:[0-9]+: Error: start register out of range at operand 2 -- `sqcvt z0\.h,{z31\.s,z0\.s}'
+[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 2 -- `sqcvt z0\.b,{z0\.s-z1\.s}'
+[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 2 -- `sqcvt z0\.b,{z0\.s-z2\.s}'
+[^ :]+:[0-9]+: Error: start register out of range at operand 2 -- `sqcvt z0\.b,{z1\.s-z4\.s}'
+[^ :]+:[0-9]+: Error: start register out of range at operand 2 -- `sqcvt z0\.b,{z2\.s-z5\.s}'
+[^ :]+:[0-9]+: Error: start register out of range at operand 2 -- `sqcvt z0\.b,{z3\.s-z6\.s}'
+[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 2 -- `sqcvt z0\.h,{z0\.d-z1\.d}'
+[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 2 -- `sqcvt z0\.h,{z0\.d-z2\.d}'
+[^ :]+:[0-9]+: Error: start register out of range at operand 2 -- `sqcvt z0\.h,{z1\.d-z4\.d}'
+[^ :]+:[0-9]+: Error: start register out of range at operand 2 -- `sqcvt z0\.h,{z2\.d-z5\.d}'
+[^ :]+:[0-9]+: Error: start register out of range at operand 2 -- `sqcvt z0\.h,{z3\.d-z6\.d}'
diff --git a/gas/testsuite/gas/aarch64/sme2-25-invalid.s b/gas/testsuite/gas/aarch64/sme2-25-invalid.s
new file mode 100644
index 00000000000..10395f75c40
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sme2-25-invalid.s
@@ -0,0 +1,28 @@
+	sqcvt	0, { z0.s - z1.s }
+	sqcvt	z0.h, 0
+
+	sqcvt	z0.s, { z0.s - z1.s }
+	sqcvt	z0.b, { z0.d - z1.d }
+	sqcvt	z0.s, { z0.d - z1.d }
+
+	sqcvt	z0.s, { z0.s - z3.s }
+	sqcvt	z0.b, { z0.d - z3.d }
+	sqcvt	z0.s, { z0.d - z3.d }
+
+	sqcvt	z0.h, { z0.s - z2.s }
+	sqcvt	z0.h, { z0.s - z3.s }
+	sqcvt	z0.h, { z0.s, z8.s }
+	sqcvt	z0.h, { z1.s - z2.s }
+	sqcvt	z0.h, { z31.s, z0.s }
+
+	sqcvt	z0.b, { z0.s - z1.s }
+	sqcvt	z0.b, { z0.s - z2.s }
+	sqcvt	z0.b, { z1.s - z4.s }
+	sqcvt	z0.b, { z2.s - z5.s }
+	sqcvt	z0.b, { z3.s - z6.s }
+
+	sqcvt	z0.h, { z0.d - z1.d }
+	sqcvt	z0.h, { z0.d - z2.d }
+	sqcvt	z0.h, { z1.d - z4.d }
+	sqcvt	z0.h, { z2.d - z5.d }
+	sqcvt	z0.h, { z3.d - z6.d }
diff --git a/gas/testsuite/gas/aarch64/sme2-25-noarch.d b/gas/testsuite/gas/aarch64/sme2-25-noarch.d
new file mode 100644
index 00000000000..e1e9d3968c8
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sme2-25-noarch.d
@@ -0,0 +1,3 @@
+#as: -march=armv8-a+sme
+#source: sme2-25.s
+#error_output: sme2-25-noarch.l
diff --git a/gas/testsuite/gas/aarch64/sme2-25-noarch.l b/gas/testsuite/gas/aarch64/sme2-25-noarch.l
new file mode 100644
index 00000000000..66998fffd32
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sme2-25-noarch.l
@@ -0,0 +1,37 @@
+[^ :]+: Assembler messages:
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvt z0\.h,{z0\.s-z1\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvt z31\.h,{z0\.s-z1\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvt z0\.h,{z30\.s-z31\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvt z19\.h,{z14\.s-z15\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvt z0\.b,{z0\.s-z3\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvt z31\.b,{z0\.s-z3\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvt z0\.b,{z28\.s-z31\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvt z11\.b,{z20\.s-z23\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvt z0\.h,{z0\.d-z3\.d}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvt z31\.h,{z0\.d-z3\.d}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvt z0\.h,{z28\.d-z31\.d}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvt z22\.h,{z4\.d-z7\.d}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvtu z0\.h,{z0\.s-z1\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvtu z31\.h,{z0\.s-z1\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvtu z0\.h,{z30\.s-z31\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvtu z19\.h,{z14\.s-z15\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvtu z0\.b,{z0\.s-z3\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvtu z31\.b,{z0\.s-z3\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvtu z0\.b,{z28\.s-z31\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvtu z11\.b,{z20\.s-z23\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvtu z0\.h,{z0\.d-z3\.d}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvtu z31\.h,{z0\.d-z3\.d}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvtu z0\.h,{z28\.d-z31\.d}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvtu z22\.h,{z4\.d-z7\.d}'
+[^ :]+:[0-9]+: Error: selected processor does not support `uqcvt z0\.h,{z0\.s-z1\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `uqcvt z31\.h,{z0\.s-z1\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `uqcvt z0\.h,{z30\.s-z31\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `uqcvt z19\.h,{z14\.s-z15\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `uqcvt z0\.b,{z0\.s-z3\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `uqcvt z31\.b,{z0\.s-z3\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `uqcvt z0\.b,{z28\.s-z31\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `uqcvt z11\.b,{z20\.s-z23\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `uqcvt z0\.h,{z0\.d-z3\.d}'
+[^ :]+:[0-9]+: Error: selected processor does not support `uqcvt z31\.h,{z0\.d-z3\.d}'
+[^ :]+:[0-9]+: Error: selected processor does not support `uqcvt z0\.h,{z28\.d-z31\.d}'
+[^ :]+:[0-9]+: Error: selected processor does not support `uqcvt z22\.h,{z4\.d-z7\.d}'
diff --git a/gas/testsuite/gas/aarch64/sme2-25.d b/gas/testsuite/gas/aarch64/sme2-25.d
new file mode 100644
index 00000000000..b2fdce756c3
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sme2-25.d
@@ -0,0 +1,45 @@
+#as: -march=armv8-a+sme2
+#objdump: -dr
+
+[^:]+:     file format .*
+
+
+[^:]+:
+
+[^:]+:
+[^:]+:	c123e000 	sqcvt	z0\.h, {z0\.s-z1\.s}
+[^:]+:	c123e01f 	sqcvt	z31\.h, {z0\.s-z1\.s}
+[^:]+:	c123e3c0 	sqcvt	z0\.h, {z30\.s-z31\.s}
+[^:]+:	c123e1d3 	sqcvt	z19\.h, {z14\.s-z15\.s}
+[^:]+:	c133e000 	sqcvt	z0\.b, {z0\.s-z3\.s}
+[^:]+:	c133e01f 	sqcvt	z31\.b, {z0\.s-z3\.s}
+[^:]+:	c133e380 	sqcvt	z0\.b, {z28\.s-z31\.s}
+[^:]+:	c133e28b 	sqcvt	z11\.b, {z20\.s-z23\.s}
+[^:]+:	c1b3e000 	sqcvt	z0\.h, {z0\.d-z3\.d}
+[^:]+:	c1b3e01f 	sqcvt	z31\.h, {z0\.d-z3\.d}
+[^:]+:	c1b3e380 	sqcvt	z0\.h, {z28\.d-z31\.d}
+[^:]+:	c1b3e096 	sqcvt	z22\.h, {z4\.d-z7\.d}
+[^:]+:	c163e000 	sqcvtu	z0\.h, {z0\.s-z1\.s}
+[^:]+:	c163e01f 	sqcvtu	z31\.h, {z0\.s-z1\.s}
+[^:]+:	c163e3c0 	sqcvtu	z0\.h, {z30\.s-z31\.s}
+[^:]+:	c163e1d3 	sqcvtu	z19\.h, {z14\.s-z15\.s}
+[^:]+:	c173e000 	sqcvtu	z0\.b, {z0\.s-z3\.s}
+[^:]+:	c173e01f 	sqcvtu	z31\.b, {z0\.s-z3\.s}
+[^:]+:	c173e380 	sqcvtu	z0\.b, {z28\.s-z31\.s}
+[^:]+:	c173e28b 	sqcvtu	z11\.b, {z20\.s-z23\.s}
+[^:]+:	c1f3e000 	sqcvtu	z0\.h, {z0\.d-z3\.d}
+[^:]+:	c1f3e01f 	sqcvtu	z31\.h, {z0\.d-z3\.d}
+[^:]+:	c1f3e380 	sqcvtu	z0\.h, {z28\.d-z31\.d}
+[^:]+:	c1f3e096 	sqcvtu	z22\.h, {z4\.d-z7\.d}
+[^:]+:	c123e020 	uqcvt	z0\.h, {z0\.s-z1\.s}
+[^:]+:	c123e03f 	uqcvt	z31\.h, {z0\.s-z1\.s}
+[^:]+:	c123e3e0 	uqcvt	z0\.h, {z30\.s-z31\.s}
+[^:]+:	c123e1f3 	uqcvt	z19\.h, {z14\.s-z15\.s}
+[^:]+:	c133e020 	uqcvt	z0\.b, {z0\.s-z3\.s}
+[^:]+:	c133e03f 	uqcvt	z31\.b, {z0\.s-z3\.s}
+[^:]+:	c133e3a0 	uqcvt	z0\.b, {z28\.s-z31\.s}
+[^:]+:	c133e2ab 	uqcvt	z11\.b, {z20\.s-z23\.s}
+[^:]+:	c1b3e020 	uqcvt	z0\.h, {z0\.d-z3\.d}
+[^:]+:	c1b3e03f 	uqcvt	z31\.h, {z0\.d-z3\.d}
+[^:]+:	c1b3e3a0 	uqcvt	z0\.h, {z28\.d-z31\.d}
+[^:]+:	c1b3e0b6 	uqcvt	z22\.h, {z4\.d-z7\.d}
diff --git a/gas/testsuite/gas/aarch64/sme2-25.s b/gas/testsuite/gas/aarch64/sme2-25.s
new file mode 100644
index 00000000000..45a2a70b021
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sme2-25.s
@@ -0,0 +1,44 @@
+	sqcvt	z0.h, { z0.s - z1.s }
+	sqcvt	z31.h, { z0.s - z1.s }
+	sqcvt	z0.h, { z30.s - z31.s }
+	sqcvt	z19.h, { z14.s - z15.s }
+
+	sqcvt	z0.b, { z0.s - z3.s }
+	sqcvt	z31.b, { z0.s - z3.s }
+	sqcvt	z0.b, { z28.s - z31.s }
+	sqcvt	z11.b, { z20.s - z23.s }
+
+	sqcvt	z0.h, { z0.d - z3.d }
+	sqcvt	z31.h, { z0.d - z3.d }
+	sqcvt	z0.h, { z28.d - z31.d }
+	sqcvt	z22.h, { z4.d - z7.d }
+
+	sqcvtu	z0.h, { z0.s - z1.s }
+	sqcvtu	z31.h, { z0.s - z1.s }
+	sqcvtu	z0.h, { z30.s - z31.s }
+	sqcvtu	z19.h, { z14.s - z15.s }
+
+	sqcvtu	z0.b, { z0.s - z3.s }
+	sqcvtu	z31.b, { z0.s - z3.s }
+	sqcvtu	z0.b, { z28.s - z31.s }
+	sqcvtu	z11.b, { z20.s - z23.s }
+
+	sqcvtu	z0.h, { z0.d - z3.d }
+	sqcvtu	z31.h, { z0.d - z3.d }
+	sqcvtu	z0.h, { z28.d - z31.d }
+	sqcvtu	z22.h, { z4.d - z7.d }
+
+	uqcvt	z0.h, { z0.s - z1.s }
+	uqcvt	z31.h, { z0.s - z1.s }
+	uqcvt	z0.h, { z30.s - z31.s }
+	uqcvt	z19.h, { z14.s - z15.s }
+
+	uqcvt	z0.b, { z0.s - z3.s }
+	uqcvt	z31.b, { z0.s - z3.s }
+	uqcvt	z0.b, { z28.s - z31.s }
+	uqcvt	z11.b, { z20.s - z23.s }
+
+	uqcvt	z0.h, { z0.d - z3.d }
+	uqcvt	z31.h, { z0.d - z3.d }
+	uqcvt	z0.h, { z28.d - z31.d }
+	uqcvt	z22.h, { z4.d - z7.d }
diff --git a/gas/testsuite/gas/aarch64/sme2-26-invalid.d b/gas/testsuite/gas/aarch64/sme2-26-invalid.d
new file mode 100644
index 00000000000..5e336bf0905
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sme2-26-invalid.d
@@ -0,0 +1,3 @@
+#as: -march=armv8-a
+#source: sme2-26-invalid.s
+#error_output: sme2-26-invalid.l
diff --git a/gas/testsuite/gas/aarch64/sme2-26-invalid.l b/gas/testsuite/gas/aarch64/sme2-26-invalid.l
new file mode 100644
index 00000000000..08c2f7fc7af
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sme2-26-invalid.l
@@ -0,0 +1,13 @@
+[^ :]+: Assembler messages:
+[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 1 -- `sqcvtn 0,{z0\.s-z3\.s}'
+[^ :]+:[0-9]+: Error: expected '{' at operand 2 -- `sqcvtn z0\.b,0'
+[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 2 -- `sqcvtn z0\.b,{z0\.s-z1\.s}'
+[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 2 -- `sqcvtn z0\.b,{z0\.s-z2\.s}'
+[^ :]+:[0-9]+: Error: start register out of range at operand 2 -- `sqcvtn z0\.b,{z1\.s-z4\.s}'
+[^ :]+:[0-9]+: Error: start register out of range at operand 2 -- `sqcvtn z0\.b,{z2\.s-z5\.s}'
+[^ :]+:[0-9]+: Error: start register out of range at operand 2 -- `sqcvtn z0\.b,{z3\.s-z6\.s}'
+[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 2 -- `sqcvtn z0\.h,{z0\.d-z1\.d}'
+[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 2 -- `sqcvtn z0\.h,{z0\.d-z2\.d}'
+[^ :]+:[0-9]+: Error: start register out of range at operand 2 -- `sqcvtn z0\.h,{z1\.d-z4\.d}'
+[^ :]+:[0-9]+: Error: start register out of range at operand 2 -- `sqcvtn z0\.h,{z2\.d-z5\.d}'
+[^ :]+:[0-9]+: Error: start register out of range at operand 2 -- `sqcvtn z0\.h,{z3\.d-z6\.d}'
diff --git a/gas/testsuite/gas/aarch64/sme2-26-invalid.s b/gas/testsuite/gas/aarch64/sme2-26-invalid.s
new file mode 100644
index 00000000000..2eddec902b2
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sme2-26-invalid.s
@@ -0,0 +1,14 @@
+	sqcvtn	0, { z0.s - z3.s }
+	sqcvtn	z0.b, 0
+
+	sqcvtn	z0.b, { z0.s - z1.s }
+	sqcvtn	z0.b, { z0.s - z2.s }
+	sqcvtn	z0.b, { z1.s - z4.s }
+	sqcvtn	z0.b, { z2.s - z5.s }
+	sqcvtn	z0.b, { z3.s - z6.s }
+
+	sqcvtn	z0.h, { z0.d - z1.d }
+	sqcvtn	z0.h, { z0.d - z2.d }
+	sqcvtn	z0.h, { z1.d - z4.d }
+	sqcvtn	z0.h, { z2.d - z5.d }
+	sqcvtn	z0.h, { z3.d - z6.d }
diff --git a/gas/testsuite/gas/aarch64/sme2-26-noarch.d b/gas/testsuite/gas/aarch64/sme2-26-noarch.d
new file mode 100644
index 00000000000..e9af412a1e0
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sme2-26-noarch.d
@@ -0,0 +1,3 @@
+#as: -march=armv8-a+sme
+#source: sme2-26.s
+#error_output: sme2-26-noarch.l
diff --git a/gas/testsuite/gas/aarch64/sme2-26-noarch.l b/gas/testsuite/gas/aarch64/sme2-26-noarch.l
new file mode 100644
index 00000000000..b1bd4899d5e
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sme2-26-noarch.l
@@ -0,0 +1,25 @@
+[^ :]+: Assembler messages:
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvtn z0\.b,{z0\.s-z3\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvtn z31\.b,{z0\.s-z3\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvtn z0\.b,{z28\.s-z31\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvtn z11\.b,{z20\.s-z23\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvtn z0\.h,{z0\.d-z3\.d}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvtn z31\.h,{z0\.d-z3\.d}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvtn z0\.h,{z28\.d-z31\.d}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvtn z22\.h,{z4\.d-z7\.d}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvtun z0\.b,{z0\.s-z3\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvtun z31\.b,{z0\.s-z3\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvtun z0\.b,{z28\.s-z31\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvtun z11\.b,{z20\.s-z23\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvtun z0\.h,{z0\.d-z3\.d}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvtun z31\.h,{z0\.d-z3\.d}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvtun z0\.h,{z28\.d-z31\.d}'
+[^ :]+:[0-9]+: Error: selected processor does not support `sqcvtun z22\.h,{z4\.d-z7\.d}'
+[^ :]+:[0-9]+: Error: selected processor does not support `uqcvtn z0\.b,{z0\.s-z3\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `uqcvtn z31\.b,{z0\.s-z3\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `uqcvtn z0\.b,{z28\.s-z31\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `uqcvtn z11\.b,{z20\.s-z23\.s}'
+[^ :]+:[0-9]+: Error: selected processor does not support `uqcvtn z0\.h,{z0\.d-z3\.d}'
+[^ :]+:[0-9]+: Error: selected processor does not support `uqcvtn z31\.h,{z0\.d-z3\.d}'
+[^ :]+:[0-9]+: Error: selected processor does not support `uqcvtn z0\.h,{z28\.d-z31\.d}'
+[^ :]+:[0-9]+: Error: selected processor does not support `uqcvtn z22\.h,{z4\.d-z7\.d}'
diff --git a/gas/testsuite/gas/aarch64/sme2-26.d b/gas/testsuite/gas/aarch64/sme2-26.d
new file mode 100644
index 00000000000..96e0ca990f6
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sme2-26.d
@@ -0,0 +1,33 @@
+#as: -march=armv8-a+sme2
+#objdump: -dr
+
+[^:]+:     file format .*
+
+
+[^:]+:
+
+[^:]+:
+[^:]+:	c133e040 	sqcvtn	z0\.b, {z0\.s-z3\.s}
+[^:]+:	c133e05f 	sqcvtn	z31\.b, {z0\.s-z3\.s}
+[^:]+:	c133e3c0 	sqcvtn	z0\.b, {z28\.s-z31\.s}
+[^:]+:	c133e2cb 	sqcvtn	z11\.b, {z20\.s-z23\.s}
+[^:]+:	c1b3e040 	sqcvtn	z0\.h, {z0\.d-z3\.d}
+[^:]+:	c1b3e05f 	sqcvtn	z31\.h, {z0\.d-z3\.d}
+[^:]+:	c1b3e3c0 	sqcvtn	z0\.h, {z28\.d-z31\.d}
+[^:]+:	c1b3e0d6 	sqcvtn	z22\.h, {z4\.d-z7\.d}
+[^:]+:	c173e040 	sqcvtun	z0\.b, {z0\.s-z3\.s}
+[^:]+:	c173e05f 	sqcvtun	z31\.b, {z0\.s-z3\.s}
+[^:]+:	c173e3c0 	sqcvtun	z0\.b, {z28\.s-z31\.s}
+[^:]+:	c173e2cb 	sqcvtun	z11\.b, {z20\.s-z23\.s}
+[^:]+:	c1f3e040 	sqcvtun	z0\.h, {z0\.d-z3\.d}
+[^:]+:	c1f3e05f 	sqcvtun	z31\.h, {z0\.d-z3\.d}
+[^:]+:	c1f3e3c0 	sqcvtun	z0\.h, {z28\.d-z31\.d}
+[^:]+:	c1f3e0d6 	sqcvtun	z22\.h, {z4\.d-z7\.d}
+[^:]+:	c133e060 	uqcvtn	z0\.b, {z0\.s-z3\.s}
+[^:]+:	c133e07f 	uqcvtn	z31\.b, {z0\.s-z3\.s}
+[^:]+:	c133e3e0 	uqcvtn	z0\.b, {z28\.s-z31\.s}
+[^:]+:	c133e2eb 	uqcvtn	z11\.b, {z20\.s-z23\.s}
+[^:]+:	c1b3e060 	uqcvtn	z0\.h, {z0\.d-z3\.d}
+[^:]+:	c1b3e07f 	uqcvtn	z31\.h, {z0\.d-z3\.d}
+[^:]+:	c1b3e3e0 	uqcvtn	z0\.h, {z28\.d-z31\.d}
+[^:]+:	c1b3e0f6 	uqcvtn	z22\.h, {z4\.d-z7\.d}
diff --git a/gas/testsuite/gas/aarch64/sme2-26.s b/gas/testsuite/gas/aarch64/sme2-26.s
new file mode 100644
index 00000000000..72bdbf68676
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sme2-26.s
@@ -0,0 +1,29 @@
+	sqcvtn	z0.b, { z0.s - z3.s }
+	sqcvtn	z31.b, { z0.s - z3.s }
+	sqcvtn	z0.b, { z28.s - z31.s }
+	sqcvtn	z11.b, { z20.s - z23.s }
+
+	sqcvtn	z0.h, { z0.d - z3.d }
+	sqcvtn	z31.h, { z0.d - z3.d }
+	sqcvtn	z0.h, { z28.d - z31.d }
+	sqcvtn	z22.h, { z4.d - z7.d }
+
+	sqcvtun	z0.b, { z0.s - z3.s }
+	sqcvtun	z31.b, { z0.s - z3.s }
+	sqcvtun	z0.b, { z28.s - z31.s }
+	sqcvtun	z11.b, { z20.s - z23.s }
+
+	sqcvtun	z0.h, { z0.d - z3.d }
+	sqcvtun	z31.h, { z0.d - z3.d }
+	sqcvtun	z0.h, { z28.d - z31.d }
+	sqcvtun	z22.h, { z4.d - z7.d }
+
+	uqcvtn	z0.b, { z0.s - z3.s }
+	uqcvtn	z31.b, { z0.s - z3.s }
+	uqcvtn	z0.b, { z28.s - z31.s }
+	uqcvtn	z11.b, { z20.s - z23.s }
+
+	uqcvtn	z0.h, { z0.d - z3.d }
+	uqcvtn	z31.h, { z0.d - z3.d }
+	uqcvtn	z0.h, { z28.d - z31.d }
+	uqcvtn	z22.h, { z4.d - z7.d }
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h
index f18f383a711..b445bf758fc 100644
--- a/include/opcode/aarch64.h
+++ b/include/opcode/aarch64.h
@@ -717,6 +717,7 @@ enum aarch64_insn_class
   sme_size_12_hs,
   sme_size_22,
   sme_size_22_hsd,
+  sme_sz_23,
   sme_str,
   sme_start,
   sme_stop,
diff --git a/opcodes/aarch64-asm.c b/opcodes/aarch64-asm.c
index b1d2d589a13..5f2e51044ce 100644
--- a/opcodes/aarch64-asm.c
+++ b/opcodes/aarch64-asm.c
@@ -1970,6 +1970,11 @@ aarch64_encode_variant_using_iclass (struct aarch64_inst *inst)
 		    aarch64_get_variant (inst) + 1, 0);
       break;
 
+    case sme_sz_23:
+      insert_field (FLD_SME_sz_23, &inst->value,
+		    aarch64_get_variant (inst), 0);
+      break;
+
     case sve_cpy:
       insert_fields (&inst->value, aarch64_get_variant (inst),
 		     0, 2, FLD_SVE_M_14, FLD_size);
diff --git a/opcodes/aarch64-dis-2.c b/opcodes/aarch64-dis-2.c
index 759f6ab3611..55a01e6e593 100644
--- a/opcodes/aarch64-dis-2.c
+++ b/opcodes/aarch64-dis-2.c
@@ -188,7 +188,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1000000x10x100xxxxxxxxxxxxxxxxx
                                                      zero.  */
-                                                  return 2865;
+                                                  return 2874;
                                                 }
                                             }
                                         }
@@ -856,7 +856,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000001xxxxx000xxxxxxxxxxxx0
                                                          st1b.  */
-                                                      return 2699;
+                                                      return 2705;
                                                     }
                                                   else
                                                     {
@@ -864,7 +864,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000001xxxxx100xxxxxxxxxxxx0
                                                          st1b.  */
-                                                      return 2700;
+                                                      return 2706;
                                                     }
                                                 }
                                               else
@@ -875,7 +875,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000001xxxxx010xxxxxxxxxxxx0
                                                          st1w.  */
-                                                      return 2723;
+                                                      return 2729;
                                                     }
                                                   else
                                                     {
@@ -883,7 +883,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000001xxxxx110xxxxxxxxxxxx0
                                                          st1w.  */
-                                                      return 2724;
+                                                      return 2730;
                                                     }
                                                 }
                                             }
@@ -897,7 +897,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000001xxxxx001xxxxxxxxxxxx0
                                                          st1h.  */
-                                                      return 2715;
+                                                      return 2721;
                                                     }
                                                   else
                                                     {
@@ -905,7 +905,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000001xxxxx101xxxxxxxxxxxx0
                                                          st1h.  */
-                                                      return 2716;
+                                                      return 2722;
                                                     }
                                                 }
                                               else
@@ -916,7 +916,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000001xxxxx011xxxxxxxxxxxx0
                                                          st1d.  */
-                                                      return 2707;
+                                                      return 2713;
                                                     }
                                                   else
                                                     {
@@ -924,7 +924,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000001xxxxx111xxxxxxxxxxxx0
                                                          st1d.  */
-                                                      return 2708;
+                                                      return 2714;
                                                     }
                                                 }
                                             }
@@ -941,7 +941,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000001xxxxx000xxxxxxxxxxxx1
                                                          stnt1b.  */
-                                                      return 2731;
+                                                      return 2737;
                                                     }
                                                   else
                                                     {
@@ -949,7 +949,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000001xxxxx100xxxxxxxxxxxx1
                                                          stnt1b.  */
-                                                      return 2732;
+                                                      return 2738;
                                                     }
                                                 }
                                               else
@@ -960,7 +960,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000001xxxxx010xxxxxxxxxxxx1
                                                          stnt1w.  */
-                                                      return 2755;
+                                                      return 2761;
                                                     }
                                                   else
                                                     {
@@ -968,7 +968,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000001xxxxx110xxxxxxxxxxxx1
                                                          stnt1w.  */
-                                                      return 2756;
+                                                      return 2762;
                                                     }
                                                 }
                                             }
@@ -982,7 +982,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000001xxxxx001xxxxxxxxxxxx1
                                                          stnt1h.  */
-                                                      return 2747;
+                                                      return 2753;
                                                     }
                                                   else
                                                     {
@@ -990,7 +990,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000001xxxxx101xxxxxxxxxxxx1
                                                          stnt1h.  */
-                                                      return 2748;
+                                                      return 2754;
                                                     }
                                                 }
                                               else
@@ -1001,7 +1001,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000001xxxxx011xxxxxxxxxxxx1
                                                          stnt1d.  */
-                                                      return 2739;
+                                                      return 2745;
                                                     }
                                                   else
                                                     {
@@ -1009,7 +1009,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000001xxxxx111xxxxxxxxxxxx1
                                                          stnt1d.  */
-                                                      return 2740;
+                                                      return 2746;
                                                     }
                                                 }
                                             }
@@ -1073,7 +1073,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000011xxxxx000xxxxxxxxxxxx0
                                                          st1b.  */
-                                                      return 2695;
+                                                      return 2701;
                                                     }
                                                   else
                                                     {
@@ -1081,7 +1081,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000011xxxxx100xxxxxxxxxxxx0
                                                          st1b.  */
-                                                      return 2696;
+                                                      return 2702;
                                                     }
                                                 }
                                               else
@@ -1092,7 +1092,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000011xxxxx010xxxxxxxxxxxx0
                                                          st1w.  */
-                                                      return 2719;
+                                                      return 2725;
                                                     }
                                                   else
                                                     {
@@ -1100,7 +1100,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000011xxxxx110xxxxxxxxxxxx0
                                                          st1w.  */
-                                                      return 2720;
+                                                      return 2726;
                                                     }
                                                 }
                                             }
@@ -1114,7 +1114,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000011xxxxx001xxxxxxxxxxxx0
                                                          st1h.  */
-                                                      return 2711;
+                                                      return 2717;
                                                     }
                                                   else
                                                     {
@@ -1122,7 +1122,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000011xxxxx101xxxxxxxxxxxx0
                                                          st1h.  */
-                                                      return 2712;
+                                                      return 2718;
                                                     }
                                                 }
                                               else
@@ -1133,7 +1133,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000011xxxxx011xxxxxxxxxxxx0
                                                          st1d.  */
-                                                      return 2703;
+                                                      return 2709;
                                                     }
                                                   else
                                                     {
@@ -1141,7 +1141,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000011xxxxx111xxxxxxxxxxxx0
                                                          st1d.  */
-                                                      return 2704;
+                                                      return 2710;
                                                     }
                                                 }
                                             }
@@ -1158,7 +1158,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000011xxxxx000xxxxxxxxxxxx1
                                                          stnt1b.  */
-                                                      return 2727;
+                                                      return 2733;
                                                     }
                                                   else
                                                     {
@@ -1166,7 +1166,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000011xxxxx100xxxxxxxxxxxx1
                                                          stnt1b.  */
-                                                      return 2728;
+                                                      return 2734;
                                                     }
                                                 }
                                               else
@@ -1177,7 +1177,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000011xxxxx010xxxxxxxxxxxx1
                                                          stnt1w.  */
-                                                      return 2751;
+                                                      return 2757;
                                                     }
                                                   else
                                                     {
@@ -1185,7 +1185,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000011xxxxx110xxxxxxxxxxxx1
                                                          stnt1w.  */
-                                                      return 2752;
+                                                      return 2758;
                                                     }
                                                 }
                                             }
@@ -1199,7 +1199,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000011xxxxx001xxxxxxxxxxxx1
                                                          stnt1h.  */
-                                                      return 2743;
+                                                      return 2749;
                                                     }
                                                   else
                                                     {
@@ -1207,7 +1207,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000011xxxxx101xxxxxxxxxxxx1
                                                          stnt1h.  */
-                                                      return 2744;
+                                                      return 2750;
                                                     }
                                                 }
                                               else
@@ -1218,7 +1218,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000011xxxxx011xxxxxxxxxxxx1
                                                          stnt1d.  */
-                                                      return 2735;
+                                                      return 2741;
                                                     }
                                                   else
                                                     {
@@ -1226,7 +1226,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0x00000011xxxxx111xxxxxxxxxxxx1
                                                          stnt1d.  */
-                                                      return 2736;
+                                                      return 2742;
                                                     }
                                                 }
                                             }
@@ -1326,7 +1326,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx0000010000xxxxxxxxxxxxxxx001xx
                                                          usmlall.  */
-                                                      return 2846;
+                                                      return 2855;
                                                     }
                                                 }
                                               else
@@ -1358,7 +1358,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx0000010001xxxx0xxxxxxxxx100xxx
                                                              usmlall.  */
-                                                          return 2847;
+                                                          return 2856;
                                                         }
                                                       else
                                                         {
@@ -1366,7 +1366,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx0000010001xxxx1xxxxxxxxx100xxx
                                                              usmlall.  */
-                                                          return 2848;
+                                                          return 2857;
                                                         }
                                                     }
                                                 }
@@ -1381,7 +1381,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx0000010000xxxxxxxxxxxxxxx100xx
                                                          umlall.  */
-                                                      return 2810;
+                                                      return 2816;
                                                     }
                                                   else
                                                     {
@@ -1389,7 +1389,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx0000010000xxxxxxxxxxxxxxx101xx
                                                          sumlall.  */
-                                                      return 2770;
+                                                      return 2776;
                                                     }
                                                 }
                                               else
@@ -1402,7 +1402,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx0000010001xxxx0xxxxxxxxx010xxx
                                                              umlall.  */
-                                                          return 2811;
+                                                          return 2817;
                                                         }
                                                       else
                                                         {
@@ -1410,7 +1410,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx0000010001xxxx1xxxxxxxxx010xxx
                                                              umlall.  */
-                                                          return 2812;
+                                                          return 2818;
                                                         }
                                                     }
                                                   else
@@ -1421,7 +1421,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx0000010001xxxx0xxxxxxxxx110xxx
                                                              sumlall.  */
-                                                          return 2771;
+                                                          return 2777;
                                                         }
                                                       else
                                                         {
@@ -1429,7 +1429,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx0000010001xxxx1xxxxxxxxx110xxx
                                                              sumlall.  */
-                                                          return 2772;
+                                                          return 2778;
                                                         }
                                                     }
                                                 }
@@ -1475,7 +1475,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx0000010000xxxxxxxxxxxxxxx11xxx
                                                      umlsll.  */
-                                                  return 2826;
+                                                  return 2832;
                                                 }
                                               else
                                                 {
@@ -1485,7 +1485,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx0000010001xxxx0xxxxxxxxxx11xxx
                                                          umlsll.  */
-                                                      return 2827;
+                                                      return 2833;
                                                     }
                                                   else
                                                     {
@@ -1493,7 +1493,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx0000010001xxxx1xxxxxxxxxx11xxx
                                                          umlsll.  */
-                                                      return 2828;
+                                                      return 2834;
                                                     }
                                                 }
                                             }
@@ -1721,7 +1721,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x10000011000xxxxxxx0xxxxxxx00xxx
                                                              smlall.  */
-                                                          return 2868;
+                                                          return 2877;
                                                         }
                                                       else
                                                         {
@@ -1731,7 +1731,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x10000011001xxxx0xx0xxxxxxx00xxx
                                                                  smlall.  */
-                                                              return 2869;
+                                                              return 2878;
                                                             }
                                                           else
                                                             {
@@ -1739,7 +1739,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x10000011001xxxx1xx0xxxxxxx00xxx
                                                                  smlall.  */
-                                                              return 2870;
+                                                              return 2879;
                                                             }
                                                         }
                                                     }
@@ -1806,7 +1806,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x10000011000xxxxxxx0xxxxxxx10xxx
                                                              umlall.  */
-                                                          return 2877;
+                                                          return 2886;
                                                         }
                                                       else
                                                         {
@@ -1816,7 +1816,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x10000011001xxxx0xx0xxxxxxx10xxx
                                                                  umlall.  */
-                                                              return 2878;
+                                                              return 2887;
                                                             }
                                                           else
                                                             {
@@ -1824,7 +1824,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x10000011001xxxx1xx0xxxxxxx10xxx
                                                                  umlall.  */
-                                                              return 2879;
+                                                              return 2888;
                                                             }
                                                         }
                                                     }
@@ -1884,7 +1884,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx0000011000xxxxxxx0xxxxxxx01xxx
                                                          smlsll.  */
-                                                      return 2871;
+                                                      return 2880;
                                                     }
                                                   else
                                                     {
@@ -1894,7 +1894,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx0000011001xxxx0xx0xxxxxxx01xxx
                                                              smlsll.  */
-                                                          return 2872;
+                                                          return 2881;
                                                         }
                                                       else
                                                         {
@@ -1902,7 +1902,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx0000011001xxxx1xx0xxxxxxx01xxx
                                                              smlsll.  */
-                                                          return 2873;
+                                                          return 2882;
                                                         }
                                                     }
                                                 }
@@ -1943,7 +1943,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx100001100xxxxxxxxxxxxxxxx01xxx
                                                  umopa.  */
-                                              return 2834;
+                                              return 2840;
                                             }
                                         }
                                       else
@@ -1958,7 +1958,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx0000011000xxxxxxx0xxxxxxx11xxx
                                                          umlsll.  */
-                                                      return 2880;
+                                                      return 2889;
                                                     }
                                                   else
                                                     {
@@ -1968,7 +1968,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx0000011001xxxx0xx0xxxxxxx11xxx
                                                              umlsll.  */
-                                                          return 2881;
+                                                          return 2890;
                                                         }
                                                       else
                                                         {
@@ -1976,7 +1976,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx0000011001xxxx1xx0xxxxxxx11xxx
                                                              umlsll.  */
-                                                          return 2882;
+                                                          return 2891;
                                                         }
                                                     }
                                                 }
@@ -2017,7 +2017,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx100001100xxxxxxxxxxxxxxxx11xxx
                                                  umops.  */
-                                              return 2835;
+                                              return 2841;
                                             }
                                         }
                                     }
@@ -2103,7 +2103,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx000010101xxxx0xx0xxxxxx100xxx
                                                              svdot.  */
-                                                          return 2776;
+                                                          return 2782;
                                                         }
                                                       else
                                                         {
@@ -2133,7 +2133,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx000010101xxxx0xx1xxxxxx010xxx
                                                              udot.  */
-                                                          return 2782;
+                                                          return 2788;
                                                         }
                                                     }
                                                   else
@@ -2144,7 +2144,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx000010101xxxx0xx0xxxxxx110xxx
                                                              uvdot.  */
-                                                          return 2855;
+                                                          return 2864;
                                                         }
                                                       else
                                                         {
@@ -2152,7 +2152,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx000010101xxxx0xx1xxxxxx110xxx
                                                              udot.  */
-                                                          return 2788;
+                                                          return 2794;
                                                         }
                                                     }
                                                 }
@@ -2232,7 +2232,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx000010101xxxx1xx0xxxxxx100xxx
                                                              svdot.  */
-                                                          return 2777;
+                                                          return 2783;
                                                         }
                                                       else
                                                         {
@@ -2262,7 +2262,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx000010101xxxx1xx1xxxxxx010xxx
                                                              udot.  */
-                                                          return 2783;
+                                                          return 2789;
                                                         }
                                                     }
                                                   else
@@ -2273,7 +2273,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx000010101xxxx1xx0xxxxxx110xxx
                                                              uvdot.  */
-                                                          return 2856;
+                                                          return 2865;
                                                         }
                                                       else
                                                         {
@@ -2281,7 +2281,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx000010101xxxx1xx1xxxxxx110xxx
                                                              udot.  */
-                                                          return 2789;
+                                                          return 2795;
                                                         }
                                                     }
                                                 }
@@ -2362,7 +2362,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxx000010101xxxx0xxxxxxxxx101xxx
                                                          usdot.  */
-                                                      return 2840;
+                                                      return 2849;
                                                     }
                                                 }
                                               else
@@ -2392,7 +2392,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxx000010101xxxx0xxxxxxxxx111xxx
                                                          sudot.  */
-                                                      return 2766;
+                                                      return 2772;
                                                     }
                                                 }
                                             }
@@ -2460,7 +2460,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx000010101xxxx1xx0xxxxxx101xxx
                                                              usvdot.  */
-                                                          return 2854;
+                                                          return 2863;
                                                         }
                                                       else
                                                         {
@@ -2468,7 +2468,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx000010101xxxx1xx1xxxxxx101xxx
                                                              usdot.  */
-                                                          return 2841;
+                                                          return 2850;
                                                         }
                                                     }
                                                 }
@@ -2490,7 +2490,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx000010101xxxx1xx0xxxxxx111xxx
                                                              suvdot.  */
-                                                          return 2775;
+                                                          return 2781;
                                                         }
                                                       else
                                                         {
@@ -2498,7 +2498,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx000010101xxxx1xx1xxxxxx111xxx
                                                              sudot.  */
-                                                          return 2767;
+                                                          return 2773;
                                                         }
                                                     }
                                                 }
@@ -2522,7 +2522,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx000001110xxxxx0xx0xxxxxxx00xxx
                                                          fmla.  */
-                                                      return 2884;
+                                                      return 2893;
                                                     }
                                                   else
                                                     {
@@ -2530,7 +2530,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx000001110xxxxx1xx0xxxxxxx00xxx
                                                          fmla.  */
-                                                      return 2885;
+                                                      return 2894;
                                                     }
                                                 }
                                               else
@@ -2576,7 +2576,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx000001110xxxxx0xx00xxxxxx01xxx
                                                              sdot.  */
-                                                          return 2866;
+                                                          return 2875;
                                                         }
                                                       else
                                                         {
@@ -2584,7 +2584,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx000001110xxxxx1xx00xxxxxx01xxx
                                                              sdot.  */
-                                                          return 2867;
+                                                          return 2876;
                                                         }
                                                     }
                                                   else
@@ -2593,7 +2593,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx000001110xxxxxxxx01xxxxxx01xxx
                                                          svdot.  */
-                                                      return 2874;
+                                                      return 2883;
                                                     }
                                                 }
                                               else
@@ -2662,7 +2662,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx000001110xxxxx0xx0xxxxxxx10xxx
                                                          fmls.  */
-                                                      return 2886;
+                                                      return 2895;
                                                     }
                                                   else
                                                     {
@@ -2670,7 +2670,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx000001110xxxxx1xx0xxxxxxx10xxx
                                                          fmls.  */
-                                                      return 2887;
+                                                      return 2896;
                                                     }
                                                 }
                                               else
@@ -2681,7 +2681,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx0000011100xxxxxxx1xxxxxxx10xxx
                                                          umlal.  */
-                                                      return 2802;
+                                                      return 2808;
                                                     }
                                                   else
                                                     {
@@ -2691,7 +2691,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx0000011101xxxx0xx1xxxxxxx10xxx
                                                              umlal.  */
-                                                          return 2803;
+                                                          return 2809;
                                                         }
                                                       else
                                                         {
@@ -2699,7 +2699,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx0000011101xxxx1xx1xxxxxxx10xxx
                                                              umlal.  */
-                                                          return 2804;
+                                                          return 2810;
                                                         }
                                                     }
                                                 }
@@ -2725,7 +2725,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxx00001110xxxxx0xx00xxxxxx11xxx
                                                          udot.  */
-                                                      return 2875;
+                                                      return 2884;
                                                     }
                                                   else
                                                     {
@@ -2733,7 +2733,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxx00001110xxxxx1xx00xxxxxx11xxx
                                                          udot.  */
-                                                      return 2876;
+                                                      return 2885;
                                                     }
                                                 }
                                               else
@@ -2742,7 +2742,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxx00001110xxxxxxxx01xxxxxx11xxx
                                                      uvdot.  */
-                                                  return 2883;
+                                                  return 2892;
                                                 }
                                             }
                                           else
@@ -2753,7 +2753,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxx000011100xxxxxxx1xxxxxxx11xxx
                                                      umlsl.  */
-                                                  return 2818;
+                                                  return 2824;
                                                 }
                                               else
                                                 {
@@ -2763,7 +2763,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxx000011101xxxx0xx1xxxxxxx11xxx
                                                          umlsl.  */
-                                                      return 2819;
+                                                      return 2825;
                                                     }
                                                   else
                                                     {
@@ -2771,7 +2771,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxx000011101xxxx1xx1xxxxxxx11xxx
                                                          umlsl.  */
-                                                      return 2820;
+                                                      return 2826;
                                                     }
                                                 }
                                             }
@@ -2868,7 +2868,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000010x10xxxx0xx000xxxxx001xx
                                                                          usmlall.  */
-                                                                      return 2850;
+                                                                      return 2859;
                                                                     }
                                                                   else
                                                                     {
@@ -2876,7 +2876,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000010x11xxxx0xx000xxxxx001xx
                                                                          usmlall.  */
-                                                                      return 2851;
+                                                                      return 2860;
                                                                     }
                                                                 }
                                                               else
@@ -2887,7 +2887,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000011x1xxxx00xx000xxxxx001xx
                                                                          usmlall.  */
-                                                                      return 2852;
+                                                                      return 2861;
                                                                     }
                                                                   else
                                                                     {
@@ -2895,7 +2895,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000011x1xxxx10xx000xxxxx001xx
                                                                          usmlall.  */
-                                                                      return 2853;
+                                                                      return 2862;
                                                                     }
                                                                 }
                                                             }
@@ -3092,7 +3092,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1000001xx1xxxxx0xx001xxxxx001xx
                                                                  usmlall.  */
-                                                              return 2849;
+                                                              return 2858;
                                                             }
                                                         }
                                                       else
@@ -3198,7 +3198,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000010x10xxxx0xx000xxxxx100xx
                                                                          umlall.  */
-                                                                      return 2814;
+                                                                      return 2820;
                                                                     }
                                                                   else
                                                                     {
@@ -3206,7 +3206,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000010x11xxxx0xx000xxxxx100xx
                                                                          umlall.  */
-                                                                      return 2815;
+                                                                      return 2821;
                                                                     }
                                                                 }
                                                               else
@@ -3217,7 +3217,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000011x1xxxx00xx000xxxxx100xx
                                                                          umlall.  */
-                                                                      return 2816;
+                                                                      return 2822;
                                                                     }
                                                                   else
                                                                     {
@@ -3225,7 +3225,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000011x1xxxx10xx000xxxxx100xx
                                                                          umlall.  */
-                                                                      return 2817;
+                                                                      return 2823;
                                                                     }
                                                                 }
                                                             }
@@ -3237,7 +3237,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx10xxxx0xx000xxxxx101xx
                                                                      sumlall.  */
-                                                                  return 2773;
+                                                                  return 2779;
                                                                 }
                                                               else
                                                                 {
@@ -3245,7 +3245,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx11xxxx0xx000xxxxx101xx
                                                                      sumlall.  */
-                                                                  return 2774;
+                                                                  return 2780;
                                                                 }
                                                             }
                                                         }
@@ -3346,7 +3346,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000010110xxxx0xx010xxxxx10xxx
                                                                          umlal.  */
-                                                                      return 2806;
+                                                                      return 2812;
                                                                     }
                                                                   else
                                                                     {
@@ -3354,7 +3354,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000010111xxxx0xx010xxxxx10xxx
                                                                          umlal.  */
-                                                                      return 2807;
+                                                                      return 2813;
                                                                     }
                                                                 }
                                                               else
@@ -3365,7 +3365,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1000001111xxxx00xx010xxxxx10xxx
                                                                          umlal.  */
-                                                                      return 2808;
+                                                                      return 2814;
                                                                     }
                                                                   else
                                                                     {
@@ -3373,7 +3373,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1000001111xxxx10xx010xxxxx10xxx
                                                                          umlal.  */
-                                                                      return 2809;
+                                                                      return 2815;
                                                                     }
                                                                 }
                                                             }
@@ -3431,7 +3431,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1000001xx1xxxxx0xx001xxxxx10xxx
                                                              umlall.  */
-                                                          return 2813;
+                                                          return 2819;
                                                         }
                                                       else
                                                         {
@@ -3443,7 +3443,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x10000010x10xxxx0xx101xxxxx10xxx
                                                                      udot.  */
-                                                                  return 2790;
+                                                                  return 2796;
                                                                 }
                                                               else
                                                                 {
@@ -3451,7 +3451,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x10000010x11xxxx0xx101xxxxx10xxx
                                                                      udot.  */
-                                                                  return 2791;
+                                                                  return 2797;
                                                                 }
                                                             }
                                                           else
@@ -3462,7 +3462,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x10000011x1xxxx00xx101xxxxx10xxx
                                                                      udot.  */
-                                                                  return 2792;
+                                                                  return 2798;
                                                                 }
                                                               else
                                                                 {
@@ -3470,7 +3470,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x10000011x1xxxx10xx101xxxxx10xxx
                                                                      udot.  */
-                                                                  return 2793;
+                                                                  return 2799;
                                                                 }
                                                             }
                                                         }
@@ -3493,7 +3493,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1000001x11xxxxx0xx011xxxxx10xxx
                                                                  umlal.  */
-                                                              return 2805;
+                                                              return 2811;
                                                             }
                                                         }
                                                       else
@@ -3720,7 +3720,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000010010xxxx0xx101xxxxx01xxx
                                                                          usdot.  */
-                                                                      return 2842;
+                                                                      return 2851;
                                                                     }
                                                                   else
                                                                     {
@@ -3728,7 +3728,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000010011xxxx0xx101xxxxx01xxx
                                                                          usdot.  */
-                                                                      return 2843;
+                                                                      return 2852;
                                                                     }
                                                                 }
                                                               else
@@ -3739,7 +3739,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1000001101xxxx00xx101xxxxx01xxx
                                                                          usdot.  */
-                                                                      return 2844;
+                                                                      return 2853;
                                                                     }
                                                                   else
                                                                     {
@@ -3747,7 +3747,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1000001101xxxx10xx101xxxxx01xxx
                                                                          usdot.  */
-                                                                      return 2845;
+                                                                      return 2854;
                                                                     }
                                                                 }
                                                             }
@@ -3851,7 +3851,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x10000010x10xxxx0xxx00xxxxx11xxx
                                                                  umlsll.  */
-                                                              return 2830;
+                                                              return 2836;
                                                             }
                                                           else
                                                             {
@@ -3859,7 +3859,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x10000010x11xxxx0xxx00xxxxx11xxx
                                                                  umlsll.  */
-                                                              return 2831;
+                                                              return 2837;
                                                             }
                                                         }
                                                       else
@@ -3870,7 +3870,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x10000011x1xxxx00xxx00xxxxx11xxx
                                                                  umlsll.  */
-                                                              return 2832;
+                                                              return 2838;
                                                             }
                                                           else
                                                             {
@@ -3878,7 +3878,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x10000011x1xxxx10xxx00xxxxx11xxx
                                                                  umlsll.  */
-                                                              return 2833;
+                                                              return 2839;
                                                             }
                                                         }
                                                     }
@@ -3937,7 +3937,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000010110xxxx0xx010xxxxx11xxx
                                                                          umlsl.  */
-                                                                      return 2822;
+                                                                      return 2828;
                                                                     }
                                                                   else
                                                                     {
@@ -3945,7 +3945,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000010111xxxx0xx010xxxxx11xxx
                                                                          umlsl.  */
-                                                                      return 2823;
+                                                                      return 2829;
                                                                     }
                                                                 }
                                                               else
@@ -3956,7 +3956,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1000001111xxxx00xx010xxxxx11xxx
                                                                          umlsl.  */
-                                                                      return 2824;
+                                                                      return 2830;
                                                                     }
                                                                   else
                                                                     {
@@ -3964,7 +3964,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1000001111xxxx10xx010xxxxx11xxx
             [...]

[diff truncated at 100000 bytes]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-03-30 10:16 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-30 10:16 [binutils-gdb] aarch64: Add the SME2 saturating conversion instructions Richard Sandiford

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).