aarch64: Add the SME2 saturating conversion instructions
authorRichard Sandiford <richard.sandiford@arm.com>
Thu, 30 Mar 2023 10:09:16 +0000 (11:09 +0100)
committerRichard Sandiford <richard.sandiford@arm.com>
Thu, 30 Mar 2023 10:09:16 +0000 (11:09 +0100)
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.

21 files changed:
gas/testsuite/gas/aarch64/sme2-25-invalid.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/sme2-25-invalid.l [new file with mode: 0644]
gas/testsuite/gas/aarch64/sme2-25-invalid.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/sme2-25-noarch.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/sme2-25-noarch.l [new file with mode: 0644]
gas/testsuite/gas/aarch64/sme2-25.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/sme2-25.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/sme2-26-invalid.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/sme2-26-invalid.l [new file with mode: 0644]
gas/testsuite/gas/aarch64/sme2-26-invalid.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/sme2-26-noarch.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/sme2-26-noarch.l [new file with mode: 0644]
gas/testsuite/gas/aarch64/sme2-26.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/sme2-26.s [new file with mode: 0644]
include/opcode/aarch64.h
opcodes/aarch64-asm.c
opcodes/aarch64-dis-2.c
opcodes/aarch64-dis.c
opcodes/aarch64-opc.c
opcodes/aarch64-opc.h
opcodes/aarch64-tbl.h

diff --git a/gas/testsuite/gas/aarch64/sme2-25-invalid.d b/gas/testsuite/gas/aarch64/sme2-25-invalid.d
new file mode 100644 (file)
index 0000000..62b23cd
--- /dev/null
@@ -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 (file)
index 0000000..5b18a2a
--- /dev/null
@@ -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 (file)
index 0000000..10395f7
--- /dev/null
@@ -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 (file)
index 0000000..e1e9d39
--- /dev/null
@@ -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 (file)
index 0000000..66998ff
--- /dev/null
@@ -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 (file)
index 0000000..b2fdce7
--- /dev/null
@@ -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 (file)
index 0000000..45a2a70
--- /dev/null
@@ -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 (file)
index 0000000..5e336bf
--- /dev/null
@@ -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 (file)
index 0000000..08c2f7f
--- /dev/null
@@ -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 (file)
index 0000000..2eddec9
--- /dev/null
@@ -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 (file)
index 0000000..e9af412
--- /dev/null
@@ -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 (file)
index 0000000..b1bd489
--- /dev/null
@@ -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 (file)
index 0000000..96e0ca9
--- /dev/null
@@ -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 (file)
index 0000000..72bdbf6
--- /dev/null
@@ -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 }
index f18f383a711e10f86ecd23ec546a90e5cfaa550d..b445bf758fcdcaab3dad7245988db2f76952beeb 100644 (file)
@@ -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,
index b1d2d589a138f593e111207a8370f3124a313aca..5f2e51044ce7c47a1c3eacd3f72b06f18eacf3ce 100644 (file)
@@ -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);
index 759f6ab3611a47d0da455036b6b4a083fdf88b97..55a01e6e593ee24c8aac964698506a1d2aac40b4 100644 (file)
@@ -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
                                                                          umlsl.  */
-                                                                      return 2825;
+                                                                      return 2831;
                                                                     }
                                                                 }
                                                             }
@@ -3979,7 +3979,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x10000010x10xxxx0xx110xxxxx11xxx
                                                                      sub.  */
-                                                                  return 2762;
+                                                                  return 2768;
                                                                 }
                                                               else
                                                                 {
@@ -3987,7 +3987,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x10000010x11xxxx0xx110xxxxx11xxx
                                                                      sub.  */
-                                                                  return 2763;
+                                                                  return 2769;
                                                                 }
                                                             }
                                                           else
@@ -3998,7 +3998,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x10000011x1xxxx00xx110xxxxx11xxx
                                                                      sub.  */
-                                                                  return 2764;
+                                                                  return 2770;
                                                                 }
                                                               else
                                                                 {
@@ -4006,7 +4006,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x10000011x1xxxx10xx110xxxxx11xxx
                                                                      sub.  */
-                                                                  return 2765;
+                                                                  return 2771;
                                                                 }
                                                             }
                                                         }
@@ -4022,7 +4022,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1000001xx1xxxxx0xx001xxxxx11xxx
                                                              umlsll.  */
-                                                          return 2829;
+                                                          return 2835;
                                                         }
                                                       else
                                                         {
@@ -4034,7 +4034,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001x010xxxx0xx101xxxxx11xxx
                                                                      sudot.  */
-                                                                  return 2768;
+                                                                  return 2774;
                                                                 }
                                                               else
                                                                 {
@@ -4042,7 +4042,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001x011xxxx0xx101xxxxx11xxx
                                                                      sudot.  */
-                                                                  return 2769;
+                                                                  return 2775;
                                                                 }
                                                             }
                                                           else
@@ -4055,7 +4055,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000010110xxxx0xx101xxxxx11xxx
                                                                          udot.  */
-                                                                      return 2784;
+                                                                      return 2790;
                                                                     }
                                                                   else
                                                                     {
@@ -4063,7 +4063,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000010111xxxx0xx101xxxxx11xxx
                                                                          udot.  */
-                                                                      return 2785;
+                                                                      return 2791;
                                                                     }
                                                                 }
                                                               else
@@ -4074,7 +4074,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1000001111xxxx00xx101xxxxx11xxx
                                                                          udot.  */
-                                                                      return 2786;
+                                                                      return 2792;
                                                                     }
                                                                   else
                                                                     {
@@ -4082,7 +4082,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1000001111xxxx10xx101xxxxx11xxx
                                                                          udot.  */
-                                                                      return 2787;
+                                                                      return 2793;
                                                                     }
                                                                 }
                                                             }
@@ -4106,7 +4106,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1000001x11xxxxx0xx011xxxxx11xxx
                                                                  umlsl.  */
-                                                              return 2821;
+                                                              return 2827;
                                                             }
                                                         }
                                                       else
@@ -4117,7 +4117,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1000001xx1xxxx00xx111xxxxx11xxx
                                                                  sub.  */
-                                                              return 2760;
+                                                              return 2766;
                                                             }
                                                           else
                                                             {
@@ -4125,7 +4125,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1000001xx1xxxx10xx111xxxxx11xxx
                                                                  sub.  */
-                                                              return 2761;
+                                                              return 2767;
                                                             }
                                                         }
                                                     }
@@ -4208,7 +4208,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1000001xx1xxxxx1x0x0xxxxxxxxxx1
                                                      uclamp.  */
-                                                  return 2778;
+                                                  return 2784;
                                                 }
                                               else
                                                 {
@@ -4216,7 +4216,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1000001xx1xxxxx1x0x1xxxxxxxxxx1
                                                      uclamp.  */
-                                                  return 2779;
+                                                  return 2785;
                                                 }
                                             }
                                         }
@@ -4270,7 +4270,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1000001xx1xxxxx101000x0xx0xxxx1
                                                                          umax.  */
-                                                                      return 2794;
+                                                                      return 2800;
                                                                     }
                                                                   else
                                                                     {
@@ -4393,42 +4393,108 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                 }
                                                               else
                                                                 {
-                                                                  if (((word >> 19) & 0x1) == 0)
+                                                                  if (((word >> 17) & 0x1) == 0)
                                                                     {
-                                                                      if (((word >> 20) & 0x1) == 0)
+                                                                      if (((word >> 19) & 0x1) == 0)
                                                                         {
-                                                                          /* 33222222222211111111110000000000
-                                                                             10987654321098765432109876543210
-                                                                             x1000001xx100xx1111000xxxx0xxxxx
-                                                                             fcvtzs.  */
-                                                                          return 2470;
+                                                                          if (((word >> 20) & 0x1) == 0)
+                                                                            {
+                                                                              /* 33222222222211111111110000000000
+                                                                                 10987654321098765432109876543210
+                                                                                 x1000001xx100x01111000xxxx0xxxxx
+                                                                                 fcvtzs.  */
+                                                                              return 2470;
+                                                                            }
+                                                                          else
+                                                                            {
+                                                                              /* 33222222222211111111110000000000
+                                                                                 10987654321098765432109876543210
+                                                                                 x1000001xx110x01111000xxxx0xxxxx
+                                                                                 fcvtzs.  */
+                                                                              return 2471;
+                                                                            }
                                                                         }
                                                                       else
                                                                         {
-                                                                          /* 33222222222211111111110000000000
-                                                                             10987654321098765432109876543210
-                                                                             x1000001xx110xx1111000xxxx0xxxxx
-                                                                             fcvtzs.  */
-                                                                          return 2471;
+                                                                          if (((word >> 20) & 0x1) == 0)
+                                                                            {
+                                                                              /* 33222222222211111111110000000000
+                                                                                 10987654321098765432109876543210
+                                                                                 x1000001xx101x01111000xxxx0xxxxx
+                                                                                 frintp.  */
+                                                                              return 2530;
+                                                                            }
+                                                                          else
+                                                                            {
+                                                                              /* 33222222222211111111110000000000
+                                                                                 10987654321098765432109876543210
+                                                                                 x1000001xx111x01111000xxxx0xxxxx
+                                                                                 frintp.  */
+                                                                              return 2531;
+                                                                            }
                                                                         }
                                                                     }
                                                                   else
                                                                     {
                                                                       if (((word >> 20) & 0x1) == 0)
                                                                         {
-                                                                          /* 33222222222211111111110000000000
-                                                                             10987654321098765432109876543210
-                                                                             x1000001xx101xx1111000xxxx0xxxxx
-                                                                             frintp.  */
-                                                                          return 2530;
+                                                                          if (((word >> 22) & 0x1) == 0)
+                                                                            {
+                                                                              /* 33222222222211111111110000000000
+                                                                                 10987654321098765432109876543210
+                                                                                 x1000001x010xx11111000xxxx0xxxxx
+                                                                                 sqcvt.  */
+                                                                              return 2687;
+                                                                            }
+                                                                          else
+                                                                            {
+                                                                              /* 33222222222211111111110000000000
+                                                                                 10987654321098765432109876543210
+                                                                                 x1000001x110xx11111000xxxx0xxxxx
+                                                                                 sqcvtu.  */
+                                                                              return 2690;
+                                                                            }
                                                                         }
                                                                       else
                                                                         {
-                                                                          /* 33222222222211111111110000000000
-                                                                             10987654321098765432109876543210
-                                                                             x1000001xx111xx1111000xxxx0xxxxx
-                                                                             frintp.  */
-                                                                          return 2531;
+                                                                          if (((word >> 6) & 0x1) == 0)
+                                                                            {
+                                                                              if (((word >> 22) & 0x1) == 0)
+                                                                                {
+                                                                                  /* 33222222222211111111110000000000
+                                                                                     10987654321098765432109876543210
+                                                                                     x1000001x011xx11111000xxx00xxxxx
+                                                                                     sqcvt.  */
+                                                                                  return 2688;
+                                                                                }
+                                                                              else
+                                                                                {
+                                                                                  /* 33222222222211111111110000000000
+                                                                                     10987654321098765432109876543210
+                                                                                     x1000001x111xx11111000xxx00xxxxx
+                                                                                     sqcvtu.  */
+                                                                                  return 2691;
+                                                                                }
+                                                                            }
+                                                                          else
+                                                                            {
+                                                                              if (((word >> 22) & 0x1) == 0)
+                                                                                {
+                                                                                  /* 33222222222211111111110000000000
+                                                                                     10987654321098765432109876543210
+                                                                                     x1000001x011xx11111000xxx10xxxxx
+                                                                                     sqcvtn.  */
+                                                                                  return 2689;
+                                                                                }
+                                                                              else
+                                                                                {
+                                                                                  /* 33222222222211111111110000000000
+                                                                                     10987654321098765432109876543210
+                                                                                     x1000001x111xx11111000xxx10xxxxx
+                                                                                     sqcvtun.  */
+                                                                                  return 2692;
+                                                                                }
+                                                                            }
                                                                         }
                                                                     }
                                                                 }
@@ -4463,7 +4529,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx1xxxxx1x1100x0xx0xxxx1
                                                                      umax.  */
-                                                                  return 2796;
+                                                                  return 2802;
                                                                 }
                                                               else
                                                                 {
@@ -4540,7 +4606,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx1xxxxx1x1010x0xx0xxxx1
                                                                      umax.  */
-                                                                  return 2795;
+                                                                  return 2801;
                                                                 }
                                                               else
                                                                 {
@@ -4548,7 +4614,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx1xxxxx1x1110x0xx0xxxx1
                                                                      umax.  */
-                                                                  return 2797;
+                                                                  return 2803;
                                                                 }
                                                             }
                                                           else
@@ -4583,7 +4649,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1000001xx1xxxxx1x1001xxxx0xxxxx
                                                              sqdmulh.  */
-                                                          return 2687;
+                                                          return 2693;
                                                         }
                                                       else
                                                         {
@@ -4591,7 +4657,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1000001xx1xxxxx1x1101xxxx0xxxxx
                                                              sqdmulh.  */
-                                                          return 2689;
+                                                          return 2695;
                                                         }
                                                     }
                                                   else
@@ -4602,7 +4668,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1000001xx1xxxxx1x1011xxxx0xxxxx
                                                              sqdmulh.  */
-                                                          return 2688;
+                                                          return 2694;
                                                         }
                                                       else
                                                         {
@@ -4610,7 +4676,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1000001xx1xxxxx1x1111xxxx0xxxxx
                                                              sqdmulh.  */
-                                                          return 2690;
+                                                          return 2696;
                                                         }
                                                     }
                                                 }
@@ -4641,7 +4707,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1000001xx1xxxxx10100x10xx1xxxx0
                                                                          srshl.  */
-                                                                      return 2691;
+                                                                      return 2697;
                                                                     }
                                                                 }
                                                               else
@@ -4663,7 +4729,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1000001xx1xxxxx10100x00xx1xxxx1
                                                                          umin.  */
-                                                                      return 2798;
+                                                                      return 2804;
                                                                     }
                                                                   else
                                                                     {
@@ -4671,7 +4737,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1000001xx1xxxxx10100x10xx1xxxx1
                                                                          urshl.  */
-                                                                      return 2836;
+                                                                      return 2845;
                                                                     }
                                                                 }
                                                               else
@@ -4715,7 +4781,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1000001xx10xx1011100xxxxx1xxxxx
                                                                          ucvtf.  */
-                                                                      return 2780;
+                                                                      return 2786;
                                                                     }
                                                                   else
                                                                     {
@@ -4723,27 +4789,60 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1000001xx11xx1011100xxxxx1xxxxx
                                                                          ucvtf.  */
-                                                                      return 2781;
+                                                                      return 2787;
                                                                     }
                                                                 }
                                                             }
                                                           else
                                                             {
-                                                              if (((word >> 20) & 0x1) == 0)
+                                                              if (((word >> 17) & 0x1) == 0)
                                                                 {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     x1000001xx10xxx111100xxxxx1xxxxx
-                                                                     fcvtzu.  */
-                                                                  return 2472;
+                                                                  if (((word >> 20) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         x1000001xx10xx0111100xxxxx1xxxxx
+                                                                         fcvtzu.  */
+                                                                      return 2472;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         x1000001xx11xx0111100xxxxx1xxxxx
+                                                                         fcvtzu.  */
+                                                                      return 2473;
+                                                                    }
                                                                 }
                                                               else
                                                                 {
-                                                                  /* 33222222222211111111110000000000
-                                                                     10987654321098765432109876543210
-                                                                     x1000001xx11xxx111100xxxxx1xxxxx
-                                                                     fcvtzu.  */
-                                                                  return 2473;
+                                                                  if (((word >> 20) & 0x1) == 0)
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         x1000001xx10xx1111100xxxxx1xxxxx
+                                                                         uqcvt.  */
+                                                                      return 2842;
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      if (((word >> 6) & 0x1) == 0)
+                                                                        {
+                                                                          /* 33222222222211111111110000000000
+                                                                             10987654321098765432109876543210
+                                                                             x1000001xx11xx1111100xxxx01xxxxx
+                                                                             uqcvt.  */
+                                                                          return 2843;
+                                                                        }
+                                                                      else
+                                                                        {
+                                                                          /* 33222222222211111111110000000000
+                                                                             10987654321098765432109876543210
+                                                                             x1000001xx11xx1111100xxxx11xxxxx
+                                                                             uqcvtn.  */
+                                                                          return 2844;
+                                                                        }
+                                                                    }
                                                                 }
                                                             }
                                                         }
@@ -4768,7 +4867,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx1xxxxx1x110x10xx1xxxx0
                                                                      srshl.  */
-                                                                  return 2693;
+                                                                  return 2699;
                                                                 }
                                                             }
                                                           else
@@ -4790,7 +4889,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx1xxxxx1x110x00xx1xxxx1
                                                                      umin.  */
-                                                                  return 2800;
+                                                                  return 2806;
                                                                 }
                                                               else
                                                                 {
@@ -4798,7 +4897,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx1xxxxx1x110x10xx1xxxx1
                                                                      urshl.  */
-                                                                  return 2838;
+                                                                  return 2847;
                                                                 }
                                                             }
                                                           else
@@ -4845,7 +4944,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx1xxxxx1x101x10xx1xxxx0
                                                                      srshl.  */
-                                                                  return 2692;
+                                                                  return 2698;
                                                                 }
                                                               else
                                                                 {
@@ -4853,7 +4952,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx1xxxxx1x111x10xx1xxxx0
                                                                      srshl.  */
-                                                                  return 2694;
+                                                                  return 2700;
                                                                 }
                                                             }
                                                         }
@@ -4889,7 +4988,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx1xxxxx1x101x00xx1xxxx1
                                                                      umin.  */
-                                                                  return 2799;
+                                                                  return 2805;
                                                                 }
                                                               else
                                                                 {
@@ -4897,7 +4996,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx1xxxxx1x111x00xx1xxxx1
                                                                      umin.  */
-                                                                  return 2801;
+                                                                  return 2807;
                                                                 }
                                                             }
                                                           else
@@ -4908,7 +5007,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx1xxxxx1x101x10xx1xxxx1
                                                                      urshl.  */
-                                                                  return 2837;
+                                                                  return 2846;
                                                                 }
                                                               else
                                                                 {
@@ -4916,7 +5015,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx1xxxxx1x111x10xx1xxxx1
                                                                      urshl.  */
-                                                                  return 2839;
+                                                                  return 2848;
                                                                 }
                                                             }
                                                         }
@@ -4966,7 +5065,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0100001001xxxxx000xxxxxxxxx0xxx
                                                              st1b.  */
-                                                          return 2701;
+                                                          return 2707;
                                                         }
                                                       else
                                                         {
@@ -4974,7 +5073,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0100001001xxxxx010xxxxxxxxx0xxx
                                                              st1w.  */
-                                                          return 2725;
+                                                          return 2731;
                                                         }
                                                     }
                                                   else
@@ -4985,7 +5084,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0100001001xxxxx001xxxxxxxxx0xxx
                                                              st1h.  */
-                                                          return 2717;
+                                                          return 2723;
                                                         }
                                                       else
                                                         {
@@ -4993,7 +5092,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0100001001xxxxx011xxxxxxxxx0xxx
                                                              st1d.  */
-                                                          return 2709;
+                                                          return 2715;
                                                         }
                                                     }
                                                 }
@@ -5007,7 +5106,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0100001001xxxxx000xxxxxxxxx1xxx
                                                              stnt1b.  */
-                                                          return 2733;
+                                                          return 2739;
                                                         }
                                                       else
                                                         {
@@ -5015,7 +5114,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0100001001xxxxx010xxxxxxxxx1xxx
                                                              stnt1w.  */
-                                                          return 2757;
+                                                          return 2763;
                                                         }
                                                     }
                                                   else
@@ -5026,7 +5125,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0100001001xxxxx001xxxxxxxxx1xxx
                                                              stnt1h.  */
-                                                          return 2749;
+                                                          return 2755;
                                                         }
                                                       else
                                                         {
@@ -5034,7 +5133,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0100001001xxxxx011xxxxxxxxx1xxx
                                                              stnt1d.  */
-                                                          return 2741;
+                                                          return 2747;
                                                         }
                                                     }
                                                 }
@@ -5062,7 +5161,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0100001001xxxxx100xxxxxxxxx0xxx
                                                              st1b.  */
-                                                          return 2702;
+                                                          return 2708;
                                                         }
                                                       else
                                                         {
@@ -5070,7 +5169,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1100001001xxxxx100xxxxxxxxx0xxx
                                                              str.  */
-                                                          return 2759;
+                                                          return 2765;
                                                         }
                                                     }
                                                   else
@@ -5079,7 +5178,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx100001001xxxxx110xxxxxxxxx0xxx
                                                          st1w.  */
-                                                      return 2726;
+                                                      return 2732;
                                                     }
                                                 }
                                               else
@@ -5090,7 +5189,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx100001001xxxxx101xxxxxxxxx0xxx
                                                          st1h.  */
-                                                      return 2718;
+                                                      return 2724;
                                                     }
                                                   else
                                                     {
@@ -5098,7 +5197,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx100001001xxxxx111xxxxxxxxx0xxx
                                                          st1d.  */
-                                                      return 2710;
+                                                      return 2716;
                                                     }
                                                 }
                                             }
@@ -5112,7 +5211,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx100001001xxxxx100xxxxxxxxx1xxx
                                                          stnt1b.  */
-                                                      return 2734;
+                                                      return 2740;
                                                     }
                                                   else
                                                     {
@@ -5120,7 +5219,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx100001001xxxxx110xxxxxxxxx1xxx
                                                          stnt1w.  */
-                                                      return 2758;
+                                                      return 2764;
                                                     }
                                                 }
                                               else
@@ -5131,7 +5230,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx100001001xxxxx101xxxxxxxxx1xxx
                                                          stnt1h.  */
-                                                      return 2750;
+                                                      return 2756;
                                                     }
                                                   else
                                                     {
@@ -5139,7 +5238,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx100001001xxxxx111xxxxxxxxx1xxx
                                                          stnt1d.  */
-                                                      return 2742;
+                                                      return 2748;
                                                     }
                                                 }
                                             }
@@ -5181,7 +5280,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx100001011xxxxx000xxxxxxxxx0xxx
                                                          st1b.  */
-                                                      return 2697;
+                                                      return 2703;
                                                     }
                                                   else
                                                     {
@@ -5189,7 +5288,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx100001011xxxxx100xxxxxxxxx0xxx
                                                          st1b.  */
-                                                      return 2698;
+                                                      return 2704;
                                                     }
                                                 }
                                               else
@@ -5200,7 +5299,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx100001011xxxxx010xxxxxxxxx0xxx
                                                          st1w.  */
-                                                      return 2721;
+                                                      return 2727;
                                                     }
                                                   else
                                                     {
@@ -5208,7 +5307,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx100001011xxxxx110xxxxxxxxx0xxx
                                                          st1w.  */
-                                                      return 2722;
+                                                      return 2728;
                                                     }
                                                 }
                                             }
@@ -5222,7 +5321,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx100001011xxxxx001xxxxxxxxx0xxx
                                                          st1h.  */
-                                                      return 2713;
+                                                      return 2719;
                                                     }
                                                   else
                                                     {
@@ -5230,7 +5329,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx100001011xxxxx101xxxxxxxxx0xxx
                                                          st1h.  */
-                                                      return 2714;
+                                                      return 2720;
                                                     }
                                                 }
                                               else
@@ -5241,7 +5340,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx100001011xxxxx011xxxxxxxxx0xxx
                                                          st1d.  */
-                                                      return 2705;
+                                                      return 2711;
                                                     }
                                                   else
                                                     {
@@ -5249,7 +5348,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx100001011xxxxx111xxxxxxxxx0xxx
                                                          st1d.  */
-                                                      return 2706;
+                                                      return 2712;
                                                     }
                                                 }
                                             }
@@ -5266,7 +5365,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx100001011xxxxx000xxxxxxxxx1xxx
                                                          stnt1b.  */
-                                                      return 2729;
+                                                      return 2735;
                                                     }
                                                   else
                                                     {
@@ -5274,7 +5373,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx100001011xxxxx100xxxxxxxxx1xxx
                                                          stnt1b.  */
-                                                      return 2730;
+                                                      return 2736;
                                                     }
                                                 }
                                               else
@@ -5285,7 +5384,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx100001011xxxxx010xxxxxxxxx1xxx
                                                          stnt1w.  */
-                                                      return 2753;
+                                                      return 2759;
                                                     }
                                                   else
                                                     {
@@ -5293,7 +5392,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx100001011xxxxx110xxxxxxxxx1xxx
                                                          stnt1w.  */
-                                                      return 2754;
+                                                      return 2760;
                                                     }
                                                 }
                                             }
@@ -5307,7 +5406,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx100001011xxxxx001xxxxxxxxx1xxx
                                                          stnt1h.  */
-                                                      return 2745;
+                                                      return 2751;
                                                     }
                                                   else
                                                     {
@@ -5315,7 +5414,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx100001011xxxxx101xxxxxxxxx1xxx
                                                          stnt1h.  */
-                                                      return 2746;
+                                                      return 2752;
                                                     }
                                                 }
                                               else
@@ -5326,7 +5425,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx100001011xxxxx011xxxxxxxxx1xxx
                                                          stnt1d.  */
-                                                      return 2737;
+                                                      return 2743;
                                                     }
                                                   else
                                                     {
@@ -5334,7 +5433,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx100001011xxxxx111xxxxxxxxx1xxx
                                                          stnt1d.  */
-                                                      return 2738;
+                                                      return 2744;
                                                     }
                                                 }
                                             }
@@ -7736,7 +7835,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          00011001000xxxxxxxxx00xxxxxxxxxx
                                                          stlurb.  */
-                                                      return 2928;
+                                                      return 2937;
                                                     }
                                                   else
                                                     {
@@ -7744,7 +7843,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          10011001000xxxxxxxxx00xxxxxxxxxx
                                                          stlur.  */
-                                                      return 2936;
+                                                      return 2945;
                                                     }
                                                 }
                                               else
@@ -7755,7 +7854,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          01011001000xxxxxxxxx00xxxxxxxxxx
                                                          stlurh.  */
-                                                      return 2932;
+                                                      return 2941;
                                                     }
                                                   else
                                                     {
@@ -7763,7 +7862,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          11011001000xxxxxxxxx00xxxxxxxxxx
                                                          stlur.  */
-                                                      return 2939;
+                                                      return 2948;
                                                     }
                                                 }
                                             }
@@ -7801,7 +7900,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001000xxxxx0000x1xxxxxxxxxx
                                                              cpyfp.  */
-                                                          return 2988;
+                                                          return 2997;
                                                         }
                                                       else
                                                         {
@@ -7809,7 +7908,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001000xxxxx1000x1xxxxxxxxxx
                                                              cpyfprn.  */
-                                                          return 2994;
+                                                          return 3003;
                                                         }
                                                     }
                                                   else
@@ -7820,7 +7919,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001000xxxxx0100x1xxxxxxxxxx
                                                              cpyfpwn.  */
-                                                          return 2991;
+                                                          return 3000;
                                                         }
                                                       else
                                                         {
@@ -7828,7 +7927,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001000xxxxx1100x1xxxxxxxxxx
                                                              cpyfpn.  */
-                                                          return 2997;
+                                                          return 3006;
                                                         }
                                                     }
                                                 }
@@ -7842,7 +7941,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001000xxxxx0010x1xxxxxxxxxx
                                                              cpyfprt.  */
-                                                          return 3012;
+                                                          return 3021;
                                                         }
                                                       else
                                                         {
@@ -7850,7 +7949,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001000xxxxx1010x1xxxxxxxxxx
                                                              cpyfprtrn.  */
-                                                          return 3018;
+                                                          return 3027;
                                                         }
                                                     }
                                                   else
@@ -7861,7 +7960,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001000xxxxx0110x1xxxxxxxxxx
                                                              cpyfprtwn.  */
-                                                          return 3015;
+                                                          return 3024;
                                                         }
                                                       else
                                                         {
@@ -7869,7 +7968,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001000xxxxx1110x1xxxxxxxxxx
                                                              cpyfprtn.  */
-                                                          return 3021;
+                                                          return 3030;
                                                         }
                                                     }
                                                 }
@@ -7886,7 +7985,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001000xxxxx0001x1xxxxxxxxxx
                                                              cpyfpwt.  */
-                                                          return 3000;
+                                                          return 3009;
                                                         }
                                                       else
                                                         {
@@ -7894,7 +7993,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001000xxxxx1001x1xxxxxxxxxx
                                                              cpyfpwtrn.  */
-                                                          return 3006;
+                                                          return 3015;
                                                         }
                                                     }
                                                   else
@@ -7905,7 +8004,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001000xxxxx0101x1xxxxxxxxxx
                                                              cpyfpwtwn.  */
-                                                          return 3003;
+                                                          return 3012;
                                                         }
                                                       else
                                                         {
@@ -7913,7 +8012,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001000xxxxx1101x1xxxxxxxxxx
                                                              cpyfpwtn.  */
-                                                          return 3009;
+                                                          return 3018;
                                                         }
                                                     }
                                                 }
@@ -7927,7 +8026,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001000xxxxx0011x1xxxxxxxxxx
                                                              cpyfpt.  */
-                                                          return 3024;
+                                                          return 3033;
                                                         }
                                                       else
                                                         {
@@ -7935,7 +8034,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001000xxxxx1011x1xxxxxxxxxx
                                                              cpyfptrn.  */
-                                                          return 3030;
+                                                          return 3039;
                                                         }
                                                     }
                                                   else
@@ -7946,7 +8045,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001000xxxxx0111x1xxxxxxxxxx
                                                              cpyfptwn.  */
-                                                          return 3027;
+                                                          return 3036;
                                                         }
                                                       else
                                                         {
@@ -7954,7 +8053,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001000xxxxx1111x1xxxxxxxxxx
                                                              cpyfptn.  */
-                                                          return 3033;
+                                                          return 3042;
                                                         }
                                                     }
                                                 }
@@ -8019,7 +8118,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          00011001010xxxxxxxxx00xxxxxxxxxx
                                                          ldapurb.  */
-                                                      return 2929;
+                                                      return 2938;
                                                     }
                                                   else
                                                     {
@@ -8027,7 +8126,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          10011001010xxxxxxxxx00xxxxxxxxxx
                                                          ldapur.  */
-                                                      return 2937;
+                                                      return 2946;
                                                     }
                                                 }
                                               else
@@ -8038,7 +8137,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          01011001010xxxxxxxxx00xxxxxxxxxx
                                                          ldapurh.  */
-                                                      return 2933;
+                                                      return 2942;
                                                     }
                                                   else
                                                     {
@@ -8046,7 +8145,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          11011001010xxxxxxxxx00xxxxxxxxxx
                                                          ldapur.  */
-                                                      return 2940;
+                                                      return 2949;
                                                     }
                                                 }
                                             }
@@ -8084,7 +8183,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx0000x1xxxxxxxxxx
                                                              cpyfm.  */
-                                                          return 2989;
+                                                          return 2998;
                                                         }
                                                       else
                                                         {
@@ -8092,7 +8191,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx1000x1xxxxxxxxxx
                                                              cpyfmrn.  */
-                                                          return 2995;
+                                                          return 3004;
                                                         }
                                                     }
                                                   else
@@ -8103,7 +8202,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx0100x1xxxxxxxxxx
                                                              cpyfmwn.  */
-                                                          return 2992;
+                                                          return 3001;
                                                         }
                                                       else
                                                         {
@@ -8111,7 +8210,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx1100x1xxxxxxxxxx
                                                              cpyfmn.  */
-                                                          return 2998;
+                                                          return 3007;
                                                         }
                                                     }
                                                 }
@@ -8125,7 +8224,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx0010x1xxxxxxxxxx
                                                              cpyfmrt.  */
-                                                          return 3013;
+                                                          return 3022;
                                                         }
                                                       else
                                                         {
@@ -8133,7 +8232,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx1010x1xxxxxxxxxx
                                                              cpyfmrtrn.  */
-                                                          return 3019;
+                                                          return 3028;
                                                         }
                                                     }
                                                   else
@@ -8144,7 +8243,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx0110x1xxxxxxxxxx
                                                              cpyfmrtwn.  */
-                                                          return 3016;
+                                                          return 3025;
                                                         }
                                                       else
                                                         {
@@ -8152,7 +8251,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx1110x1xxxxxxxxxx
                                                              cpyfmrtn.  */
-                                                          return 3022;
+                                                          return 3031;
                                                         }
                                                     }
                                                 }
@@ -8169,7 +8268,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx0001x1xxxxxxxxxx
                                                              cpyfmwt.  */
-                                                          return 3001;
+                                                          return 3010;
                                                         }
                                                       else
                                                         {
@@ -8177,7 +8276,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx1001x1xxxxxxxxxx
                                                              cpyfmwtrn.  */
-                                                          return 3007;
+                                                          return 3016;
                                                         }
                                                     }
                                                   else
@@ -8188,7 +8287,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx0101x1xxxxxxxxxx
                                                              cpyfmwtwn.  */
-                                                          return 3004;
+                                                          return 3013;
                                                         }
                                                       else
                                                         {
@@ -8196,7 +8295,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx1101x1xxxxxxxxxx
                                                              cpyfmwtn.  */
-                                                          return 3010;
+                                                          return 3019;
                                                         }
                                                     }
                                                 }
@@ -8210,7 +8309,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx0011x1xxxxxxxxxx
                                                              cpyfmt.  */
-                                                          return 3025;
+                                                          return 3034;
                                                         }
                                                       else
                                                         {
@@ -8218,7 +8317,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx1011x1xxxxxxxxxx
                                                              cpyfmtrn.  */
-                                                          return 3031;
+                                                          return 3040;
                                                         }
                                                     }
                                                   else
@@ -8229,7 +8328,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx0111x1xxxxxxxxxx
                                                              cpyfmtwn.  */
-                                                          return 3028;
+                                                          return 3037;
                                                         }
                                                       else
                                                         {
@@ -8237,7 +8336,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx1111x1xxxxxxxxxx
                                                              cpyfmtn.  */
-                                                          return 3034;
+                                                          return 3043;
                                                         }
                                                     }
                                                 }
@@ -8305,7 +8404,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          00011001100xxxxxxxxx00xxxxxxxxxx
                                                          ldapursb.  */
-                                                      return 2931;
+                                                      return 2940;
                                                     }
                                                   else
                                                     {
@@ -8313,7 +8412,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          10011001100xxxxxxxxx00xxxxxxxxxx
                                                          ldapursw.  */
-                                                      return 2938;
+                                                      return 2947;
                                                     }
                                                 }
                                               else
@@ -8322,7 +8421,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1011001100xxxxxxxxx00xxxxxxxxxx
                                                      ldapursh.  */
-                                                  return 2935;
+                                                  return 2944;
                                                 }
                                             }
                                           else
@@ -8333,7 +8432,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0011001110xxxxxxxxx00xxxxxxxxxx
                                                      ldapursb.  */
-                                                  return 2930;
+                                                  return 2939;
                                                 }
                                               else
                                                 {
@@ -8341,7 +8440,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1011001110xxxxxxxxx00xxxxxxxxxx
                                                      ldapursh.  */
-                                                  return 2934;
+                                                  return 2943;
                                                 }
                                             }
                                         }
@@ -8403,7 +8502,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001100xxxxx0000x1xxxxxxxxxx
                                                              cpyfe.  */
-                                                          return 2990;
+                                                          return 2999;
                                                         }
                                                       else
                                                         {
@@ -8411,7 +8510,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001110xxxxx0000x1xxxxxxxxxx
                                                              setp.  */
-                                                          return 3084;
+                                                          return 3093;
                                                         }
                                                     }
                                                   else
@@ -8422,7 +8521,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001100xxxxx1000x1xxxxxxxxxx
                                                              cpyfern.  */
-                                                          return 2996;
+                                                          return 3005;
                                                         }
                                                       else
                                                         {
@@ -8430,7 +8529,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001110xxxxx1000x1xxxxxxxxxx
                                                              sete.  */
-                                                          return 3086;
+                                                          return 3095;
                                                         }
                                                     }
                                                 }
@@ -8444,7 +8543,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001100xxxxx0100x1xxxxxxxxxx
                                                              cpyfewn.  */
-                                                          return 2993;
+                                                          return 3002;
                                                         }
                                                       else
                                                         {
@@ -8452,7 +8551,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001110xxxxx0100x1xxxxxxxxxx
                                                              setm.  */
-                                                          return 3085;
+                                                          return 3094;
                                                         }
                                                     }
                                                   else
@@ -8461,7 +8560,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx0110011x0xxxxx1100x1xxxxxxxxxx
                                                          cpyfen.  */
-                                                      return 2999;
+                                                      return 3008;
                                                     }
                                                 }
                                             }
@@ -8477,7 +8576,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001100xxxxx0010x1xxxxxxxxxx
                                                              cpyfert.  */
-                                                          return 3014;
+                                                          return 3023;
                                                         }
                                                       else
                                                         {
@@ -8485,7 +8584,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001110xxxxx0010x1xxxxxxxxxx
                                                              setpn.  */
-                                                          return 3090;
+                                                          return 3099;
                                                         }
                                                     }
                                                   else
@@ -8496,7 +8595,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001100xxxxx1010x1xxxxxxxxxx
                                                              cpyfertrn.  */
-                                                          return 3020;
+                                                          return 3029;
                                                         }
                                                       else
                                                         {
@@ -8504,7 +8603,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001110xxxxx1010x1xxxxxxxxxx
                                                              seten.  */
-                                                          return 3092;
+                                                          return 3101;
                                                         }
                                                     }
                                                 }
@@ -8518,7 +8617,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001100xxxxx0110x1xxxxxxxxxx
                                                              cpyfertwn.  */
-                                                          return 3017;
+                                                          return 3026;
                                                         }
                                                       else
                                                         {
@@ -8526,7 +8625,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001110xxxxx0110x1xxxxxxxxxx
                                                              setmn.  */
-                                                          return 3091;
+                                                          return 3100;
                                                         }
                                                     }
                                                   else
@@ -8535,7 +8634,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx0110011x0xxxxx1110x1xxxxxxxxxx
                                                          cpyfertn.  */
-                                                      return 3023;
+                                                      return 3032;
                                                     }
                                                 }
                                             }
@@ -8554,7 +8653,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001100xxxxx0001x1xxxxxxxxxx
                                                              cpyfewt.  */
-                                                          return 3002;
+                                                          return 3011;
                                                         }
                                                       else
                                                         {
@@ -8562,7 +8661,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001110xxxxx0001x1xxxxxxxxxx
                                                              setpt.  */
-                                                          return 3087;
+                                                          return 3096;
                                                         }
                                                     }
                                                   else
@@ -8573,7 +8672,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001100xxxxx1001x1xxxxxxxxxx
                                                              cpyfewtrn.  */
-                                                          return 3008;
+                                                          return 3017;
                                                         }
                                                       else
                                                         {
@@ -8581,7 +8680,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001110xxxxx1001x1xxxxxxxxxx
                                                              setet.  */
-                                                          return 3089;
+                                                          return 3098;
                                                         }
                                                     }
                                                 }
@@ -8595,7 +8694,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001100xxxxx0101x1xxxxxxxxxx
                                                              cpyfewtwn.  */
-                                                          return 3005;
+                                                          return 3014;
                                                         }
                                                       else
                                                         {
@@ -8603,7 +8702,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001110xxxxx0101x1xxxxxxxxxx
                                                              setmt.  */
-                                                          return 3088;
+                                                          return 3097;
                                                         }
                                                     }
                                                   else
@@ -8612,7 +8711,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx0110011x0xxxxx1101x1xxxxxxxxxx
                                                          cpyfewtn.  */
-                                                      return 3011;
+                                                      return 3020;
                                                     }
                                                 }
                                             }
@@ -8628,7 +8727,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001100xxxxx0011x1xxxxxxxxxx
                                                              cpyfet.  */
-                                                          return 3026;
+                                                          return 3035;
                                                         }
                                                       else
                                                         {
@@ -8636,7 +8735,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001110xxxxx0011x1xxxxxxxxxx
                                                              setptn.  */
-                                                          return 3093;
+                                                          return 3102;
                                                         }
                                                     }
                                                   else
@@ -8647,7 +8746,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001100xxxxx1011x1xxxxxxxxxx
                                                              cpyfetrn.  */
-                                                          return 3032;
+                                                          return 3041;
                                                         }
                                                       else
                                                         {
@@ -8655,7 +8754,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001110xxxxx1011x1xxxxxxxxxx
                                                              setetn.  */
-                                                          return 3095;
+                                                          return 3104;
                                                         }
                                                     }
                                                 }
@@ -8669,7 +8768,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001100xxxxx0111x1xxxxxxxxxx
                                                              cpyfetwn.  */
-                                                          return 3029;
+                                                          return 3038;
                                                         }
                                                       else
                                                         {
@@ -8677,7 +8776,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001110xxxxx0111x1xxxxxxxxxx
                                                              setmtn.  */
-                                                          return 3094;
+                                                          return 3103;
                                                         }
                                                     }
                                                   else
@@ -8686,7 +8785,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx0110011x0xxxxx1111x1xxxxxxxxxx
                                                          cpyfetn.  */
-                                                      return 3035;
+                                                      return 3044;
                                                     }
                                                 }
                                             }
@@ -9059,7 +9158,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1x11010110xxxx0x01000xxxxxxxxxx
                                                                  abs.  */
-                                                              return 3113;
+                                                              return 3122;
                                                             }
                                                           else
                                                             {
@@ -9077,7 +9176,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxx11010110xxxxxx11000xxxxxxxxxx
                                                          smax.  */
-                                                      return 3116;
+                                                      return 3125;
                                                     }
                                                 }
                                             }
@@ -9157,7 +9256,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxx11010x00xxxxxx0xx10xxxxxxxxxx
                                              setf8.  */
-                                          return 2926;
+                                          return 2935;
                                         }
                                       else
                                         {
@@ -9165,7 +9264,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxx11010x00xxxxxx1xx10xxxxxxxxxx
                                              setf16.  */
-                                          return 2927;
+                                          return 2936;
                                         }
                                     }
                                   else
@@ -9272,7 +9371,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxx11010110xxxxxx11010xxxxxxxxxx
                                                          smin.  */
-                                                      return 3118;
+                                                      return 3127;
                                                     }
                                                 }
                                             }
@@ -9288,7 +9387,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx11010110xxxx0x00110xxxxxxxxxx
                                                              ctz.  */
-                                                          return 3115;
+                                                          return 3124;
                                                         }
                                                       else
                                                         {
@@ -9333,7 +9432,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxx11010000xxxxxxxxx01xxxxxxxxxx
                                              rmif.  */
-                                          return 2925;
+                                          return 2934;
                                         }
                                       else
                                         {
@@ -9427,7 +9526,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxx11010x10xxxxxx11001xxxxxxxxxx
                                                      umax.  */
-                                                  return 3117;
+                                                  return 3126;
                                                 }
                                             }
                                         }
@@ -9557,7 +9656,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xxx11010xx0xxxxxx11011xxxxxxxxxx
                                                  umin.  */
-                                              return 3119;
+                                              return 3128;
                                             }
                                         }
                                     }
@@ -9573,7 +9672,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxx11010xx0xxxx0x00111xxxxxxxxxx
                                                      cnt.  */
-                                                  return 3114;
+                                                  return 3123;
                                                 }
                                               else
                                                 {
@@ -10415,7 +10514,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  010001x01x1xxxxx000110xxxxxxxxxx
                                                                  usdot.  */
-                                                              return 2945;
+                                                              return 2954;
                                                             }
                                                         }
                                                     }
@@ -10489,7 +10588,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  010001x01x1xxxxx000111xxxxxxxxxx
                                                                  sudot.  */
-                                                              return 2946;
+                                                              return 2955;
                                                             }
                                                         }
                                                     }
@@ -13163,7 +13262,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              010001x0xx0xxxxx011110xxxxxxxxxx
                                                              usdot.  */
-                                                          return 2944;
+                                                          return 2953;
                                                         }
                                                     }
                                                 }
@@ -14867,7 +14966,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  011001x0100xxx10101xxxxxxxxxxxxx
                                                                  bfcvtnt.  */
-                                                              return 2973;
+                                                              return 2982;
                                                             }
                                                         }
                                                       else
@@ -15110,7 +15209,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  101001x00x1xxxxxx00xxxxxxxxxxxxx
                                                  ld1rob.  */
-                                              return 2949;
+                                              return 2958;
                                             }
                                           else
                                             {
@@ -15118,7 +15217,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  101001x01x1xxxxxx00xxxxxxxxxxxxx
                                                  ld1roh.  */
-                                              return 2950;
+                                              return 2959;
                                             }
                                         }
                                       else
@@ -15350,7 +15449,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          011001x0011xxxxx010xxxxxxxxxxxxx
                                                          bfdot.  */
-                                                      return 2970;
+                                                      return 2979;
                                                     }
                                                   else
                                                     {
@@ -15371,7 +15470,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x0111xxxxx010xx0xxxxxxxxxx
                                                              bfmlalb.  */
-                                                          return 2977;
+                                                          return 2986;
                                                         }
                                                       else
                                                         {
@@ -15379,7 +15478,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x0111xxxxx010xx1xxxxxxxxxx
                                                              bfmlalt.  */
-                                                          return 2976;
+                                                          return 2985;
                                                         }
                                                     }
                                                   else
@@ -15434,7 +15533,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x11001x0011xxxxx1x0xxxxxxxxxxxxx
                                                  bfdot.  */
-                                              return 2969;
+                                              return 2978;
                                             }
                                           else
                                             {
@@ -15446,7 +15545,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          011001x0111xxxxx1x0xx0xxxxxxxxxx
                                                          bfmlalb.  */
-                                                      return 2975;
+                                                      return 2984;
                                                     }
                                                   else
                                                     {
@@ -15454,7 +15553,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          011001x0111xxxxx1x0xx1xxxxxxxxxx
                                                          bfmlalt.  */
-                                                      return 2974;
+                                                      return 2983;
                                                     }
                                                 }
                                               else
@@ -15505,7 +15604,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x00x1xxxxx001xxxxxxxxxxxxx
                                                      ld1rob.  */
-                                                  return 2953;
+                                                  return 2962;
                                                 }
                                               else
                                                 {
@@ -15513,7 +15612,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x01x1xxxxx001xxxxxxxxxxxxx
                                                      ld1roh.  */
-                                                  return 2954;
+                                                  return 2963;
                                                 }
                                             }
                                           else
@@ -15872,7 +15971,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          011001x0101xxxxx111xxxxxxxxxxxxx
                                                          fmmla.  */
-                                                      return 2947;
+                                                      return 2956;
                                                     }
                                                   else
                                                     {
@@ -15905,7 +16004,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          011001x0011xxxxx111xxxxxxxxxxxxx
                                                          bfmmla.  */
-                                                      return 2971;
+                                                      return 2980;
                                                     }
                                                   else
                                                     {
@@ -15935,7 +16034,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          011001x0111xxxxx111xxxxxxxxxxxxx
                                                          fmmla.  */
-                                                      return 2948;
+                                                      return 2957;
                                                     }
                                                   else
                                                     {
@@ -16064,7 +16163,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x1101xxxxx000x00xxxxxxxxxx
                                                                  zip1.  */
-                                                              return 2957;
+                                                              return 2966;
                                                             }
                                                           else
                                                             {
@@ -16074,7 +16173,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x1101xxxxx000010xxxxxxxxxx
                                                                      uzp1.  */
-                                                                  return 2959;
+                                                                  return 2968;
                                                                 }
                                                               else
                                                                 {
@@ -16082,7 +16181,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x1101xxxxx000110xxxxxxxxxx
                                                                      trn1.  */
-                                                                  return 2961;
+                                                                  return 2970;
                                                                 }
                                                             }
                                                         }
@@ -16094,7 +16193,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x1101xxxxx000x01xxxxxxxxxx
                                                                  zip2.  */
-                                                              return 2958;
+                                                              return 2967;
                                                             }
                                                           else
                                                             {
@@ -16104,7 +16203,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x1101xxxxx000011xxxxxxxxxx
                                                                      uzp2.  */
-                                                                  return 2960;
+                                                                  return 2969;
                                                                 }
                                                               else
                                                                 {
@@ -16112,7 +16211,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x1101xxxxx000111xxxxxxxxxx
                                                                      trn2.  */
-                                                                  return 2962;
+                                                                  return 2971;
                                                                 }
                                                             }
                                                         }
@@ -17171,7 +17270,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      010001x1000xxxxx100110xxxxxxxxxx
                                                                      smmla.  */
-                                                                  return 2941;
+                                                                  return 2950;
                                                                 }
                                                               else
                                                                 {
@@ -17179,7 +17278,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      010001x1100xxxxx100110xxxxxxxxxx
                                                                      usmmla.  */
-                                                                  return 2943;
+                                                                  return 2952;
                                                                 }
                                                             }
                                                           else
@@ -17188,7 +17287,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  010001x1x10xxxxx100110xxxxxxxxxx
                                                                  ummla.  */
-                                                              return 2942;
+                                                              return 2951;
                                                             }
                                                         }
                                                     }
@@ -18684,7 +18783,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x10x1xxxxx000xxxxxxxxxxxxx
                                                      ld1row.  */
-                                                  return 2951;
+                                                  return 2960;
                                                 }
                                               else
                                                 {
@@ -18692,7 +18791,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x11x1xxxxx000xxxxxxxxxxxxx
                                                      ld1rod.  */
-                                                  return 2952;
+                                                  return 2961;
                                                 }
                                             }
                                         }
@@ -19066,7 +19165,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x10x1xxxxx001xxxxxxxxxxxxx
                                                      ld1row.  */
-                                                  return 2955;
+                                                  return 2964;
                                                 }
                                               else
                                                 {
@@ -19074,7 +19173,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x11x1xxxxx001xxxxxxxxxxxxx
                                                      ld1rod.  */
-                                                  return 2956;
+                                                  return 2965;
                                                 }
                                             }
                                         }
@@ -19435,7 +19534,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx1xxxxx01x000xxxxx10xxx
                                                                  whilege.  */
-                                                              return 2857;
+                                                              return 2866;
                                                             }
                                                           else
                                                             {
@@ -19443,7 +19542,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx1xxxxx01x000xxxxx11xxx
                                                                  whilegt.  */
-                                                              return 2858;
+                                                              return 2867;
                                                             }
                                                         }
                                                       else
@@ -19487,7 +19586,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx1xxxxx01x010xxxxx10xxx
                                                                  whilehs.  */
-                                                              return 2860;
+                                                              return 2869;
                                                             }
                                                           else
                                                             {
@@ -19495,7 +19594,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx1xxxxx01x010xxxxx11xxx
                                                                  whilehi.  */
-                                                              return 2859;
+                                                              return 2868;
                                                             }
                                                         }
                                                       else
@@ -19542,7 +19641,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx1xxxxx01x001xxxxx10xxx
                                                                  whilelt.  */
-                                                              return 2864;
+                                                              return 2873;
                                                             }
                                                           else
                                                             {
@@ -19550,7 +19649,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx1xxxxx01x001xxxxx11xxx
                                                                  whilele.  */
-                                                              return 2861;
+                                                              return 2870;
                                                             }
                                                         }
                                                       else
@@ -19594,7 +19693,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx1xxxxx01x011xxxxx10xxx
                                                                  whilelo.  */
-                                                              return 2862;
+                                                              return 2871;
                                                             }
                                                           else
                                                             {
@@ -19602,7 +19701,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  001001x1xx1xxxxx01x011xxxxx11xxx
                                                                  whilels.  */
-                                                              return 2863;
+                                                              return 2872;
                                                             }
                                                         }
                                                       else
@@ -20728,7 +20827,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x110001x10101xxxxxxxxxxxxx
                                                                          bfcvt.  */
-                                                                      return 2972;
+                                                                      return 2981;
                                                                     }
                                                                 }
                                                               else
@@ -22089,7 +22188,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      x1010100xxxxxxxxxxxxxxxxxxx1xxxx
                                      bc.c.  */
-                                  return 3108;
+                                  return 3117;
                                 }
                               else
                                 {
@@ -22669,7 +22768,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110100xxxxxx0000xxxxxxxxxxxx
                                                      cpyp.  */
-                                                  return 3036;
+                                                  return 3045;
                                                 }
                                               else
                                                 {
@@ -22677,7 +22776,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110110xxxxxx0000xxxxxxxxxxxx
                                                      cpye.  */
-                                                  return 3038;
+                                                  return 3047;
                                                 }
                                             }
                                           else
@@ -22688,7 +22787,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110100xxxxxx1000xxxxxxxxxxxx
                                                      cpyprn.  */
-                                                  return 3042;
+                                                  return 3051;
                                                 }
                                               else
                                                 {
@@ -22696,7 +22795,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110110xxxxxx1000xxxxxxxxxxxx
                                                      cpyern.  */
-                                                  return 3044;
+                                                  return 3053;
                                                 }
                                             }
                                         }
@@ -22710,7 +22809,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110100xxxxxx0100xxxxxxxxxxxx
                                                      cpypwn.  */
-                                                  return 3039;
+                                                  return 3048;
                                                 }
                                               else
                                                 {
@@ -22718,7 +22817,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110110xxxxxx0100xxxxxxxxxxxx
                                                      cpyewn.  */
-                                                  return 3041;
+                                                  return 3050;
                                                 }
                                             }
                                           else
@@ -22729,7 +22828,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110100xxxxxx1100xxxxxxxxxxxx
                                                      cpypn.  */
-                                                  return 3045;
+                                                  return 3054;
                                                 }
                                               else
                                                 {
@@ -22737,7 +22836,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110110xxxxxx1100xxxxxxxxxxxx
                                                      cpyen.  */
-                                                  return 3047;
+                                                  return 3056;
                                                 }
                                             }
                                         }
@@ -22754,7 +22853,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110100xxxxxx0010xxxxxxxxxxxx
                                                      cpyprt.  */
-                                                  return 3060;
+                                                  return 3069;
                                                 }
                                               else
                                                 {
@@ -22762,7 +22861,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110110xxxxxx0010xxxxxxxxxxxx
                                                      cpyert.  */
-                                                  return 3062;
+                                                  return 3071;
                                                 }
                                             }
                                           else
@@ -22773,7 +22872,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110100xxxxxx1010xxxxxxxxxxxx
                                                      cpyprtrn.  */
-                                                  return 3066;
+                                                  return 3075;
                                                 }
                                               else
                                                 {
@@ -22781,7 +22880,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110110xxxxxx1010xxxxxxxxxxxx
                                                      cpyertrn.  */
-                                                  return 3068;
+                                                  return 3077;
                                                 }
                                             }
                                         }
@@ -22795,7 +22894,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110100xxxxxx0110xxxxxxxxxxxx
                                                      cpyprtwn.  */
-                                                  return 3063;
+                                                  return 3072;
                                                 }
                                               else
                                                 {
@@ -22803,7 +22902,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110110xxxxxx0110xxxxxxxxxxxx
                                                      cpyertwn.  */
-                                                  return 3065;
+                                                  return 3074;
                                                 }
                                             }
                                           else
@@ -22814,7 +22913,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110100xxxxxx1110xxxxxxxxxxxx
                                                      cpyprtn.  */
-                                                  return 3069;
+                                                  return 3078;
                                                 }
                                               else
                                                 {
@@ -22822,7 +22921,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110110xxxxxx1110xxxxxxxxxxxx
                                                      cpyertn.  */
-                                                  return 3071;
+                                                  return 3080;
                                                 }
                                             }
                                         }
@@ -22842,7 +22941,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110100xxxxxx0001xxxxxxxxxxxx
                                                      cpypwt.  */
-                                                  return 3048;
+                                                  return 3057;
                                                 }
                                               else
                                                 {
@@ -22850,7 +22949,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110110xxxxxx0001xxxxxxxxxxxx
                                                      cpyewt.  */
-                                                  return 3050;
+                                                  return 3059;
                                                 }
                                             }
                                           else
@@ -22861,7 +22960,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110100xxxxxx1001xxxxxxxxxxxx
                                                      cpypwtrn.  */
-                                                  return 3054;
+                                                  return 3063;
                                                 }
                                               else
                                                 {
@@ -22869,7 +22968,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110110xxxxxx1001xxxxxxxxxxxx
                                                      cpyewtrn.  */
-                                                  return 3056;
+                                                  return 3065;
                                                 }
                                             }
                                         }
@@ -22883,7 +22982,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110100xxxxxx0101xxxxxxxxxxxx
                                                      cpypwtwn.  */
-                                                  return 3051;
+                                                  return 3060;
                                                 }
                                               else
                                                 {
@@ -22891,7 +22990,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110110xxxxxx0101xxxxxxxxxxxx
                                                      cpyewtwn.  */
-                                                  return 3053;
+                                                  return 3062;
                                                 }
                                             }
                                           else
@@ -22902,7 +23001,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110100xxxxxx1101xxxxxxxxxxxx
                                                      cpypwtn.  */
-                                                  return 3057;
+                                                  return 3066;
                                                 }
                                               else
                                                 {
@@ -22910,7 +23009,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110110xxxxxx1101xxxxxxxxxxxx
                                                      cpyewtn.  */
-                                                  return 3059;
+                                                  return 3068;
                                                 }
                                             }
                                         }
@@ -22927,7 +23026,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110100xxxxxx0011xxxxxxxxxxxx
                                                      cpypt.  */
-                                                  return 3072;
+                                                  return 3081;
                                                 }
                                               else
                                                 {
@@ -22935,7 +23034,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110110xxxxxx0011xxxxxxxxxxxx
                                                      cpyet.  */
-                                                  return 3074;
+                                                  return 3083;
                                                 }
                                             }
                                           else
@@ -22946,7 +23045,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110100xxxxxx1011xxxxxxxxxxxx
                                                      cpyptrn.  */
-                                                  return 3078;
+                                                  return 3087;
                                                 }
                                               else
                                                 {
@@ -22954,7 +23053,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110110xxxxxx1011xxxxxxxxxxxx
                                                      cpyetrn.  */
-                                                  return 3080;
+                                                  return 3089;
                                                 }
                                             }
                                         }
@@ -22968,7 +23067,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110100xxxxxx0111xxxxxxxxxxxx
                                                      cpyptwn.  */
-                                                  return 3075;
+                                                  return 3084;
                                                 }
                                               else
                                                 {
@@ -22976,7 +23075,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110110xxxxxx0111xxxxxxxxxxxx
                                                      cpyetwn.  */
-                                                  return 3077;
+                                                  return 3086;
                                                 }
                                             }
                                           else
@@ -22987,7 +23086,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110100xxxxxx1111xxxxxxxxxxxx
                                                      cpyptn.  */
-                                                  return 3081;
+                                                  return 3090;
                                                 }
                                               else
                                                 {
@@ -22995,7 +23094,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110110xxxxxx1111xxxxxxxxxxxx
                                                      cpyetn.  */
-                                                  return 3083;
+                                                  return 3092;
                                                 }
                                             }
                                         }
@@ -23029,7 +23128,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110101xxxxxx0000xxxxxxxxxxxx
                                                      cpym.  */
-                                                  return 3037;
+                                                  return 3046;
                                                 }
                                               else
                                                 {
@@ -23037,7 +23136,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110111xxxxxx0000xxxxxxxxxxxx
                                                      setgp.  */
-                                                  return 3096;
+                                                  return 3105;
                                                 }
                                             }
                                           else
@@ -23048,7 +23147,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110101xxxxxx1000xxxxxxxxxxxx
                                                      cpymrn.  */
-                                                  return 3043;
+                                                  return 3052;
                                                 }
                                               else
                                                 {
@@ -23056,7 +23155,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110111xxxxxx1000xxxxxxxxxxxx
                                                      setge.  */
-                                                  return 3098;
+                                                  return 3107;
                                                 }
                                             }
                                         }
@@ -23070,7 +23169,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110101xxxxxx0100xxxxxxxxxxxx
                                                      cpymwn.  */
-                                                  return 3040;
+                                                  return 3049;
                                                 }
                                               else
                                                 {
@@ -23078,7 +23177,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110111xxxxxx0100xxxxxxxxxxxx
                                                      setgm.  */
-                                                  return 3097;
+                                                  return 3106;
                                                 }
                                             }
                                           else
@@ -23087,7 +23186,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx011101x1xxxxxx1100xxxxxxxxxxxx
                                                  cpymn.  */
-                                              return 3046;
+                                              return 3055;
                                             }
                                         }
                                     }
@@ -23103,7 +23202,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110101xxxxxx0010xxxxxxxxxxxx
                                                      cpymrt.  */
-                                                  return 3061;
+                                                  return 3070;
                                                 }
                                               else
                                                 {
@@ -23111,7 +23210,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110111xxxxxx0010xxxxxxxxxxxx
                                                      setgpn.  */
-                                                  return 3102;
+                                                  return 3111;
                                                 }
                                             }
                                           else
@@ -23122,7 +23221,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110101xxxxxx1010xxxxxxxxxxxx
                                                      cpymrtrn.  */
-                                                  return 3067;
+                                                  return 3076;
                                                 }
                                               else
                                                 {
@@ -23130,7 +23229,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110111xxxxxx1010xxxxxxxxxxxx
                                                      setgen.  */
-                                                  return 3104;
+                                                  return 3113;
                                                 }
                                             }
                                         }
@@ -23144,7 +23243,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110101xxxxxx0110xxxxxxxxxxxx
                                                      cpymrtwn.  */
-                                                  return 3064;
+                                                  return 3073;
                                                 }
                                               else
                                                 {
@@ -23152,7 +23251,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110111xxxxxx0110xxxxxxxxxxxx
                                                      setgmn.  */
-                                                  return 3103;
+                                                  return 3112;
                                                 }
                                             }
                                           else
@@ -23161,7 +23260,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx011101x1xxxxxx1110xxxxxxxxxxxx
                                                  cpymrtn.  */
-                                              return 3070;
+                                              return 3079;
                                             }
                                         }
                                     }
@@ -23180,7 +23279,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110101xxxxxx0001xxxxxxxxxxxx
                                                      cpymwt.  */
-                                                  return 3049;
+                                                  return 3058;
                                                 }
                                               else
                                                 {
@@ -23188,7 +23287,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110111xxxxxx0001xxxxxxxxxxxx
                                                      setgpt.  */
-                                                  return 3099;
+                                                  return 3108;
                                                 }
                                             }
                                           else
@@ -23199,7 +23298,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110101xxxxxx1001xxxxxxxxxxxx
                                                      cpymwtrn.  */
-                                                  return 3055;
+                                                  return 3064;
                                                 }
                                               else
                                                 {
@@ -23207,7 +23306,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110111xxxxxx1001xxxxxxxxxxxx
                                                      setget.  */
-                                                  return 3101;
+                                                  return 3110;
                                                 }
                                             }
                                         }
@@ -23221,7 +23320,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110101xxxxxx0101xxxxxxxxxxxx
                                                      cpymwtwn.  */
-                                                  return 3052;
+                                                  return 3061;
                                                 }
                                               else
                                                 {
@@ -23229,7 +23328,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110111xxxxxx0101xxxxxxxxxxxx
                                                      setgmt.  */
-                                                  return 3100;
+                                                  return 3109;
                                                 }
                                             }
                                           else
@@ -23238,7 +23337,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx011101x1xxxxxx1101xxxxxxxxxxxx
                                                  cpymwtn.  */
-                                              return 3058;
+                                              return 3067;
                                             }
                                         }
                                     }
@@ -23254,7 +23353,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110101xxxxxx0011xxxxxxxxxxxx
                                                      cpymt.  */
-                                                  return 3073;
+                                                  return 3082;
                                                 }
                                               else
                                                 {
@@ -23262,7 +23361,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110111xxxxxx0011xxxxxxxxxxxx
                                                      setgptn.  */
-                                                  return 3105;
+                                                  return 3114;
                                                 }
                                             }
                                           else
@@ -23273,7 +23372,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110101xxxxxx1011xxxxxxxxxxxx
                                                      cpymtrn.  */
-                                                  return 3079;
+                                                  return 3088;
                                                 }
                                               else
                                                 {
@@ -23281,7 +23380,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110111xxxxxx1011xxxxxxxxxxxx
                                                      setgetn.  */
-                                                  return 3107;
+                                                  return 3116;
                                                 }
                                             }
                                         }
@@ -23295,7 +23394,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110101xxxxxx0111xxxxxxxxxxxx
                                                      cpymtwn.  */
-                                                  return 3076;
+                                                  return 3085;
                                                 }
                                               else
                                                 {
@@ -23303,7 +23402,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx01110111xxxxxx0111xxxxxxxxxxxx
                                                      setgmtn.  */
-                                                  return 3106;
+                                                  return 3115;
                                                 }
                                             }
                                           else
@@ -23312,7 +23411,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx011101x1xxxxxx1111xxxxxxxxxxxx
                                                  cpymtn.  */
-                                              return 3082;
+                                              return 3091;
                                             }
                                         }
                                     }
@@ -23479,7 +23578,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          0x001110xx0xxxxx1x1001xxxxxxxxxx
                                                          smmla.  */
-                                                      return 2963;
+                                                      return 2972;
                                                     }
                                                 }
                                             }
@@ -23512,7 +23611,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          0x001110xx0xxxxx1x0101xxxxxxxxxx
                                                          sdot.  */
-                                                      return 2889;
+                                                      return 2898;
                                                     }
                                                 }
                                               else
@@ -23586,7 +23685,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          0x001110xx0xxxxx1x1011xxxxxxxxxx
                                                          usmmla.  */
-                                                      return 2965;
+                                                      return 2974;
                                                     }
                                                 }
                                             }
@@ -23619,7 +23718,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          0x001110xx0xxxxx1x0111xxxxxxxxxx
                                                          usdot.  */
-                                                      return 2966;
+                                                      return 2975;
                                                     }
                                                 }
                                               else
@@ -23666,7 +23765,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1x001110000xxxxxxxxxxxxxxxxxxxxx
                                              eor3.  */
-                                          return 2896;
+                                          return 2905;
                                         }
                                       else
                                         {
@@ -23674,7 +23773,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1x001110100xxxxxxxxxxxxxxxxxxxxx
                                              xar.  */
-                                          return 2898;
+                                          return 2907;
                                         }
                                     }
                                   else
@@ -23685,7 +23784,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1x001110x10xxxxx0xxxxxxxxxxxxxxx
                                              sm3ss1.  */
-                                          return 2900;
+                                          return 2909;
                                         }
                                       else
                                         {
@@ -23699,7 +23798,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          1x001110010xxxxx1xxx00xxxxxxxxxx
                                                          sm3tt1a.  */
-                                                      return 2901;
+                                                      return 2910;
                                                     }
                                                   else
                                                     {
@@ -23707,7 +23806,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          1x001110110xxxxx1xxx00xxxxxxxxxx
                                                          sha512su0.  */
-                                                      return 2894;
+                                                      return 2903;
                                                     }
                                                 }
                                               else
@@ -23716,7 +23815,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      1x001110x10xxxxx1xxx10xxxxxxxxxx
                                                      sm3tt2a.  */
-                                                  return 2903;
+                                                  return 2912;
                                                 }
                                             }
                                           else
@@ -23729,7 +23828,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          1x001110010xxxxx1xxx01xxxxxxxxxx
                                                          sm3tt1b.  */
-                                                      return 2902;
+                                                      return 2911;
                                                     }
                                                   else
                                                     {
@@ -23737,7 +23836,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          1x001110110xxxxx1xxx01xxxxxxxxxx
                                                          sm4e.  */
-                                                      return 2907;
+                                                      return 2916;
                                                     }
                                                 }
                                               else
@@ -23746,7 +23845,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      1x001110x10xxxxx1xxx11xxxxxxxxxx
                                                      sm3tt2b.  */
-                                                  return 2904;
+                                                  return 2913;
                                                 }
                                             }
                                         }
@@ -23927,7 +24026,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx0xxxxx100101xxxxxxxxxx
                                                          udot.  */
-                                                      return 2888;
+                                                      return 2897;
                                                     }
                                                 }
                                               else
@@ -23958,7 +24057,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx101110xx0xxxxx101x01xxxxxxxxxx
                                                      ummla.  */
-                                                  return 2964;
+                                                  return 2973;
                                                 }
                                               else
                                                 {
@@ -23977,7 +24076,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx101110xx0xxxxx1x1011xxxxxxxxxx
                                                      bfmmla.  */
-                                                  return 2980;
+                                                  return 2989;
                                                 }
                                               else
                                                 {
@@ -23987,7 +24086,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx1011100x0xxxxx1x1111xxxxxxxxxx
                                                          bfdot.  */
-                                                      return 2978;
+                                                      return 2987;
                                                     }
                                                   else
                                                     {
@@ -23997,7 +24096,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x01011101x0xxxxx1x1111xxxxxxxxxx
                                                              bfmlalb.  */
-                                                          return 2985;
+                                                          return 2994;
                                                         }
                                                       else
                                                         {
@@ -24005,7 +24104,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x11011101x0xxxxx1x1111xxxxxxxxxx
                                                              bfmlalt.  */
-                                                          return 2984;
+                                                          return 2993;
                                                         }
                                                     }
                                                 }
@@ -24589,7 +24688,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000011101x1xxxx1011010xxxxxxxxxx
                                                                          bfcvtn.  */
-                                                                      return 2981;
+                                                                      return 2990;
                                                                     }
                                                                   else
                                                                     {
@@ -24597,7 +24696,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          010011101x1xxxx1011010xxxxxxxxxx
                                                                          bfcvtn2.  */
-                                                                      return 2982;
+                                                                      return 2991;
                                                                     }
                                                                 }
                                                             }
@@ -24915,7 +25014,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          1x001110xx1xxxxx0xxxxxxxxxxxxxxx
                                          bcax.  */
-                                      return 2899;
+                                      return 2908;
                                     }
                                 }
                               else
@@ -25526,7 +25625,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  11001110xx1xxxxx100000xxxxxxxxxx
                                                                  sha512h.  */
-                                                              return 2892;
+                                                              return 2901;
                                                             }
                                                         }
                                                     }
@@ -25578,7 +25677,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  11001110xx1xxxxx110000xxxxxxxxxx
                                                                  sm3partw1.  */
-                                                              return 2905;
+                                                              return 2914;
                                                             }
                                                         }
                                                     }
@@ -25821,7 +25920,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              1x001110xx1xxxxx100010xxxxxxxxxx
                                                              sha512su1.  */
-                                                          return 2895;
+                                                          return 2904;
                                                         }
                                                     }
                                                   else
@@ -25897,7 +25996,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x0011100x1xxxxx110010xxxxxxxxxx
                                                                  sm4ekey.  */
-                                                              return 2908;
+                                                              return 2917;
                                                             }
                                                         }
                                                       else
@@ -26723,7 +26822,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              1x001110xx1xxxxx100001xxxxxxxxxx
                                                              sha512h2.  */
-                                                          return 2893;
+                                                          return 2902;
                                                         }
                                                     }
                                                   else
@@ -26755,7 +26854,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x0011100x1xxxxx110001xxxxxxxxxx
                                                                  sm3partw2.  */
-                                                              return 2906;
+                                                              return 2915;
                                                             }
                                                         }
                                                       else
@@ -26995,7 +27094,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              1x001110xx1xxxxx100011xxxxxxxxxx
                                                              rax1.  */
-                                                          return 2897;
+                                                          return 2906;
                                                         }
                                                     }
                                                   else
@@ -27027,7 +27126,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x01011100x1xxxxx110011xxxxxxxxxx
                                                                  fmlal2.  */
-                                                              return 2911;
+                                                              return 2920;
                                                             }
                                                           else
                                                             {
@@ -27035,7 +27134,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x11011100x1xxxxx110011xxxxxxxxxx
                                                                  fmlal2.  */
-                                                              return 2915;
+                                                              return 2924;
                                                             }
                                                         }
                                                     }
@@ -27057,7 +27156,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x01011101x1xxxxx110011xxxxxxxxxx
                                                                  fmlsl2.  */
-                                                              return 2912;
+                                                              return 2921;
                                                             }
                                                           else
                                                             {
@@ -27065,7 +27164,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x11011101x1xxxxx110011xxxxxxxxxx
                                                                  fmlsl2.  */
-                                                              return 2916;
+                                                              return 2925;
                                                             }
                                                         }
                                                     }
@@ -27104,7 +27203,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x00011100x1xxxxx111011xxxxxxxxxx
                                                                  fmlal.  */
-                                                              return 2909;
+                                                              return 2918;
                                                             }
                                                           else
                                                             {
@@ -27112,7 +27211,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x10011100x1xxxxx111011xxxxxxxxxx
                                                                  fmlal.  */
-                                                              return 2913;
+                                                              return 2922;
                                                             }
                                                         }
                                                       else
@@ -27134,7 +27233,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x00011101x1xxxxx111011xxxxxxxxxx
                                                                  fmlsl.  */
-                                                              return 2910;
+                                                              return 2919;
                                                             }
                                                           else
                                                             {
@@ -27142,7 +27241,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x10011101x1xxxxx111011xxxxxxxxxx
                                                                  fmlsl.  */
-                                                              return 2914;
+                                                              return 2923;
                                                             }
                                                         }
                                                       else
@@ -28950,7 +29049,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0001111xxxxxxxx0000x0xxxxxxxxxx
                                                      fmlal.  */
-                                                  return 2917;
+                                                  return 2926;
                                                 }
                                               else
                                                 {
@@ -28958,7 +29057,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1001111xxxxxxxx0000x0xxxxxxxxxx
                                                      fmlal.  */
-                                                  return 2921;
+                                                  return 2930;
                                                 }
                                             }
                                           else
@@ -28980,7 +29079,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0001111xxxxxxxx0100x0xxxxxxxxxx
                                                      fmlsl.  */
-                                                  return 2918;
+                                                  return 2927;
                                                 }
                                               else
                                                 {
@@ -28988,7 +29087,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1001111xxxxxxxx0100x0xxxxxxxxxx
                                                      fmlsl.  */
-                                                  return 2922;
+                                                  return 2931;
                                                 }
                                             }
                                           else
@@ -29494,7 +29593,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0101111xxxxxxxx1000x0xxxxxxxxxx
                                                      fmlal2.  */
-                                                  return 2919;
+                                                  return 2928;
                                                 }
                                               else
                                                 {
@@ -29502,7 +29601,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1101111xxxxxxxx1000x0xxxxxxxxxx
                                                      fmlal2.  */
-                                                  return 2923;
+                                                  return 2932;
                                                 }
                                             }
                                         }
@@ -29524,7 +29623,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0101111xxxxxxxx1100x0xxxxxxxxxx
                                                      fmlsl2.  */
-                                                  return 2920;
+                                                  return 2929;
                                                 }
                                               else
                                                 {
@@ -29532,7 +29631,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1101111xxxxxxxx1100x0xxxxxxxxxx
                                                      fmlsl2.  */
-                                                  return 2924;
+                                                  return 2933;
                                                 }
                                             }
                                         }
@@ -29588,7 +29687,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx001111xxxxxxxx1110x0xxxxxxxxxx
                                                  sdot.  */
-                                              return 2891;
+                                              return 2900;
                                             }
                                           else
                                             {
@@ -29596,7 +29695,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx101111xxxxxxxx1110x0xxxxxxxxxx
                                                  udot.  */
-                                              return 2890;
+                                              return 2899;
                                             }
                                         }
                                     }
@@ -29699,7 +29798,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx00111100xxxxxx1111x0xxxxxxxxxx
                                                          sudot.  */
-                                                      return 2968;
+                                                      return 2977;
                                                     }
                                                   else
                                                     {
@@ -29707,7 +29806,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx00111110xxxxxx1111x0xxxxxxxxxx
                                                          usdot.  */
-                                                      return 2967;
+                                                      return 2976;
                                                     }
                                                 }
                                               else
@@ -29718,7 +29817,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx00111101xxxxxx1111x0xxxxxxxxxx
                                                          bfdot.  */
-                                                      return 2979;
+                                                      return 2988;
                                                     }
                                                   else
                                                     {
@@ -29728,7 +29827,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x000111111xxxxxx1111x0xxxxxxxxxx
                                                              bfmlalb.  */
-                                                          return 2987;
+                                                          return 2996;
                                                         }
                                                       else
                                                         {
@@ -29736,7 +29835,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x100111111xxxxxx1111x0xxxxxxxxxx
                                                              bfmlalt.  */
-                                                          return 2986;
+                                                          return 2995;
                                                         }
                                                     }
                                                 }
@@ -30264,11 +30363,11 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode)
     case 2407: value = 2412; break;    /* st1q --> st1q.  */
     case 2412: return NULL;            /* st1q --> NULL.  */
     case 12: value = 19; break;        /* add --> addg.  */
-    case 19: value = 3109; break;      /* addg --> smax.  */
-    case 3109: value = 3110; break;    /* smax --> umax.  */
-    case 3110: value = 3111; break;    /* umax --> smin.  */
-    case 3111: value = 3112; break;    /* smin --> umin.  */
-    case 3112: return NULL;            /* umin --> NULL.  */
+    case 19: value = 3118; break;      /* addg --> smax.  */
+    case 3118: value = 3119; break;    /* smax --> umax.  */
+    case 3119: value = 3120; break;    /* umax --> smin.  */
+    case 3120: value = 3121; break;    /* smin --> umin.  */
+    case 3121: return NULL;            /* umin --> NULL.  */
     case 16: value = 20; break;        /* sub --> subg.  */
     case 20: return NULL;              /* subg --> NULL.  */
     case 971: value = 975; break;      /* stnp --> stp.  */
@@ -30426,8 +30525,8 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode)
     case 824: return NULL;             /* fsqrt --> NULL.  */
     case 832: value = 833; break;      /* frintz --> frintz.  */
     case 833: return NULL;             /* frintz --> NULL.  */
-    case 825: value = 2983; break;     /* fcvt --> bfcvt.  */
-    case 2983: return NULL;            /* bfcvt --> NULL.  */
+    case 825: value = 2992; break;     /* fcvt --> bfcvt.  */
+    case 2992: return NULL;            /* bfcvt --> NULL.  */
     case 834: value = 835; break;      /* frinta --> frinta.  */
     case 835: return NULL;             /* frinta --> NULL.  */
     case 836: value = 837; break;      /* frintx --> frintx.  */
index 7271231eb3fa0fdbaec7477ff39a093c06fac25a..fd13c924804f024a7678f729788bd8517ed5e556 100644 (file)
@@ -3102,6 +3102,10 @@ aarch64_decode_variant_using_iclass (aarch64_inst *inst)
       variant -= 1;
       break;
 
+    case sme_sz_23:
+      variant = extract_field (FLD_SME_sz_23, inst->value, 0);
+      break;
+
     case sve_cpy:
       variant = extract_fields (inst->value, 0, 2, FLD_size, FLD_SVE_M_14);
       break;
index ac54bf7811aaf0483ba98122b1080b372461ea95..0418a21b2954ef44b270f5ce40a9cd65dcaf8eb8 100644 (file)
@@ -252,6 +252,7 @@ const aarch64_field fields[] =
     { 23,  1 }, /* SME_i1: immediate field, bit 23.  */
     { 12,  2 }, /* SME_size_12: bits [13:12].  */
     { 22,  2 }, /* SME_size_22: size<1>, size<0> class field, [23:22].  */
+    { 23,  1 }, /* SME_sz_23: bit [23].  */
     { 22,  1 }, /* SME_tszh: immediate and qualifier field, bit 22.  */
     { 18,  3 }, /* SME_tszl: immediate and qualifier field, bits [20:18].  */
     { 0,   8 }, /* SME_zero_mask: list of up to 8 tile names separated by commas [7:0].  */
index f8051c9b2da540643fc7bf13094d0bb5a4384902..698b00d7805c12c6ebaba95aad3122a38768101a 100644 (file)
@@ -73,6 +73,7 @@ enum aarch64_field_kind
   FLD_SME_i1,
   FLD_SME_size_12,
   FLD_SME_size_22,
+  FLD_SME_sz_23,
   FLD_SME_tszh,
   FLD_SME_tszl,
   FLD_SME_zero_mask,
index eae843b593cf071a6f115af5a923be3211a92a76..b0c5bb54ae40deb435c410feb7b03f5366c53a9d 100644 (file)
   QLF2(S_D,S_D),                                        \
   QLF2(S_Q,S_Q),                                        \
 }
+#define OP_SVE_VV_BH_SD                                 \
+{                                                       \
+  QLF2(S_B,S_S),                                        \
+  QLF2(S_H,S_D),                                        \
+}
 #define OP_SVE_VV_HSD                                   \
 {                                                       \
   QLF2(S_H,S_H),                                        \
@@ -5608,6 +5613,12 @@ const struct aarch64_opcode aarch64_opcode_table[] =
   SME2_INSN ("smlsll", 0xc1a10008, 0xffa39c7e, sme_int_sd, 0, OP3 (SME_ZA_array_off1x4, SME_Znx4, SME_Zmx4), OP_SVE_VVV_SD_BH, F_OD (4), 0),
   SME2_INSN ("smopa", 0xa0800008, 0xffe0001c, sme_misc, 0, OP5 (SME_ZAda_2b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SVE_SMMHH, 0, 0),
   SME2_INSN ("smops", 0xa0800018, 0xffe0001c, sme_misc, 0, OP5 (SME_ZAda_2b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SVE_SMMHH, 0, 0),
+  SME2_INSN ("sqcvt", 0xc123e000, 0xfffffc20, sme_misc, 0, OP2 (SVE_Zd, SME_Znx2), OP_SVE_HS, 0, 0),
+  SME2_INSN ("sqcvt", 0xc133e000, 0xff7ffc60, sme_sz_23, 0, OP2 (SVE_Zd, SME_Znx4), OP_SVE_VV_BH_SD, 0, 0),
+  SME2_INSN ("sqcvtn", 0xc133e040, 0xff7ffc60, sme_sz_23, 0, OP2 (SVE_Zd, SME_Znx4), OP_SVE_VV_BH_SD, 0, 0),
+  SME2_INSN ("sqcvtu", 0xc163e000, 0xfffffc20, sme_misc, 0, OP2 (SVE_Zd, SME_Znx2), OP_SVE_HS, 0, 0),
+  SME2_INSN ("sqcvtu", 0xc173e000, 0xff7ffc60, sme_sz_23, 0, OP2 (SVE_Zd, SME_Znx4), OP_SVE_VV_BH_SD, 0, 0),
+  SME2_INSN ("sqcvtun", 0xc173e040, 0xff7ffc60, sme_sz_23, 0, OP2 (SVE_Zd, SME_Znx4), OP_SVE_VV_BH_SD, 0, 0),
   SME2_INSN ("sqdmulh", 0xc120a400, 0xff30ffe1, sme_size_22, 0, OP3 (SME_Zdnx2, SME_Zdnx2, SME_Zm), OP_SVE_VVV_BHSD, 0, 1),
   SME2_INSN ("sqdmulh", 0xc120ac00, 0xff30ffe3, sme_size_22, 0, OP3 (SME_Zdnx4, SME_Zdnx4, SME_Zm), OP_SVE_VVV_BHSD, 0, 1),
   SME2_INSN ("sqdmulh", 0xc120b400, 0xff21ffe1, sme_size_22, 0, OP3 (SME_Zdnx2, SME_Zdnx2, SME_Zmx2), OP_SVE_VVV_BHSD, 0, 1),
@@ -5757,6 +5768,9 @@ const struct aarch64_opcode aarch64_opcode_table[] =
   SME2_INSN ("umlsll", 0xc1a10018, 0xffa39c7e, sme_int_sd, 0, OP3 (SME_ZA_array_off1x4, SME_Znx4, SME_Zmx4), OP_SVE_VVV_SD_BH, F_OD (4), 0),
   SME2_INSN ("umopa", 0xa1800008, 0xffe0001c, sme_misc, 0, OP5 (SME_ZAda_2b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SVE_SMMHH, 0, 0),
   SME2_INSN ("umops", 0xa1800018, 0xffe0001c, sme_misc, 0, OP5 (SME_ZAda_2b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SVE_SMMHH, 0, 0),
+  SME2_INSN ("uqcvt", 0xc123e020, 0xfffffc20, sme_misc, 0, OP2 (SVE_Zd, SME_Znx2), OP_SVE_HS, 0, 0),
+  SME2_INSN ("uqcvt", 0xc133e020, 0xff7ffc60, sme_sz_23, 0, OP2 (SVE_Zd, SME_Znx4), OP_SVE_VV_BH_SD, 0, 0),
+  SME2_INSN ("uqcvtn", 0xc133e060, 0xff7ffc60, sme_sz_23, 0, OP2 (SVE_Zd, SME_Znx4), OP_SVE_VV_BH_SD, 0, 0),
   SME2_INSN ("urshl", 0xc120a221, 0xff30ffe1, sme_size_22, 0, OP3 (SME_Zdnx2, SME_Zdnx2, SME_Zm), OP_SVE_VVV_BHSD, 0, 1),
   SME2_INSN ("urshl", 0xc120aa21, 0xff30ffe3, sme_size_22, 0, OP3 (SME_Zdnx4, SME_Zdnx4, SME_Zm), OP_SVE_VVV_BHSD, 0, 1),
   SME2_INSN ("urshl", 0xc120b221, 0xff21ffe1, sme_size_22, 0, OP3 (SME_Zdnx2, SME_Zdnx2, SME_Zmx2), OP_SVE_VVV_BHSD, 0, 1),