]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
aarch64: Support for FEAT_SVE_BFSCALE
authorEzra Sitorus <ezra.sitorus@arm.com>
Thu, 19 Jun 2025 09:40:43 +0000 (10:40 +0100)
committerAlice Carlotti <alice.carlotti@arm.com>
Thu, 19 Jun 2025 12:59:29 +0000 (13:59 +0100)
FEAT_SVE_BFSCALE introduces the SVE BFSCALE instruction, when the PE is not in
Streaming SVE mode. If FEAT_SME2 is implemented, FEAT_SVE_BFSCALE also
introduces SME multi-vector Z-targeting BFloat16 scaling instructions, BFSCALE
and BFMUL.

18 files changed:
gas/config/tc-aarch64.c
gas/doc/c-aarch64.texi
gas/testsuite/gas/aarch64/sve-b16b16-sve2-bad-2.l
gas/testsuite/gas/aarch64/sve-bfscale-bad.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve-bfscale-bad.l [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve-bfscale-bad.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve-bfscale-sme2-bad.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve-bfscale-sme2-bad.l [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve-bfscale-sme2.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve-bfscale-sme2.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve-bfscale-sve2.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve-bfscale-sve2.s [new file with mode: 0644]
include/opcode/aarch64.h
opcodes/aarch64-asm-2.c
opcodes/aarch64-dis-2.c
opcodes/aarch64-opc-2.c
opcodes/aarch64-opc.c
opcodes/aarch64-tbl.h

index 0fd74aaa999de4b7edd9bbb8b2214dbf57bdd099..42a3115102d36f140af9c21b7b6320cd7de898d1 100644 (file)
@@ -6820,6 +6820,7 @@ parse_operands (char *str, const aarch64_opcode *opcode)
        case AARCH64_OPND_SVE_Zn:
        case AARCH64_OPND_SVE_Zt:
        case AARCH64_OPND_SME_Zm:
+       case AARCH64_OPND_SME_Zm_17:
          reg_type = REG_TYPE_Z;
          goto vector_reg;
 
@@ -10726,6 +10727,7 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = {
   {"ite",              AARCH64_FEATURE (ITE), AARCH64_NO_FEATURES},
   {"d128",             AARCH64_FEATURE (D128), D128_FEATURE_DEPS},
   {"sve-b16b16",       AARCH64_FEATURE (SVE_B16B16), AARCH64_NO_FEATURES},
+  {"sve-bfscale",      AARCH64_FEATURE (SVE_BFSCALE), AARCH64_NO_FEATURES},
   {"sme2p1",           AARCH64_FEATURE (SME2p1), AARCH64_FEATURE (SME2)},
   {"sve2p1",           AARCH64_FEATURE (SVE2p1), AARCH64_FEATURE (SVE2)},
   {"rcpc3",            AARCH64_FEATURE (RCPC3), AARCH64_FEATURE (RCPC2)},
@@ -10775,6 +10777,8 @@ static const struct aarch64_virtual_dependency_table aarch64_dependencies[] = {
                                               SVE2p1_SME2p1)},
   {AARCH64_FEATURE (SME), AARCH64_FEATURE (SVE2p1_SME)},
   {AARCH64_FEATURE (SME2), AARCH64_FEATURE (SVE2p1_SME2)},
+  {AARCH64_FEATURE (SVE2), AARCH64_FEATURE (SVE2_SME2)},
+  {AARCH64_FEATURE (SME2), AARCH64_FEATURE (SVE2_SME2)},
   {AARCH64_FEATURE (SME2p1), AARCH64_FEATURE (SVE2p1_SME2p1)},
 };
 
index 74ce717a746933a76abab9ebc92ef6690c2c7456..1d5fac1adcd59a87e390b545be6ff917cf1597eb 100644 (file)
@@ -299,6 +299,8 @@ automatically cause those extensions to be disabled.
  @tab Enable the Scalable Vector Extension.
 @item @code{sve-b16b16} @tab
 @tab Enable the SVE B16B16 extension.  These instructions also require either @code{+sve2} or @code{+sme2}.
+@item @code{sve-bfscale} @tab
+@tab Enable the SVE BFSCALE extension. These instructions also require either @code{+sve2} or @code{+sme2}.
 @item @code{sve2} @tab @code{sve}
  @tab Enable SVE2.
 @item @code{sve2-aes} @tab @code{sve2}, @code{aes}
index 83f00f55bd0e0769fcc461a936afa97d7385d4fb..2ede0c95de7cdb11a406caa38003d7e96e4617e6 100644 (file)
 .*: Error: operand mismatch -- `bfmul z31.b,z31.s,z31.d\[8\]'
 .*: Info:    did you mean this\?
 .*: Info:      bfmul z31.h, z31.h, z31.h\[8\]
-.*: Error: expected an SVE vector register at operand 1 -- `bfmul { ?z0.h ?},z0.h,z0.h\[1\]'
-.*: Error: expected an SVE vector register at operand 1 -- `bfmul { ?z0.h-z0.h ?},z0.h\[2\]'
+.*: Error: missing braces at operand 2 -- `bfmul { ?z0.h ?},z0.h,z0.h\[1\]'
+.*: Error: invalid range in vector register list at operand 1 -- `bfmul { ?z0.h-z0.h ?},z0.h\[2\]'
 .*: Error: expected an SVE predicate register at operand 2 -- `bfmul z0.h,z0.h\[3\]'
 .*: Error: operand mismatch -- `bfsub z0.b,z0.h,z0.h'
 .*: Info:    did you mean this\?
diff --git a/gas/testsuite/gas/aarch64/sve-bfscale-bad.d b/gas/testsuite/gas/aarch64/sve-bfscale-bad.d
new file mode 100644 (file)
index 0000000..297fb30
--- /dev/null
@@ -0,0 +1,4 @@
+#name: Invalid SVE_BFSCALE instructions
+#as: -march=armv8-a+sve-bfscale+sme2
+#source: sve-bfscale-bad.s
+#error_output: sve-bfscale-bad.l
diff --git a/gas/testsuite/gas/aarch64/sve-bfscale-bad.l b/gas/testsuite/gas/aarch64/sve-bfscale-bad.l
new file mode 100644 (file)
index 0000000..7cddb25
--- /dev/null
@@ -0,0 +1,26 @@
+[^ :]+: Assembler messages:
+[^ :]+:[0-9]+: Error: operand 3 must be the same register as operand 1 -- `bfscale z0\.h,p0/m,z1\.h,z0\.h'
+[^ :]+:[0-9]+: Error: operand mismatch -- `bfscale z0\.h,p0/z,z0\.h,z0\.h'
+[^ :]+:[0-9]+: Info:    did you mean this\?
+[^ :]+:[0-9]+: Info:           bfscale z0\.h, p0/m, z0\.h, z0\.h
+[^ :]+:[0-9]+: Error: operand 2 must be the same register as operand 1 -- `bfscale { ?z0\.h-z1\.h ?},{ ?z0\.h-z2\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: expected a list of 2 or 4 registers at operand 1 -- `bfscale { ?z0\.h-z2\.h ?},{ ?z0\.h-z2\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: too many registers in vector register list at operand 1 -- `bfscale { ?z0\.h-z4\.h ?},{ ?z0\.h-z4\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: operand 2 must be the same register as operand 1 -- `bfscale { ?z0\.h-z1\.h ?},{ ?z0\.h-z2\.h ?},{ ?z0\.h-z1\.h ?}'
+[^ :]+:[0-9]+: Error: expected a list of 2 or 4 registers at operand 1 -- `bfscale { ?z0\.h-z2\.h ?},{ ?z0\.h-z2\.h ?},{ ?z0\.h-z1\.h ?}'
+[^ :]+:[0-9]+: Error: too many registers in vector register list at operand 1 -- `bfscale { ?z0\.h-z4\.h ?},{ ?z0\.h-z4\.h ?},{ ?z0\.h-z1\.h ?}'
+[^ :]+:[0-9]+: Error: expected a list of 2 registers at operand 3 -- `bfscale { ?z0\.h-z1\.h ?},{ ?z0\.h-z1\.h ?},{ ?z0\.h-z2\.h ?}'
+[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 3 -- `bfscale { ?z0\.h-z3\.h ?},{ ?z0\.h-z3\.h ?},{ ?z0\.h-z1\.h ?}'
+[^ :]+:[0-9]+: Error: too many registers in vector register list at operand 3 -- `bfscale { ?z0\.h-z3\.h ?},{ ?z0\.h-z3\.h ?},{ ?z0\.h-z4\.h ?}'
+[^ :]+:[0-9]+: Error: expected a list of 2 registers at operand 2 -- `bfmul { ?z0\.h-z1\.h ?},{ ?z0\.h-z2\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: expected a list of 2 or 4 registers at operand 1 -- `bfmul { ?z0\.h-z2\.h ?},{ ?z0\.h-z1\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 2 -- `bfmul { ?z0\.h-z3\.h ?},{ ?z0\.h-z2\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 2 -- `bfmul { ?z0\.h-z3\.h ?},{ ?z0\.h-z1\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: z0-z15 expected at operand 3 -- `bfmul { ?z0\.h-z1\.h ?},{ ?z0\.h-z1\.h ?},z16\.h'
+[^ :]+:[0-9]+: Error: z0-z15 expected at operand 3 -- `bfmul { ?z0\.h-z3\.h ?},{ ?z0\.h-z3\.h ?},z16\.h'
+[^ :]+:[0-9]+: Error: expected a list of 2 registers at operand 2 -- `bfmul { ?z0\.h-z1\.h ?},{ ?z0\.h-z2\.h ?},{ ?z0\.h-z1\.h ?}'
+[^ :]+:[0-9]+: Error: expected a list of 2 or 4 registers at operand 1 -- `bfmul { ?z0\.h-z2\.h ?},{ ?z0\.h-z1\.h ?},{ ?z0\.h-z1\.h ?}'
+[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 2 -- `bfmul { ?z0\.h-z3\.h ?},{ ?z0\.h-z2\.h ?},{ ?z0\.h-z3\.h ?}'
+[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 2 -- `bfmul { ?z0\.h-z3\.h ?},{ ?z0\.h-z1\.h ?},{ ?z0\.h-z3\.h ?}'
+[^ :]+:[0-9]+: Error: expected a list of 2 registers at operand 3 -- `bfmul { ?z0\.h-z1\.h ?},{ ?z0\.h-z1\.h ?},{ ?z0\.h-z2\.h ?}'
+[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 3 -- `bfmul { ?z0\.h-z3\.h ?},{ ?z0\.h-z3\.h ?},{ ?z0\.h-z2\.h ?}'
diff --git a/gas/testsuite/gas/aarch64/sve-bfscale-bad.s b/gas/testsuite/gas/aarch64/sve-bfscale-bad.s
new file mode 100644 (file)
index 0000000..bcb8867
--- /dev/null
@@ -0,0 +1,27 @@
+bfscale:
+       bfscale z0.h, p0/m, z1.h, z0.h
+       bfscale z0.h, p0/z, z0.h, z0.h
+       bfscale {z0.h-z1.h}, {z0.h-z2.h}, z0.h
+       bfscale {z0.h-z2.h}, {z0.h-z2.h}, z0.h
+       bfscale {z0.h-z4.h}, {z0.h-z4.h}, z0.h
+       bfscale {z0.h-z1.h}, {z0.h-z2.h}, {z0.h-z1.h}
+       bfscale {z0.h-z2.h}, {z0.h-z2.h}, {z0.h-z1.h}
+       bfscale {z0.h-z4.h}, {z0.h-z4.h}, {z0.h-z1.h}
+       bfscale {z0.h-z1.h}, {z0.h-z1.h}, {z0.h-z2.h}
+       bfscale {z0.h-z3.h}, {z0.h-z3.h}, {z0.h-z1.h}
+       bfscale {z0.h-z3.h}, {z0.h-z3.h}, {z0.h-z4.h}
+
+bfmul:
+       bfmul   {z0.h-z1.h}, {z0.h-z2.h}, z0.h
+       bfmul   {z0.h-z2.h}, {z0.h-z1.h}, z0.h
+       bfmul   {z0.h-z3.h}, {z0.h-z2.h}, z0.h
+       bfmul   {z0.h-z3.h}, {z0.h-z1.h}, z0.h
+       bfmul   {z0.h-z1.h}, {z0.h-z1.h}, z16.h
+       bfmul   {z0.h-z3.h}, {z0.h-z3.h}, z16.h
+       bfmul   {z0.h-z1.h}, {z0.h-z2.h}, {z0.h-z1.h}
+       bfmul   {z0.h-z2.h}, {z0.h-z1.h}, {z0.h-z1.h}
+       bfmul   {z0.h-z3.h}, {z0.h-z2.h}, {z0.h-z3.h}
+       bfmul   {z0.h-z3.h}, {z0.h-z1.h}, {z0.h-z3.h}
+       bfmul   {z0.h-z1.h}, {z0.h-z1.h}, {z0.h-z2.h}
+       bfmul   {z0.h-z3.h}, {z0.h-z3.h}, {z0.h-z2.h}
+       bfmul   {z0.h-z3.h}, {z0.h-z3.h}, {z0.h-z3.h}
diff --git a/gas/testsuite/gas/aarch64/sve-bfscale-sme2-bad.d b/gas/testsuite/gas/aarch64/sve-bfscale-sme2-bad.d
new file mode 100644 (file)
index 0000000..ad6d365
--- /dev/null
@@ -0,0 +1,4 @@
+#name: Negative SVE_BFSCALE test with missing +sme2 flag.
+#as: -march=armv8-a+sve-bfscale
+#source: sve-bfscale-sme2.s
+#error_output: sve-bfscale-sme2-bad.l
diff --git a/gas/testsuite/gas/aarch64/sve-bfscale-sme2-bad.l b/gas/testsuite/gas/aarch64/sve-bfscale-sme2-bad.l
new file mode 100644 (file)
index 0000000..79ae851
--- /dev/null
@@ -0,0 +1,41 @@
+[^ :]+: Assembler messages:
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale z0\.h,p0/m,z0\.h,z0\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale z0\.h,p0/m,z0\.h,z31\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale z0\.h,p7/m,z0\.h,z0\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale z0\.h,p7/m,z0\.h,z31\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale z31\.h,p0/m,z31\.h,z0\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale z31\.h,p0/m,z31\.h,z31\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale z31\.h,p7/m,z31\.h,z0\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale z31\.h,p7/m,z31\.h,z31\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z0\.h-z1\.h ?},{ ?z0\.h-z1\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z0\.h-z1\.h ?},{ ?z0\.h-z1\.h ?},z15\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z30\.h-z31\.h ?},{ ?z30\.h-z31\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z30\.h-z31\.h ?},{ ?z30\.h-z31\.h ?},z15\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z0\.h-z3\.h ?},{ ?z0\.h-z3\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z0\.h-z3\.h ?},{ ?z0\.h-z3\.h ?},z15\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z28\.h-z31\.h ?},{ ?z28\.h-z31\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z28\.h-z31\.h ?},{ ?z28\.h-z31\.h ?},z15\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z0\.h-z1\.h ?},{ ?z0\.h-z1\.h ?},{ ?z0\.h-z1\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z0\.h-z1\.h ?},{ ?z0\.h-z1\.h ?},{ ?z30\.h-z31\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z30\.h-z31\.h ?},{ ?z30\.h-z31\.h ?},{ ?z0\.h-z1\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z30\.h-z31\.h ?},{ ?z30\.h-z31\.h ?},{ ?z30\.h-z31\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z0\.h-z3\.h ?},{ ?z0\.h-z3\.h ?},{ ?z0\.h-z3\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z0\.h-z3\.h ?},{ ?z0\.h-z3\.h ?},{ ?z28\.h-z31\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z28\.h-z31\.h ?},{ ?z28\.h-z31\.h ?},{ ?z0\.h-z3\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z28\.h-z31\.h ?},{ ?z28\.h-z31\.h ?},{ ?z28\.h-z31\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z0\.h-z1\.h ?},{ ?z0\.h-z1\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z0\.h-z1\.h ?},{ ?z0\.h-z1\.h ?},z15\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z30\.h-z31\.h ?},{ ?z30\.h-z31\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z30\.h-z31\.h ?},{ ?z30\.h-z31\.h ?},z15\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z0\.h-z3\.h ?},{ ?z0\.h-z3\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z0\.h-z3\.h ?},{ ?z0\.h-z3\.h ?},z15\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z28\.h-z31\.h ?},{ ?z28\.h-z31\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z28\.h-z31\.h ?},{ ?z28\.h-z31\.h ?},z15\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z0\.h-z1\.h ?},{ ?z0\.h-z1\.h ?},{ ?z0\.h-z1\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z0\.h-z1\.h ?},{ ?z0\.h-z1\.h ?},{ ?z30\.h-z31\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z30\.h-z31\.h ?},{ ?z30\.h-z31\.h ?},{ ?z0\.h-z1\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z30\.h-z31\.h ?},{ ?z30\.h-z31\.h ?},{ ?z30\.h-z31\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z0\.h-z3\.h ?},{ ?z0\.h-z3\.h ?},{ ?z0\.h-z3\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z0\.h-z3\.h ?},{ ?z0\.h-z3\.h ?},{ ?z28\.h-z31\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z28\.h-z31\.h ?},{ ?z28\.h-z31\.h ?},{ ?z0\.h-z3\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z28\.h-z31\.h ?},{ ?z28\.h-z31\.h ?},{ ?z28\.h-z31\.h ?}'
diff --git a/gas/testsuite/gas/aarch64/sve-bfscale-sme2.d b/gas/testsuite/gas/aarch64/sve-bfscale-sme2.d
new file mode 100644 (file)
index 0000000..84b7647
--- /dev/null
@@ -0,0 +1,66 @@
+#name: SVE_BFSCALE + SME2 instructions test
+#as: -march=armv8-a+sve-bfscale+sme2
+#objdump: -dr
+
+.*:     file format .*
+
+
+Disassembly of section .*:
+
+.* <bfscale>:
+.*:    65098000        bfscale z0.h, p0/m, z0.h, z0.h
+.*:    650983e0        bfscale z0.h, p0/m, z0.h, z31.h
+.*:    65099c00        bfscale z0.h, p7/m, z0.h, z0.h
+.*:    65099fe0        bfscale z0.h, p7/m, z0.h, z31.h
+.*:    6509801f        bfscale z31.h, p0/m, z31.h, z0.h
+.*:    650983ff        bfscale z31.h, p0/m, z31.h, z31.h
+.*:    65099c1f        bfscale z31.h, p7/m, z31.h, z0.h
+.*:    65099fff        bfscale z31.h, p7/m, z31.h, z31.h
+
+.* <bfscale_2x1>:
+.*:    c120a180        bfscale {z0.h-z1.h}, {z0.h-z1.h}, z0.h
+.*:    c12fa180        bfscale {z0.h-z1.h}, {z0.h-z1.h}, z15.h
+.*:    c120a19e        bfscale {z30.h-z31.h}, {z30.h-z31.h}, z0.h
+.*:    c12fa19e        bfscale {z30.h-z31.h}, {z30.h-z31.h}, z15.h
+
+.* <bfscale_4x1>:
+.*:    c120a980        bfscale {z0.h-z3.h}, {z0.h-z3.h}, z0.h
+.*:    c12fa980        bfscale {z0.h-z3.h}, {z0.h-z3.h}, z15.h
+.*:    c120a99c        bfscale {z28.h-z31.h}, {z28.h-z31.h}, z0.h
+.*:    c12fa99c        bfscale {z28.h-z31.h}, {z28.h-z31.h}, z15.h
+
+.* <bfscale_2x2>:
+.*:    c120b180        bfscale {z0.h-z1.h}, {z0.h-z1.h}, {z0.h-z1.h}
+.*:    c13eb180        bfscale {z0.h-z1.h}, {z0.h-z1.h}, {z30.h-z31.h}
+.*:    c120b19e        bfscale {z30.h-z31.h}, {z30.h-z31.h}, {z0.h-z1.h}
+.*:    c13eb19e        bfscale {z30.h-z31.h}, {z30.h-z31.h}, {z30.h-z31.h}
+
+.* <bfscale_4x4>:
+.*:    c120b980        bfscale {z0.h-z3.h}, {z0.h-z3.h}, {z0.h-z3.h}
+.*:    c13cb980        bfscale {z0.h-z3.h}, {z0.h-z3.h}, {z28.h-z31.h}
+.*:    c120b99c        bfscale {z28.h-z31.h}, {z28.h-z31.h}, {z0.h-z3.h}
+.*:    c13cb99c        bfscale {z28.h-z31.h}, {z28.h-z31.h}, {z28.h-z31.h}
+
+.* <bfmul_2x1>:
+.*:    c120e800        bfmul   {z0.h-z1.h}, {z0.h-z1.h}, z0.h
+.*:    c13ee800        bfmul   {z0.h-z1.h}, {z0.h-z1.h}, z15.h
+.*:    c120ebde        bfmul   {z30.h-z31.h}, {z30.h-z31.h}, z0.h
+.*:    c13eebde        bfmul   {z30.h-z31.h}, {z30.h-z31.h}, z15.h
+
+.* <bfmul_4x1>:
+.*:    c121e800        bfmul   {z0.h-z3.h}, {z0.h-z3.h}, z0.h
+.*:    c13fe800        bfmul   {z0.h-z3.h}, {z0.h-z3.h}, z15.h
+.*:    c121eb9c        bfmul   {z28.h-z31.h}, {z28.h-z31.h}, z0.h
+.*:    c13feb9c        bfmul   {z28.h-z31.h}, {z28.h-z31.h}, z15.h
+
+.* <bfmul_2x2>:
+.*:    c120e400        bfmul   {z0.h-z1.h}, {z0.h-z1.h}, {z0.h-z1.h}
+.*:    c13ee400        bfmul   {z0.h-z1.h}, {z0.h-z1.h}, {z30.h-z31.h}
+.*:    c120e7de        bfmul   {z30.h-z31.h}, {z30.h-z31.h}, {z0.h-z1.h}
+.*:    c13ee7de        bfmul   {z30.h-z31.h}, {z30.h-z31.h}, {z30.h-z31.h}
+
+.* <bfmul_4x4>:
+.*:    c121e400        bfmul   {z0.h-z3.h}, {z0.h-z3.h}, {z0.h-z3.h}
+.*:    c13de400        bfmul   {z0.h-z3.h}, {z0.h-z3.h}, {z28.h-z31.h}
+.*:    c121e79c        bfmul   {z28.h-z31.h}, {z28.h-z31.h}, {z0.h-z3.h}
+.*:    c13de79c        bfmul   {z28.h-z31.h}, {z28.h-z31.h}, {z28.h-z31.h}
diff --git a/gas/testsuite/gas/aarch64/sve-bfscale-sme2.s b/gas/testsuite/gas/aarch64/sve-bfscale-sme2.s
new file mode 100644 (file)
index 0000000..46bc6c6
--- /dev/null
@@ -0,0 +1,57 @@
+bfscale:
+       bfscale z0.h, p0/m, z0.h, z0.h
+       bfscale z0.h, p0/m, z0.h, z31.h
+       bfscale z0.h, p7/m, z0.h, z0.h
+       bfscale z0.h, p7/m, z0.h, z31.h
+       bfscale z31.h, p0/m, z31.h, z0.h
+       bfscale z31.h, p0/m, z31.h, z31.h
+       bfscale z31.h, p7/m, z31.h, z0.h
+       bfscale z31.h, p7/m, z31.h, z31.h
+
+bfscale_2x1:
+       bfscale {z0.h-z1.h}, {z0.h-z1.h}, z0.h
+       bfscale {z0.h-z1.h}, {z0.h-z1.h}, z15.h
+       bfscale {z30.h-z31.h}, {z30.h-z31.h}, z0.h
+       bfscale {z30.h-z31.h}, {z30.h-z31.h}, z15.h
+
+bfscale_4x1:
+       bfscale {z0.h-z3.h}, {z0.h-z3.h}, z0.h
+       bfscale {z0.h-z3.h}, {z0.h-z3.h}, z15.h
+       bfscale {z28.h-z31.h}, {z28.h-z31.h}, z0.h
+       bfscale {z28.h-z31.h}, {z28.h-z31.h}, z15.h
+
+bfscale_2x2:
+       bfscale {z0.h-z1.h}, {z0.h-z1.h}, {z0.h-z1.h}
+       bfscale {z0.h-z1.h}, {z0.h-z1.h}, {z30.h-z31.h}
+       bfscale {z30.h-z31.h}, {z30.h-z31.h}, {z0.h-z1.h}
+       bfscale {z30.h-z31.h}, {z30.h-z31.h}, {z30.h-z31.h}
+
+bfscale_4x4:
+       bfscale {z0.h-z3.h}, {z0.h-z3.h}, {z0.h-z3.h}
+       bfscale {z0.h-z3.h}, {z0.h-z3.h}, {z28.h-z31.h}
+       bfscale {z28.h-z31.h}, {z28.h-z31.h}, {z0.h-z3.h}
+       bfscale {z28.h-z31.h}, {z28.h-z31.h}, {z28.h-z31.h}
+
+bfmul_2x1:
+       bfmul   {z0.h-z1.h}, {z0.h-z1.h}, z0.h
+       bfmul   {z0.h-z1.h}, {z0.h-z1.h}, z15.h
+       bfmul   {z30.h-z31.h}, {z30.h-z31.h}, z0.h
+       bfmul   {z30.h-z31.h}, {z30.h-z31.h}, z15.h
+
+bfmul_4x1:
+       bfmul   {z0.h-z3.h}, {z0.h-z3.h}, z0.h
+       bfmul   {z0.h-z3.h}, {z0.h-z3.h}, z15.h
+       bfmul   {z28.h-z31.h}, {z28.h-z31.h}, z0.h
+       bfmul   {z28.h-z31.h}, {z28.h-z31.h}, z15.h
+
+bfmul_2x2:
+       bfmul   {z0.h-z1.h}, {z0.h-z1.h}, {z0.h-z1.h}
+       bfmul   {z0.h-z1.h}, {z0.h-z1.h}, {z30.h-z31.h}
+       bfmul   {z30.h-z31.h}, {z30.h-z31.h}, {z0.h-z1.h}
+       bfmul   {z30.h-z31.h}, {z30.h-z31.h}, {z30.h-z31.h}
+
+bfmul_4x4:
+       bfmul   {z0.h-z3.h}, {z0.h-z3.h}, {z0.h-z3.h}
+       bfmul   {z0.h-z3.h}, {z0.h-z3.h}, {z28.h-z31.h}
+       bfmul   {z28.h-z31.h}, {z28.h-z31.h}, {z0.h-z3.h}
+       bfmul   {z28.h-z31.h}, {z28.h-z31.h}, {z28.h-z31.h}
diff --git a/gas/testsuite/gas/aarch64/sve-bfscale-sve2.d b/gas/testsuite/gas/aarch64/sve-bfscale-sve2.d
new file mode 100644 (file)
index 0000000..874dda0
--- /dev/null
@@ -0,0 +1,18 @@
+#name: FEAT_SVE_BFSCALE instruction test
+#as: -march=armv8-a+sve-bfscale+sve2
+#objdump: -dr
+
+.*:     file format .*
+
+
+Disassembly of section .*:
+
+.* <bfscale>:
+.*:    65098000        bfscale z0.h, p0/m, z0.h, z0.h
+.*:    650983e0        bfscale z0.h, p0/m, z0.h, z31.h
+.*:    65099c00        bfscale z0.h, p7/m, z0.h, z0.h
+.*:    65099fe0        bfscale z0.h, p7/m, z0.h, z31.h
+.*:    6509801f        bfscale z31.h, p0/m, z31.h, z0.h
+.*:    650983ff        bfscale z31.h, p0/m, z31.h, z31.h
+.*:    65099c1f        bfscale z31.h, p7/m, z31.h, z0.h
+.*:    65099fff        bfscale z31.h, p7/m, z31.h, z31.h
diff --git a/gas/testsuite/gas/aarch64/sve-bfscale-sve2.s b/gas/testsuite/gas/aarch64/sve-bfscale-sve2.s
new file mode 100644 (file)
index 0000000..3315524
--- /dev/null
@@ -0,0 +1,9 @@
+bfscale:
+       bfscale z0.h, p0/m, z0.h, z0.h
+       bfscale z0.h, p0/m, z0.h, z31.h
+       bfscale z0.h, p7/m, z0.h, z0.h
+       bfscale z0.h, p7/m, z0.h, z31.h
+       bfscale z31.h, p0/m, z31.h, z0.h
+       bfscale z31.h, p0/m, z31.h, z31.h
+       bfscale z31.h, p7/m, z31.h, z0.h
+       bfscale z31.h, p7/m, z31.h, z31.h
index acae2c57dd0f8dffefaf54250bfa474f880eedaa..3efd0b24db4a8364c54c9571af48245344be5552 100644 (file)
@@ -264,6 +264,8 @@ enum aarch64_feature_bit {
   AARCH64_FEATURE_SME_F8F16,
   /* Non-widening half-precision FP16 to FP16 arithmetic for SME2.  */
   AARCH64_FEATURE_SME_F16F16,
+  /* FEAT_SVE_BFSCALE.  */
+  AARCH64_FEATURE_SVE_BFSCALE,
   /* SVE Z-targeting non-widening BFloat16 instructions.  */
   AARCH64_FEATURE_SVE_B16B16,
   /* SME non-widening BFloat16 instructions.  */
@@ -291,6 +293,8 @@ enum aarch64_feature_bit {
   AARCH64_FEATURE_FP8DOT2_SVE,
   /* +sme-f16f16 or +sme-f8f16  */
   AARCH64_FEATURE_SME_F16F16_F8F16,
+  /* +sve2 or +sme2 */
+  AARCH64_FEATURE_SVE2_SME2,
   /* +sve2p1 or +sme */
   AARCH64_FEATURE_SVE2p1_SME,
   /* +sve2p1 or +sme2 */
@@ -894,6 +898,7 @@ enum aarch64_opnd
   AARCH64_OPND_SME_Zdnx2,      /* SVE vector register list from [4:1]*2.  */
   AARCH64_OPND_SME_Zdnx4,      /* SVE vector register list from [4:2]*4.  */
   AARCH64_OPND_SME_Zm,         /* SVE vector register list in 4-bit Zm.  */
+  AARCH64_OPND_SME_Zm_17,      /* SVE vector register list in [20:17].  */
   AARCH64_OPND_SME_Zmx2,       /* SVE vector register list from [20:17]*2.  */
   AARCH64_OPND_SME_Zmx4,       /* SVE vector register list from [20:18]*4.  */
   AARCH64_OPND_SME_Znx2,       /* SVE vector register list from [9:6]*2.  */
index 4c99b6aa4318563a3704f9a18126e3f67252a15a..222c4572355ac135ed3c0e92b8fa2791c6a041b8 100644 (file)
@@ -426,7 +426,7 @@ aarch64_find_real_opcode (const aarch64_opcode *opcode)
     case 1230: /* movz */
       value = 1230;    /* --> movz.  */
       break;
-    case 3202: /* clrbhb */
+    case 3211: /* clrbhb */
     case 1311: /* autibsp */
     case 1310: /* autibz */
     case 1309: /* autiasp */
@@ -466,7 +466,7 @@ aarch64_find_real_opcode (const aarch64_opcode *opcode)
     case 1266: /* dsb */
       value = 1266;    /* --> dsb.  */
       break;
-    case 3203: /* trcit */
+    case 3212: /* trcit */
     case 1297: /* brb */
     case 1296: /* cosp */
     case 1295: /* cpp */
@@ -737,21 +737,22 @@ aarch64_insert_operand (const aarch64_operand *self,
     case 245:
     case 249:
     case 253:
-    case 261:
+    case 254:
     case 262:
     case 263:
-    case 270:
+    case 264:
     case 271:
     case 272:
     case 273:
-    case 307:
-    case 311:
+    case 274:
+    case 308:
+    case 312:
       return aarch64_ins_regno (self, info, code, inst, errors);
     case 6:
     case 119:
     case 120:
-    case 317:
-    case 320:
+    case 318:
+    case 321:
       return aarch64_ins_none (self, info, code, inst, errors);
     case 17:
       return aarch64_ins_reg_extended (self, info, code, inst, errors);
@@ -766,7 +767,7 @@ aarch64_insert_operand (const aarch64_operand *self,
     case 37:
     case 38:
     case 39:
-    case 322:
+    case 323:
       return aarch64_ins_reglane (self, info, code, inst, errors);
     case 40:
     case 41:
@@ -774,9 +775,8 @@ aarch64_insert_operand (const aarch64_operand *self,
     case 235:
     case 236:
     case 239:
-    case 274:
     case 275:
-    case 290:
+    case 276:
     case 291:
     case 292:
     case 293:
@@ -793,12 +793,13 @@ aarch64_insert_operand (const aarch64_operand *self,
     case 304:
     case 305:
     case 306:
-    case 308:
+    case 307:
     case 309:
     case 310:
-    case 312:
+    case 311:
     case 313:
     case 314:
+    case 315:
       return aarch64_ins_simple_index (self, info, code, inst, errors);
     case 43:
       return aarch64_ins_reglist (self, info, code, inst, errors);
@@ -848,14 +849,14 @@ aarch64_insert_operand (const aarch64_operand *self,
     case 214:
     case 215:
     case 216:
-    case 276:
-    case 315:
+    case 277:
     case 316:
-    case 318:
+    case 317:
     case 319:
-    case 321:
-    case 326:
+    case 320:
+    case 322:
     case 327:
+    case 328:
       return aarch64_ins_imm (self, info, code, inst, errors);
     case 52:
     case 53:
@@ -1008,7 +1009,7 @@ aarch64_insert_operand (const aarch64_operand *self,
     case 205:
     case 206:
     case 207:
-    case 289:
+    case 290:
       return aarch64_ins_sve_shrimm (self, info, code, inst, errors);
     case 221:
     case 222:
@@ -1035,53 +1036,53 @@ aarch64_insert_operand (const aarch64_operand *self,
       return aarch64_ins_sve_index (self, info, code, inst, errors);
     case 248:
     case 250:
-    case 269:
+    case 270:
       return aarch64_ins_sve_reglist (self, info, code, inst, errors);
     case 251:
     case 252:
-    case 254:
     case 255:
     case 256:
     case 257:
     case 258:
-    case 268:
-      return aarch64_ins_sve_aligned_reglist (self, info, code, inst, errors);
     case 259:
+    case 269:
+      return aarch64_ins_sve_aligned_reglist (self, info, code, inst, errors);
     case 260:
+    case 261:
       return aarch64_ins_sve_strided_reglist (self, info, code, inst, errors);
-    case 264:
-    case 266:
-    case 277:
-      return aarch64_ins_sme_za_hv_tiles (self, info, code, inst, errors);
     case 265:
     case 267:
-      return aarch64_ins_sme_za_hv_tiles_range (self, info, code, inst, errors);
     case 278:
+      return aarch64_ins_sme_za_hv_tiles (self, info, code, inst, errors);
+    case 266:
+    case 268:
+      return aarch64_ins_sme_za_hv_tiles_range (self, info, code, inst, errors);
     case 279:
     case 280:
     case 281:
     case 282:
     case 283:
     case 284:
-      return aarch64_ins_sme_za_array (self, info, code, inst, errors);
     case 285:
-      return aarch64_ins_sme_addr_ri_u4xvl (self, info, code, inst, errors);
+      return aarch64_ins_sme_za_array (self, info, code, inst, errors);
     case 286:
-      return aarch64_ins_sme_sm_za (self, info, code, inst, errors);
+      return aarch64_ins_sme_addr_ri_u4xvl (self, info, code, inst, errors);
     case 287:
-      return aarch64_ins_sme_pred_reg_with_index (self, info, code, inst, errors);
+      return aarch64_ins_sme_sm_za (self, info, code, inst, errors);
     case 288:
+      return aarch64_ins_sme_pred_reg_with_index (self, info, code, inst, errors);
+    case 289:
       return aarch64_ins_plain_shrimm (self, info, code, inst, errors);
-    case 323:
     case 324:
     case 325:
+    case 326:
       return aarch64_ins_x0_to_x30 (self, info, code, inst, errors);
-    case 328:
     case 329:
     case 330:
     case 331:
-      return aarch64_ins_rcpc3_addr_opt_offset (self, info, code, inst, errors);
     case 332:
+      return aarch64_ins_rcpc3_addr_opt_offset (self, info, code, inst, errors);
+    case 333:
       return aarch64_ins_rcpc3_addr_offset (self, info, code, inst, errors);
     default: assert (0); abort ();
     }
index a20fead95f74baa65b24d34c91ab599af028fcdb..c096dbc97250a0f233f07699921a195ba7ff7344 100644 (file)
@@ -216,7 +216,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1000000000x0010xxxxxx1xxxxxxxxx
                                                                  movaz.  */
-                                                              return 3334;
+                                                              return 3343;
                                                             }
                                                           else
                                                             {
@@ -224,7 +224,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1000000100x0010xxxxxx1xxxxxxxxx
                                                                  movaz.  */
-                                                              return 3336;
+                                                              return 3345;
                                                             }
                                                         }
                                                       else
@@ -235,7 +235,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1000000010x0010xxxxxx1xxxxxxxxx
                                                                  movaz.  */
-                                                              return 3335;
+                                                              return 3344;
                                                             }
                                                           else
                                                             {
@@ -243,7 +243,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1000000110x0010xxxxxx1xxxxxxxxx
                                                                  movaz.  */
-                                                              return 3337;
+                                                              return 3346;
                                                             }
                                                         }
                                                     }
@@ -253,7 +253,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x1000000xx0x0011xxxxxx1xxxxxxxxx
                                                          movaz.  */
-                                                      return 3338;
+                                                      return 3347;
                                                     }
                                                 }
                                             }
@@ -271,7 +271,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1000000x000101x00xxxxxxxxxxxxxx
                                                                  luti4.  */
-                                                              return 3474;
+                                                              return 3483;
                                                             }
                                                           else
                                                             {
@@ -310,7 +310,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1000000xx01101x00xxxxxxxxxxxxxx
                                                              luti4.  */
-                                                          return 3475;
+                                                          return 3484;
                                                         }
                                                       else
                                                         {
@@ -318,7 +318,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1000000xx01101x10xxxxxxxxxxxxxx
                                                              luti4.  */
-                                                          return 3331;
+                                                          return 3340;
                                                         }
                                                     }
                                                   else
@@ -327,7 +327,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x1000000xx01101xx1xxxxxxxxxxxxxx
                                                          luti4.  */
-                                                      return 3330;
+                                                      return 3339;
                                                     }
                                                 }
                                             }
@@ -369,7 +369,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000000000x011xxxxx001xxxxxxxxx
                                                                      movaz.  */
-                                                                  return 3324;
+                                                                  return 3333;
                                                                 }
                                                               else
                                                                 {
@@ -377,7 +377,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000000100x011xxxxx001xxxxxxxxx
                                                                      movaz.  */
-                                                                  return 3326;
+                                                                  return 3335;
                                                                 }
                                                             }
                                                           else
@@ -388,7 +388,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000000010x011xxxxx001xxxxxxxxx
                                                                      movaz.  */
-                                                                  return 3325;
+                                                                  return 3334;
                                                                 }
                                                               else
                                                                 {
@@ -396,7 +396,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000000110x011xxxxx001xxxxxxxxx
                                                                      movaz.  */
-                                                                  return 3327;
+                                                                  return 3336;
                                                                 }
                                                             }
                                                         }
@@ -420,7 +420,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              x1000000000011000xxx00xxxxxxxxxx
                                                                              zero.  */
-                                                                          return 3339;
+                                                                          return 3348;
                                                                         }
                                                                       else
                                                                         {
@@ -428,7 +428,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              x1000000000011100xxx00xxxxxxxxxx
                                                                              zero.  */
-                                                                          return 3340;
+                                                                          return 3349;
                                                                         }
                                                                     }
                                                                   else
@@ -439,7 +439,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              x1000000000011010xxx00xxxxxxxxxx
                                                                              zero.  */
-                                                                          return 3342;
+                                                                          return 3351;
                                                                         }
                                                                       else
                                                                         {
@@ -447,7 +447,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              x1000000000011110xxx00xxxxxxxxxx
                                                                              zero.  */
-                                                                          return 3345;
+                                                                          return 3354;
                                                                         }
                                                                     }
                                                                 }
@@ -461,7 +461,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              x1000000000011001xxx00xxxxxxxxxx
                                                                              zero.  */
-                                                                          return 3341;
+                                                                          return 3350;
                                                                         }
                                                                       else
                                                                         {
@@ -469,7 +469,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              x1000000000011101xxx00xxxxxxxxxx
                                                                              zero.  */
-                                                                          return 3344;
+                                                                          return 3353;
                                                                         }
                                                                     }
                                                                   else
@@ -480,7 +480,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              x1000000000011011xxx00xxxxxxxxxx
                                                                              zero.  */
-                                                                          return 3343;
+                                                                          return 3352;
                                                                         }
                                                                       else
                                                                         {
@@ -488,7 +488,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              x1000000000011111xxx00xxxxxxxxxx
                                                                              zero.  */
-                                                                          return 3346;
+                                                                          return 3355;
                                                                         }
                                                                     }
                                                                 }
@@ -542,7 +542,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000000010011x1xxxx00xxxxxxxxxx
                                                                      movt.  */
-                                                                  return 3476;
+                                                                  return 3485;
                                                                 }
                                                             }
                                                           else
@@ -563,7 +563,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1000000xx0111xxx0xx00xxxxxxxxxx
                                                              luti2.  */
-                                                          return 3329;
+                                                          return 3338;
                                                         }
                                                       else
                                                         {
@@ -571,7 +571,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1000000xx0111xxx1xx00xxxxxxxxxx
                                                              luti2.  */
-                                                          return 3328;
+                                                          return 3337;
                                                         }
                                                     }
                                                 }
@@ -602,7 +602,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x1000000xx0xx11xxxxx101xxxxxxxxx
                                                          movaz.  */
-                                                      return 3332;
+                                                      return 3341;
                                                     }
                                                 }
                                             }
@@ -639,7 +639,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1000000000xx11xxxxx011xxxxxxxxx
                                                                  movaz.  */
-                                                              return 3320;
+                                                              return 3329;
                                                             }
                                                           else
                                                             {
@@ -647,7 +647,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1000000100xx11xxxxx011xxxxxxxxx
                                                                  movaz.  */
-                                                              return 3322;
+                                                              return 3331;
                                                             }
                                                         }
                                                       else
@@ -658,7 +658,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1000000010xx11xxxxx011xxxxxxxxx
                                                                  movaz.  */
-                                                              return 3321;
+                                                              return 3330;
                                                             }
                                                           else
                                                             {
@@ -666,7 +666,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1000000110xx11xxxxx011xxxxxxxxx
                                                                  movaz.  */
-                                                              return 3323;
+                                                              return 3332;
                                                             }
                                                         }
                                                     }
@@ -698,7 +698,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x1000000xx0xx11xxxxx111xxxxxxxxx
                                                          movaz.  */
-                                                      return 3333;
+                                                      return 3342;
                                                     }
                                                 }
                                             }
@@ -1366,7 +1366,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx000000101xxxxxxxxxxxxxxxx00xxx
                                                  fmopa.  */
-                                              return 3542;
+                                              return 3551;
                                             }
                                           else
                                             {
@@ -1374,7 +1374,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx000000101xxxxxxxxxxxxxxxx01xxx
                                                  fmopa.  */
-                                              return 3541;
+                                              return 3550;
                                             }
                                         }
                                       else
@@ -1722,7 +1722,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      xx0000010001xxxx1xx0xxxxx1000xxx
                                                                      fmlall.  */
-                                                                  return 3535;
+                                                                  return 3544;
                                                                 }
                                                             }
                                                         }
@@ -1754,7 +1754,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx0000010001xxxx0xx1xxxxxx00xxxx
                                                              fmla.  */
-                                                          return 3349;
+                                                          return 3358;
                                                         }
                                                       else
                                                         {
@@ -1764,7 +1764,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx0000010001xxxx1xx1xxxxx000xxxx
                                                                  fmla.  */
-                                                              return 3350;
+                                                              return 3359;
                                                             }
                                                           else
                                                             {
@@ -1772,7 +1772,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx0000010001xxxx1xx1xxxxx100xxxx
                                                                  fdot.  */
-                                                              return 3520;
+                                                              return 3529;
                                                             }
                                                         }
                                                     }
@@ -1806,7 +1806,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx0000010001xxxx0xx1xxxxxx10xxxx
                                                              bfmla.  */
-                                                          return 3306;
+                                                          return 3315;
                                                         }
                                                       else
                                                         {
@@ -1814,7 +1814,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx0000010001xxxx1xx1xxxxxx10xxxx
                                                              bfmla.  */
-                                                          return 3307;
+                                                          return 3316;
                                                         }
                                                     }
                                                 }
@@ -1905,7 +1905,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx0000010001xxxx0xx1xxxxxx01xxxx
                                                              fmls.  */
-                                                          return 3355;
+                                                          return 3364;
                                                         }
                                                       else
                                                         {
@@ -1913,7 +1913,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx0000010001xxxx1xx1xxxxxx01xxxx
                                                              fmls.  */
-                                                          return 3356;
+                                                          return 3365;
                                                         }
                                                     }
                                                 }
@@ -1946,7 +1946,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx0000010001xxxx0xx1xxxxxx11xxxx
                                                              bfmls.  */
-                                                          return 3312;
+                                                          return 3321;
                                                         }
                                                       else
                                                         {
@@ -1954,7 +1954,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx0000010001xxxx1xx1xxxxxx11xxxx
                                                              bfmls.  */
-                                                          return 3313;
+                                                          return 3322;
                                                         }
                                                     }
                                                 }
@@ -2179,7 +2179,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0000001100xxxxxxxxxxxxxxxx01xxx
                                                      fmopa.  */
-                                                  return 3347;
+                                                  return 3356;
                                                 }
                                             }
                                           else
@@ -2223,7 +2223,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x10000011001xxxxxxx0xxxxxx100xxx
                                                                  fmlall.  */
-                                                              return 3534;
+                                                              return 3543;
                                                             }
                                                         }
                                                     }
@@ -2328,7 +2328,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x10000011001xxxxxxx1xxxxxx10xxxx
                                                              fmlal.  */
-                                                          return 3527;
+                                                          return 3536;
                                                         }
                                                     }
                                                 }
@@ -2374,7 +2374,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0000001100xxxxxxxxxxxxxxxx11xxx
                                                      fmops.  */
-                                                  return 3348;
+                                                  return 3357;
                                                 }
                                             }
                                           else
@@ -2512,7 +2512,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x10000011001xxxxxxx1xxxxxx11xxxx
                                                              fmlal.  */
-                                                          return 3526;
+                                                          return 3535;
                                                         }
                                                     }
                                                 }
@@ -2554,7 +2554,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx0000010100xxxxxxxxxxxxxxxx0xxx
                                                  fmlall.  */
-                                              return 3533;
+                                              return 3542;
                                             }
                                           else
                                             {
@@ -2922,7 +2922,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx000010101xxxx0xx0xxxxxx111xxx
                                                              fdot.  */
-                                                          return 3513;
+                                                          return 3522;
                                                         }
                                                       else
                                                         {
@@ -2991,7 +2991,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx000010101xxxx1xx0xxxxxx001xxx
                                                              fdot.  */
-                                                          return 3514;
+                                                          return 3523;
                                                         }
                                                       else
                                                         {
@@ -3070,7 +3070,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx0000011100xxxxxxx0xxxxxxx0xxxx
                                                      fmlal.  */
-                                                  return 3525;
+                                                  return 3534;
                                                 }
                                               else
                                                 {
@@ -3125,7 +3125,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx0000011101xxxx0xx01xxxxx00xxxx
                                                                  fvdotb.  */
-                                                              return 3544;
+                                                              return 3553;
                                                             }
                                                           else
                                                             {
@@ -3143,7 +3143,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx0000011101xxxxxxx0xxxxxx10xxxx
                                                          fdot.  */
-                                                      return 3519;
+                                                      return 3528;
                                                     }
                                                 }
                                             }
@@ -3217,7 +3217,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx0000011101xxxxxxx1xxxxxx10xxxx
                                                          fvdot.  */
-                                                      return 3543;
+                                                      return 3552;
                                                     }
                                                 }
                                             }
@@ -3297,7 +3297,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx000001110xxxxx0xx01xxxxxx1xxxx
                                                          fvdott.  */
-                                                      return 3545;
+                                                      return 3554;
                                                     }
                                                   else
                                                     {
@@ -3418,7 +3418,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x0000001xx1xxxxxxxxxxxxxxxx01xxx
                                              bfmopa.  */
-                                          return 3318;
+                                          return 3327;
                                         }
                                       else
                                         {
@@ -3426,7 +3426,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x0000001xx1xxxxxxxxxxxxxxxx11xxx
                                              bfmops.  */
-                                          return 3319;
+                                          return 3328;
                                         }
                                     }
                                 }
@@ -3496,7 +3496,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x10000011x1xxxx00xx000xxxx10000x
                                                                                  fmlall.  */
-                                                                              return 3539;
+                                                                              return 3548;
                                                                             }
                                                                           else
                                                                             {
@@ -3504,7 +3504,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x10000011x1xxxx10xx000xxxx10000x
                                                                                  fmlall.  */
-                                                                              return 3540;
+                                                                              return 3549;
                                                                             }
                                                                         }
                                                                     }
@@ -3559,7 +3559,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx10xxxx0xx000xxxxx00x1x
                                                                      fmlall.  */
-                                                                  return 3537;
+                                                                  return 3546;
                                                                 }
                                                               else
                                                                 {
@@ -3567,7 +3567,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx11xxxx0xx000xxxxx00x1x
                                                                      fmlall.  */
-                                                                  return 3538;
+                                                                  return 3547;
                                                                 }
                                                             }
                                                         }
@@ -3621,7 +3621,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000011x1xxxx00xx100xxxx100xxx
                                                                          fdot.  */
-                                                                      return 3523;
+                                                                      return 3532;
                                                                     }
                                                                   else
                                                                     {
@@ -3629,7 +3629,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000011x1xxxx10xx100xxxx100xxx
                                                                          fdot.  */
-                                                                      return 3524;
+                                                                      return 3533;
                                                                     }
                                                                 }
                                                             }
@@ -3691,7 +3691,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x1000001101xxxx00xx010xxxx1000xx
                                                                                  fmlal.  */
-                                                                              return 3531;
+                                                                              return 3540;
                                                                             }
                                                                           else
                                                                             {
@@ -3699,7 +3699,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x1000001101xxxx10xx010xxxx1000xx
                                                                                  fmlal.  */
-                                                                              return 3532;
+                                                                              return 3541;
                                                                             }
                                                                         }
                                                                     }
@@ -3754,7 +3754,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx10xxxx0xx010xxxxx001xx
                                                                      fmlal.  */
-                                                                  return 3529;
+                                                                  return 3538;
                                                                 }
                                                               else
                                                                 {
@@ -3762,7 +3762,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx11xxxx0xx010xxxxx001xx
                                                                      fmlal.  */
-                                                                  return 3530;
+                                                                  return 3539;
                                                                 }
                                                             }
                                                         }
@@ -3831,7 +3831,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001xx11xxxx0xx001xxxxx000xx
                                                                      fmlall.  */
-                                                                  return 3536;
+                                                                  return 3545;
                                                                 }
                                                             }
                                                           else
@@ -3914,7 +3914,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1000001xx11xxxx0xx011xxxxx00xxx
                                                                  fmlal.  */
-                                                              return 3528;
+                                                              return 3537;
                                                             }
                                                         }
                                                       else
@@ -3929,7 +3929,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000010010xxxx0xx111xxxxx00xxx
                                                                          fmla.  */
-                                                                      return 3351;
+                                                                      return 3360;
                                                                     }
                                                                   else
                                                                     {
@@ -3937,7 +3937,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000010110xxxx0xx111xxxxx00xxx
                                                                          bfmla.  */
-                                                                      return 3308;
+                                                                      return 3317;
                                                                     }
                                                                 }
                                                               else
@@ -3960,7 +3960,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x10000011010x1x00xx111xxxxx00xxx
                                                                                  fadd.  */
-                                                                              return 3477;
+                                                                              return 3486;
                                                                             }
                                                                           else
                                                                             {
@@ -3968,7 +3968,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x10000011110x1x00xx111xxxxx00xxx
                                                                                  bfadd.  */
-                                                                              return 3302;
+                                                                              return 3311;
                                                                             }
                                                                         }
                                                                     }
@@ -3990,7 +3990,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x10000011010x1x10xx111xxxxx00xxx
                                                                                  fadd.  */
-                                                                              return 3478;
+                                                                              return 3487;
                                                                             }
                                                                           else
                                                                             {
@@ -3998,7 +3998,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x10000011110x1x10xx111xxxxx00xxx
                                                                                  bfadd.  */
-                                                                              return 3303;
+                                                                              return 3312;
                                                                             }
                                                                         }
                                                                     }
@@ -4012,7 +4012,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001x011xxxx0xx111xxxxx00xxx
                                                                      fmla.  */
-                                                                  return 3352;
+                                                                  return 3361;
                                                                 }
                                                               else
                                                                 {
@@ -4020,7 +4020,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001x111xxxx0xx111xxxxx00xxx
                                                                      bfmla.  */
-                                                                  return 3309;
+                                                                  return 3318;
                                                                 }
                                                             }
                                                         }
@@ -4146,7 +4146,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000011x1xxxx00xx100xxxx110xxx
                                                                          fdot.  */
-                                                                      return 3517;
+                                                                      return 3526;
                                                                     }
                                                                   else
                                                                     {
@@ -4154,7 +4154,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000011x1xxxx10xx100xxxx110xxx
                                                                          fdot.  */
-                                                                      return 3518;
+                                                                      return 3527;
                                                                     }
                                                                 }
                                                             }
@@ -4449,7 +4449,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000010010xxxx0xx100xxxxx01xxx
                                                                          fdot.  */
-                                                                      return 3521;
+                                                                      return 3530;
                                                                     }
                                                                   else
                                                                     {
@@ -4457,7 +4457,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000010011xxxx0xx100xxxxx01xxx
                                                                          fdot.  */
-                                                                      return 3522;
+                                                                      return 3531;
                                                                     }
                                                                 }
                                                               else
@@ -4468,7 +4468,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1000001101xxxx00xx100xxxxx01xxx
                                                                          fmla.  */
-                                                                      return 3353;
+                                                                      return 3362;
                                                                     }
                                                                   else
                                                                     {
@@ -4476,7 +4476,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1000001101xxxx10xx100xxxxx01xxx
                                                                          fmla.  */
-                                                                      return 3354;
+                                                                      return 3363;
                                                                     }
                                                                 }
                                                             }
@@ -4488,7 +4488,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001x11xxxx00xx100xxxxx01xxx
                                                                      bfmla.  */
-                                                                  return 3310;
+                                                                  return 3319;
                                                                 }
                                                               else
                                                                 {
@@ -4496,7 +4496,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001x11xxxx10xx100xxxxx01xxx
                                                                      bfmla.  */
-                                                                  return 3311;
+                                                                  return 3320;
                                                                 }
                                                             }
                                                         }
@@ -4762,7 +4762,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000010010xxxx0xx111xxxxx01xxx
                                                                          fmls.  */
-                                                                      return 3357;
+                                                                      return 3366;
                                                                     }
                                                                   else
                                                                     {
@@ -4770,7 +4770,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000010110xxxx0xx111xxxxx01xxx
                                                                          bfmls.  */
-                                                                      return 3314;
+                                                                      return 3323;
                                                                     }
                                                                 }
                                                               else
@@ -4793,7 +4793,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x10000011010x1x00xx111xxxxx01xxx
                                                                                  fsub.  */
-                                                                              return 3479;
+                                                                              return 3488;
                                                                             }
                                                                           else
                                                                             {
@@ -4801,7 +4801,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x10000011110x1x00xx111xxxxx01xxx
                                                                                  bfsub.  */
-                                                                              return 3304;
+                                                                              return 3313;
                                                                             }
                                                                         }
                                                                     }
@@ -4823,7 +4823,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x10000011010x1x10xx111xxxxx01xxx
                                                                                  fsub.  */
-                                                                              return 3480;
+                                                                              return 3489;
                                                                             }
                                                                           else
                                                                             {
@@ -4831,7 +4831,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x10000011110x1x10xx111xxxxx01xxx
                                                                                  bfsub.  */
-                                                                              return 3305;
+                                                                              return 3314;
                                                                             }
                                                                         }
                                                                     }
@@ -4845,7 +4845,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001x011xxxx0xx111xxxxx01xxx
                                                                      fmls.  */
-                                                                  return 3358;
+                                                                  return 3367;
                                                                 }
                                                               else
                                                                 {
@@ -4853,7 +4853,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001x111xxxx0xx111xxxxx01xxx
                                                                      bfmls.  */
-                                                                  return 3315;
+                                                                  return 3324;
                                                                 }
                                                             }
                                                         }
@@ -4919,7 +4919,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000010010xxxx0xx100xxxxx11xxx
                                                                          fdot.  */
-                                                                      return 3515;
+                                                                      return 3524;
                                                                     }
                                                                   else
                                                                     {
@@ -4927,7 +4927,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x10000010011xxxx0xx100xxxxx11xxx
                                                                          fdot.  */
-                                                                      return 3516;
+                                                                      return 3525;
                                                                     }
                                                                 }
                                                               else
@@ -4938,7 +4938,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1000001101xxxx00xx100xxxxx11xxx
                                                                          fmls.  */
-                                                                      return 3359;
+                                                                      return 3368;
                                                                     }
                                                                   else
                                                                     {
@@ -4946,7 +4946,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1000001101xxxx10xx100xxxxx11xxx
                                                                          fmls.  */
-                                                                      return 3360;
+                                                                      return 3369;
                                                                     }
                                                                 }
                                                             }
@@ -4958,7 +4958,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001x11xxxx00xx100xxxxx11xxx
                                                                      bfmls.  */
-                                                                  return 3316;
+                                                                  return 3325;
                                                                 }
                                                               else
                                                                 {
@@ -4966,7 +4966,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1000001x11xxxx10xx100xxxxx11xxx
                                                                      bfmls.  */
-                                                                  return 3317;
+                                                                  return 3326;
                                                                 }
                                                             }
                                                         }
@@ -5501,8 +5501,8 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
                                                                          x1000001xx1xxxxx101000xx1x0xxxx0
-                                                                         fscale.  */
-                                                                      return 3451;
+                                                                         bfscale.  */
+                                                                      return 2971;
                                                                     }
                                                                 }
                                                               else
@@ -5628,7 +5628,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                          10987654321098765432109876543210
                                                                                          x1000001101x0000111000xxxxxxxxx0
                                                                                          fcvt.  */
-                                                                                      return 3361;
+                                                                                      return 3370;
                                                                                     }
                                                                                   else
                                                                                     {
@@ -5636,7 +5636,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                          10987654321098765432109876543210
                                                                                          x1000001101x0000111000xxxxxxxxx1
                                                                                          fcvtl.  */
-                                                                                      return 3362;
+                                                                                      return 3371;
                                                                                     }
                                                                                 }
                                                                             }
@@ -5694,7 +5694,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                          10987654321098765432109876543210
                                                                                          x1000001x0100100111000xxxx0xxxxx
                                                                                          fcvt.  */
-                                                                                      return 3448;
+                                                                                      return 3457;
                                                                                     }
                                                                                   else
                                                                                     {
@@ -5702,7 +5702,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                          10987654321098765432109876543210
                                                                                          x1000001x1100100111000xxxx0xxxxx
                                                                                          bfcvt.  */
-                                                                                      return 3443;
+                                                                                      return 3452;
                                                                                     }
                                                                                 }
                                                                               else
@@ -5711,7 +5711,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                      10987654321098765432109876543210
                                                                                      x1000001xx110100111000xxxx0xxxxx
                                                                                      fcvt.  */
-                                                                                  return 3449;
+                                                                                  return 3458;
                                                                                 }
                                                                             }
                                                                           else
@@ -5740,7 +5740,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              x1000001xx1xx100111000xxxx1xxxxx
                                                                              fcvtn.  */
-                                                                          return 3450;
+                                                                          return 3459;
                                                                         }
                                                                     }
                                                                 }
@@ -5823,7 +5823,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                          10987654321098765432109876543210
                                                                                          x10000010010x110111000xxxxxxxxx0
                                                                                          f1cvt.  */
-                                                                                      return 3444;
+                                                                                      return 3453;
                                                                                     }
                                                                                   else
                                                                                     {
@@ -5831,7 +5831,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                          10987654321098765432109876543210
                                                                                          x10000011010x110111000xxxxxxxxx0
                                                                                          f2cvt.  */
-                                                                                      return 3445;
+                                                                                      return 3454;
                                                                                     }
                                                                                 }
                                                                               else
@@ -5842,7 +5842,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                          10987654321098765432109876543210
                                                                                          x10000010110x110111000xxxxxxxxx0
                                                                                          bf1cvt.  */
-                                                                                      return 3439;
+                                                                                      return 3448;
                                                                                     }
                                                                                   else
                                                                                     {
@@ -5850,7 +5850,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                          10987654321098765432109876543210
                                                                                          x10000011110x110111000xxxxxxxxx0
                                                                                          bf2cvt.  */
-                                                                                      return 3440;
+                                                                                      return 3449;
                                                                                     }
                                                                                 }
                                                                             }
@@ -5885,7 +5885,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x1000001001xxx10111000xxxxxxxxx1
                                                                                  f1cvtl.  */
-                                                                              return 3446;
+                                                                              return 3455;
                                                                             }
                                                                           else
                                                                             {
@@ -5893,7 +5893,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x1000001101xxx10111000xxxxxxxxx1
                                                                                  f2cvtl.  */
-                                                                              return 3447;
+                                                                              return 3456;
                                                                             }
                                                                         }
                                                                       else
@@ -5904,7 +5904,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x1000001011xxx10111000xxxxxxxxx1
                                                                                  bf1cvtl.  */
-                                                                              return 3441;
+                                                                              return 3450;
                                                                             }
                                                                           else
                                                                             {
@@ -5912,7 +5912,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  x1000001111xxx10111000xxxxxxxxx1
                                                                                  bf2cvtl.  */
-                                                                              return 3442;
+                                                                              return 3451;
                                                                             }
                                                                         }
                                                                     }
@@ -6180,8 +6180,8 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
                                                                          x1000001xx1xxxxx1x1100xx100xxxx0
-                                                                         fscale.  */
-                                                                      return 3453;
+                                                                         bfscale.  */
+                                                                      return 2973;
                                                                     }
                                                                 }
                                                               else
@@ -6295,38 +6295,27 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                     {
                                                       if (((word >> 5) & 0x1) == 0)
                                                         {
-                                                          if (((word >> 6) & 0x1) == 0)
+                                                          if (((word >> 12) & 0x1) == 0)
                                                             {
-                                                              if (((word >> 7) & 0x1) == 0)
+                                                              if (((word >> 14) & 0x1) == 0)
                                                                 {
-                                                                  if (((word >> 8) & 0x1) == 0)
+                                                                  if (((word >> 7) & 0x1) == 0)
                                                                     {
-                                                                      if (((word >> 12) & 0x1) == 0)
+                                                                      if (((word >> 8) & 0x1) == 0)
                                                                         {
                                                                           /* 33222222222211111111110000000000
                                                                              10987654321098765432109876543210
-                                                                             x1000001xx1xxxxx1x1010x0000xxxx0
+                                                                             x1000001xx1xxxxx101010x00x0xxxx0
                                                                              smax.  */
                                                                           return 2698;
                                                                         }
                                                                       else
                                                                         {
-                                                                          /* 33222222222211111111110000000000
-                                                                             10987654321098765432109876543210
-                                                                             x1000001xx1xxxxx1x1110x0000xxxx0
-                                                                             smax.  */
-                                                                          return 2700;
-                                                                        }
-                                                                    }
-                                                                  else
-                                                                    {
-                                                                      if (((word >> 9) & 0x1) == 0)
-                                                                        {
-                                                                          if (((word >> 12) & 0x1) == 0)
+                                                                          if (((word >> 9) & 0x1) == 0)
                                                                             {
                                                                               /* 33222222222211111111110000000000
                                                                                  10987654321098765432109876543210
-                                                                                 x1000001xx1xxxxx1x101001000xxxx0
+                                                                                 x1000001xx1xxxxx101010010x0xxxx0
                                                                                  fmax.  */
                                                                               return 2533;
                                                                             }
@@ -6334,48 +6323,81 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                             {
                                                                               /* 33222222222211111111110000000000
                                                                                  10987654321098765432109876543210
-                                                                                 x1000001xx1xxxxx1x111001000xxxx0
-                                                                                 fmax.  */
-                                                                              return 2535;
+                                                                                 x1000001xx1xxxxx101010110x0xxxx0
+                                                                                 add.  */
+                                                                              return 2487;
                                                                             }
                                                                         }
-                                                                      else
-                                                                        {
-                                                                          /* 33222222222211111111110000000000
-                                                                             10987654321098765432109876543210
-                                                                             x1000001xx1xxxxx1x1x1011000xxxx0
-                                                                             add.  */
-                                                                          return 2487;
-                                                                        }
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         x1000001xx1xxxxx101010xx1x0xxxx0
+                                                                         bfscale.  */
+                                                                      return 2972;
                                                                     }
                                                                 }
                                                               else
                                                                 {
-                                                                  if (((word >> 12) & 0x1) == 0)
+                                                                  if (((word >> 16) & 0x1) == 0)
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         x1000001xx1xxxxx1x1010xx100xxxx0
-                                                                         fscale.  */
-                                                                      return 3452;
+                                                                         x1000001xx1xxxx0111010xxxx0xxxx0
+                                                                         bfmul.  */
+                                                                      return 2975;
                                                                     }
                                                                   else
                                                                     {
                                                                       /* 33222222222211111111110000000000
                                                                          10987654321098765432109876543210
-                                                                         x1000001xx1xxxxx1x1110xx100xxxx0
-                                                                         fscale.  */
-                                                                      return 3454;
+                                                                         x1000001xx1xxxx1111010xxxx0xxxx0
+                                                                         bfmul.  */
+                                                                      return 2976;
                                                                     }
                                                                 }
                                                             }
                                                           else
                                                             {
-                                                              /* 33222222222211111111110000000000
-                                                                 10987654321098765432109876543210
-                                                                 x1000001xx1xxxxx1x1x10xxx10xxxx0
-                                                                 famax.  */
-                                                              return 1225;
+                                                              if (((word >> 6) & 0x1) == 0)
+                                                                {
+                                                                  if (((word >> 7) & 0x1) == 0)
+                                                                    {
+                                                                      if (((word >> 8) & 0x1) == 0)
+                                                                        {
+                                                                          /* 33222222222211111111110000000000
+                                                                             10987654321098765432109876543210
+                                                                             x1000001xx1xxxxx1x1110x0000xxxx0
+                                                                             smax.  */
+                                                                          return 2700;
+                                                                        }
+                                                                      else
+                                                                        {
+                                                                          /* 33222222222211111111110000000000
+                                                                             10987654321098765432109876543210
+                                                                             x1000001xx1xxxxx1x1110x1000xxxx0
+                                                                             fmax.  */
+                                                                          return 2535;
+                                                                        }
+                                                                    }
+                                                                  else
+                                                                    {
+                                                                      /* 33222222222211111111110000000000
+                                                                         10987654321098765432109876543210
+                                                                         x1000001xx1xxxxx1x1110xx100xxxx0
+                                                                         bfscale.  */
+                                                                      return 2974;
+                                                                    }
+                                                                }
+                                                              else
+                                                                {
+                                                                  /* 33222222222211111111110000000000
+                                                                     10987654321098765432109876543210
+                                                                     x1000001xx1xxxxx1x1110xxx10xxxx0
+                                                                     famax.  */
+                                                                  return 1225;
+                                                                }
                                                             }
                                                         }
                                                       else
@@ -6568,11 +6590,33 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                 {
                                                   if (((word >> 12) & 0x1) == 0)
                                                     {
-                                                      /* 33222222222211111111110000000000
-                                                         10987654321098765432109876543210
-                                                         x1000001xx1xxxxx1x1001xxxxxxxxxx
-                                                         sqdmulh.  */
-                                                      return 2745;
+                                                      if (((word >> 14) & 0x1) == 0)
+                                                        {
+                                                          /* 33222222222211111111110000000000
+                                                             10987654321098765432109876543210
+                                                             x1000001xx1xxxxx101001xxxxxxxxxx
+                                                             sqdmulh.  */
+                                                          return 2745;
+                                                        }
+                                                      else
+                                                        {
+                                                          if (((word >> 16) & 0x1) == 0)
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 x1000001xx1xxxx0111001xxxxxxxxxx
+                                                                 bfmul.  */
+                                                              return 2977;
+                                                            }
+                                                          else
+                                                            {
+                                                              /* 33222222222211111111110000000000
+                                                                 10987654321098765432109876543210
+                                                                 x1000001xx1xxxx1111001xxxxxxxxxx
+                                                                 bfmul.  */
+                                                              return 2978;
+                                                            }
+                                                        }
                                                     }
                                                   else
                                                     {
@@ -8360,7 +8404,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x0111000001xxxxx101000xxxxxxxxxx
                                                                      rcwswp.  */
-                                                                  return 3252;
+                                                                  return 3261;
                                                                 }
                                                               else
                                                                 {
@@ -8370,7 +8414,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          01111000001xxxxx101000xxxxxxxxxx
                                                                          rcwsswp.  */
-                                                                      return 3260;
+                                                                      return 3269;
                                                                     }
                                                                   else
                                                                     {
@@ -8390,7 +8434,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x0111000101xxxxx101000xxxxxxxxxx
                                                                      rcwswpa.  */
-                                                                  return 3253;
+                                                                  return 3262;
                                                                 }
                                                               else
                                                                 {
@@ -8398,7 +8442,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1111000101xxxxx101000xxxxxxxxxx
                                                                      rcwsswpa.  */
-                                                                  return 3261;
+                                                                  return 3270;
                                                                 }
                                                             }
                                                         }
@@ -8412,7 +8456,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x0111000011xxxxx101000xxxxxxxxxx
                                                                      rcwswpl.  */
-                                                                  return 3255;
+                                                                  return 3264;
                                                                 }
                                                               else
                                                                 {
@@ -8420,7 +8464,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1111000011xxxxx101000xxxxxxxxxx
                                                                      rcwsswpl.  */
-                                                                  return 3263;
+                                                                  return 3272;
                                                                 }
                                                             }
                                                           else
@@ -8431,7 +8475,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x0111000111xxxxx101000xxxxxxxxxx
                                                                      rcwswpal.  */
-                                                                  return 3254;
+                                                                  return 3263;
                                                                 }
                                                               else
                                                                 {
@@ -8439,7 +8483,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1111000111xxxxx101000xxxxxxxxxx
                                                                      rcwsswpal.  */
-                                                                  return 3262;
+                                                                  return 3271;
                                                                 }
                                                             }
                                                         }
@@ -8723,7 +8767,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x0111000001xxxxx100100xxxxxxxxxx
                                                                      rcwclr.  */
-                                                                  return 3220;
+                                                                  return 3229;
                                                                 }
                                                               else
                                                                 {
@@ -8733,7 +8777,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          01111000001xxxxx100100xxxxxxxxxx
                                                                          rcwsclr.  */
-                                                                      return 3228;
+                                                                      return 3237;
                                                                     }
                                                                   else
                                                                     {
@@ -8753,7 +8797,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x0111000101xxxxx100100xxxxxxxxxx
                                                                      rcwclra.  */
-                                                                  return 3221;
+                                                                  return 3230;
                                                                 }
                                                               else
                                                                 {
@@ -8761,7 +8805,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1111000101xxxxx100100xxxxxxxxxx
                                                                      rcwsclra.  */
-                                                                  return 3229;
+                                                                  return 3238;
                                                                 }
                                                             }
                                                         }
@@ -8775,7 +8819,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x0111000011xxxxx100100xxxxxxxxxx
                                                                      rcwclrl.  */
-                                                                  return 3223;
+                                                                  return 3232;
                                                                 }
                                                               else
                                                                 {
@@ -8783,7 +8827,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1111000011xxxxx100100xxxxxxxxxx
                                                                      rcwsclrl.  */
-                                                                  return 3231;
+                                                                  return 3240;
                                                                 }
                                                             }
                                                           else
@@ -8794,7 +8838,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x0111000111xxxxx100100xxxxxxxxxx
                                                                      rcwclral.  */
-                                                                  return 3222;
+                                                                  return 3231;
                                                                 }
                                                               else
                                                                 {
@@ -8802,7 +8846,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1111000111xxxxx100100xxxxxxxxxx
                                                                      rcwsclral.  */
-                                                                  return 3230;
+                                                                  return 3239;
                                                                 }
                                                             }
                                                         }
@@ -9094,7 +9138,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x0111000001xxxxx101100xxxxxxxxxx
                                                                      rcwset.  */
-                                                                  return 3236;
+                                                                  return 3245;
                                                                 }
                                                               else
                                                                 {
@@ -9104,7 +9148,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          01111000001xxxxx101100xxxxxxxxxx
                                                                          rcwsset.  */
-                                                                      return 3244;
+                                                                      return 3253;
                                                                     }
                                                                   else
                                                                     {
@@ -9124,7 +9168,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x0111000101xxxxx101100xxxxxxxxxx
                                                                      rcwseta.  */
-                                                                  return 3237;
+                                                                  return 3246;
                                                                 }
                                                               else
                                                                 {
@@ -9132,7 +9176,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1111000101xxxxx101100xxxxxxxxxx
                                                                      rcwsseta.  */
-                                                                  return 3245;
+                                                                  return 3254;
                                                                 }
                                                             }
                                                         }
@@ -9146,7 +9190,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x0111000011xxxxx101100xxxxxxxxxx
                                                                      rcwsetl.  */
-                                                                  return 3239;
+                                                                  return 3248;
                                                                 }
                                                               else
                                                                 {
@@ -9154,7 +9198,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1111000011xxxxx101100xxxxxxxxxx
                                                                      rcwssetl.  */
-                                                                  return 3247;
+                                                                  return 3256;
                                                                 }
                                                             }
                                                           else
@@ -9165,7 +9209,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x0111000111xxxxx101100xxxxxxxxxx
                                                                      rcwsetal.  */
-                                                                  return 3238;
+                                                                  return 3247;
                                                                 }
                                                               else
                                                                 {
@@ -9173,7 +9217,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      x1111000111xxxxx101100xxxxxxxxxx
                                                                      rcwssetal.  */
-                                                                  return 3246;
+                                                                  return 3255;
                                                                 }
                                                             }
                                                         }
@@ -9661,7 +9705,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          00011001000xxxxxxxxx00xxxxxxxxxx
                                                          stlurb.  */
-                                                      return 3010;
+                                                      return 3019;
                                                     }
                                                   else
                                                     {
@@ -9669,7 +9713,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          10011001000xxxxxxxxx00xxxxxxxxxx
                                                          stlur.  */
-                                                      return 3018;
+                                                      return 3027;
                                                     }
                                                 }
                                               else
@@ -9680,7 +9724,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          01011001000xxxxxxxxx00xxxxxxxxxx
                                                          stlurh.  */
-                                                      return 3014;
+                                                      return 3023;
                                                     }
                                                   else
                                                     {
@@ -9688,7 +9732,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          11011001000xxxxxxxxx00xxxxxxxxxx
                                                          stlur.  */
-                                                      return 3021;
+                                                      return 3030;
                                                     }
                                                 }
                                             }
@@ -9723,7 +9767,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0011001001xxxxxxx1000xxxxxxxxxx
                                                              rcwswpp.  */
-                                                          return 3256;
+                                                          return 3265;
                                                         }
                                                       else
                                                         {
@@ -9731,7 +9775,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1011001001xxxxxxx1000xxxxxxxxxx
                                                              rcwsswpp.  */
-                                                          return 3264;
+                                                          return 3273;
                                                         }
                                                     }
                                                 }
@@ -9755,7 +9799,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x0011001001xxxxx1x0100xxxxxxxxxx
                                                                  rcwclrp.  */
-                                                              return 3224;
+                                                              return 3233;
                                                             }
                                                           else
                                                             {
@@ -9763,7 +9807,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1011001001xxxxx1x0100xxxxxxxxxx
                                                                  rcwsclrp.  */
-                                                              return 3232;
+                                                              return 3241;
                                                             }
                                                         }
                                                     }
@@ -9785,7 +9829,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x0011001001xxxxx1x1100xxxxxxxxxx
                                                                  rcwsetp.  */
-                                                              return 3240;
+                                                              return 3249;
                                                             }
                                                           else
                                                             {
@@ -9793,7 +9837,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1011001001xxxxx1x1100xxxxxxxxxx
                                                                  rcwssetp.  */
-                                                              return 3248;
+                                                              return 3257;
                                                             }
                                                         }
                                                     }
@@ -9818,7 +9862,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0011001001xxxxxxxxx10xxxxxxxxxx
                                                      rcwcas.  */
-                                                  return 3204;
+                                                  return 3213;
                                                 }
                                               else
                                                 {
@@ -9828,7 +9872,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          01011001001xxxxxxxxx10xxxxxxxxxx
                                                          rcwscas.  */
-                                                      return 3212;
+                                                      return 3221;
                                                     }
                                                   else
                                                     {
@@ -9860,7 +9904,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx011001000xxxxx000001xxxxxxxxxx
                                                                  cpyfp.  */
-                                                              return 3070;
+                                                              return 3079;
                                                             }
                                                           else
                                                             {
@@ -9868,7 +9912,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx011001000xxxxx100001xxxxxxxxxx
                                                                  cpyfprn.  */
-                                                              return 3076;
+                                                              return 3085;
                                                             }
                                                         }
                                                       else
@@ -9879,7 +9923,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx011001000xxxxx010001xxxxxxxxxx
                                                                  cpyfpwn.  */
-                                                              return 3073;
+                                                              return 3082;
                                                             }
                                                           else
                                                             {
@@ -9887,7 +9931,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx011001000xxxxx110001xxxxxxxxxx
                                                                  cpyfpn.  */
-                                                              return 3079;
+                                                              return 3088;
                                                             }
                                                         }
                                                     }
@@ -9901,7 +9945,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx011001000xxxxx001001xxxxxxxxxx
                                                                  cpyfprt.  */
-                                                              return 3094;
+                                                              return 3103;
                                                             }
                                                           else
                                                             {
@@ -9909,7 +9953,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx011001000xxxxx101001xxxxxxxxxx
                                                                  cpyfprtrn.  */
-                                                              return 3100;
+                                                              return 3109;
                                                             }
                                                         }
                                                       else
@@ -9920,7 +9964,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx011001000xxxxx011001xxxxxxxxxx
                                                                  cpyfprtwn.  */
-                                                              return 3097;
+                                                              return 3106;
                                                             }
                                                           else
                                                             {
@@ -9928,7 +9972,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx011001000xxxxx111001xxxxxxxxxx
                                                                  cpyfprtn.  */
-                                                              return 3103;
+                                                              return 3112;
                                                             }
                                                         }
                                                     }
@@ -9945,7 +9989,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx011001000xxxxx000101xxxxxxxxxx
                                                                  cpyfpwt.  */
-                                                              return 3082;
+                                                              return 3091;
                                                             }
                                                           else
                                                             {
@@ -9953,7 +9997,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx011001000xxxxx100101xxxxxxxxxx
                                                                  cpyfpwtrn.  */
-                                                              return 3088;
+                                                              return 3097;
                                                             }
                                                         }
                                                       else
@@ -9964,7 +10008,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx011001000xxxxx010101xxxxxxxxxx
                                                                  cpyfpwtwn.  */
-                                                              return 3085;
+                                                              return 3094;
                                                             }
                                                           else
                                                             {
@@ -9972,7 +10016,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx011001000xxxxx110101xxxxxxxxxx
                                                                  cpyfpwtn.  */
-                                                              return 3091;
+                                                              return 3100;
                                                             }
                                                         }
                                                     }
@@ -9986,7 +10030,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx011001000xxxxx001101xxxxxxxxxx
                                                                  cpyfpt.  */
-                                                              return 3106;
+                                                              return 3115;
                                                             }
                                                           else
                                                             {
@@ -9994,7 +10038,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx011001000xxxxx101101xxxxxxxxxx
                                                                  cpyfptrn.  */
-                                                              return 3112;
+                                                              return 3121;
                                                             }
                                                         }
                                                       else
@@ -10005,7 +10049,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx011001000xxxxx011101xxxxxxxxxx
                                                                  cpyfptwn.  */
-                                                              return 3109;
+                                                              return 3118;
                                                             }
                                                           else
                                                             {
@@ -10013,7 +10057,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  xx011001000xxxxx111101xxxxxxxxxx
                                                                  cpyfptn.  */
-                                                              return 3115;
+                                                              return 3124;
                                                             }
                                                         }
                                                     }
@@ -10047,7 +10091,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x0011001001xxxxxxxxxx1xxxxxxxxxx
                                                  rcwcasp.  */
-                                              return 3208;
+                                              return 3217;
                                             }
                                           else
                                             {
@@ -10057,7 +10101,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      01011001001xxxxxxxxxx1xxxxxxxxxx
                                                      rcwscasp.  */
-                                                  return 3216;
+                                                  return 3225;
                                                 }
                                               else
                                                 {
@@ -10120,7 +10164,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          00011001010xxxxxxxxx00xxxxxxxxxx
                                                          ldapurb.  */
-                                                      return 3011;
+                                                      return 3020;
                                                     }
                                                   else
                                                     {
@@ -10128,7 +10172,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          10011001010xxxxxxxxx00xxxxxxxxxx
                                                          ldapur.  */
-                                                      return 3019;
+                                                      return 3028;
                                                     }
                                                 }
                                               else
@@ -10139,7 +10183,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          01011001010xxxxxxxxx00xxxxxxxxxx
                                                          ldapurh.  */
-                                                      return 3015;
+                                                      return 3024;
                                                     }
                                                   else
                                                     {
@@ -10147,7 +10191,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          11011001010xxxxxxxxx00xxxxxxxxxx
                                                          ldapur.  */
-                                                      return 3022;
+                                                      return 3031;
                                                     }
                                                 }
                                             }
@@ -10171,7 +10215,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0011001011xxxxxxx1000xxxxxxxxxx
                                                              rcwswppl.  */
-                                                          return 3259;
+                                                          return 3268;
                                                         }
                                                     }
                                                   else
@@ -10192,7 +10236,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x0011001011xxxxx1x0100xxxxxxxxxx
                                                                  rcwclrpl.  */
-                                                              return 3227;
+                                                              return 3236;
                                                             }
                                                         }
                                                       else
@@ -10211,7 +10255,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x0011001011xxxxx1x1100xxxxxxxxxx
                                                                  rcwsetpl.  */
-                                                              return 3243;
+                                                              return 3252;
                                                             }
                                                         }
                                                     }
@@ -10226,7 +10270,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              01011001011xxxxxxxx000xxxxxxxxxx
                                                              rcwsswppl.  */
-                                                          return 3267;
+                                                          return 3276;
                                                         }
                                                       else
                                                         {
@@ -10236,7 +10280,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  01011001011xxxxxxx0100xxxxxxxxxx
                                                                  rcwsclrpl.  */
-                                                              return 3235;
+                                                              return 3244;
                                                             }
                                                           else
                                                             {
@@ -10244,7 +10288,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  01011001011xxxxxxx1100xxxxxxxxxx
                                                                  rcwssetpl.  */
-                                                              return 3251;
+                                                              return 3260;
                                                             }
                                                         }
                                                     }
@@ -10277,7 +10321,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0011001011xxxxxxxxx10xxxxxxxxxx
                                                      rcwcasl.  */
-                                                  return 3207;
+                                                  return 3216;
                                                 }
                                               else
                                                 {
@@ -10287,7 +10331,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          01011001011xxxxxxxxx10xxxxxxxxxx
                                                          rcwscasl.  */
-                                                      return 3215;
+                                                      return 3224;
                                                     }
                                                   else
                                                     {
@@ -10317,7 +10361,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx0000x1xxxxxxxxxx
                                                              cpyfm.  */
-                                                          return 3071;
+                                                          return 3080;
                                                         }
                                                       else
                                                         {
@@ -10325,7 +10369,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx1000x1xxxxxxxxxx
                                                              cpyfmrn.  */
-                                                          return 3077;
+                                                          return 3086;
                                                         }
                                                     }
                                                   else
@@ -10336,7 +10380,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx0100x1xxxxxxxxxx
                                                              cpyfmwn.  */
-                                                          return 3074;
+                                                          return 3083;
                                                         }
                                                       else
                                                         {
@@ -10344,7 +10388,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx1100x1xxxxxxxxxx
                                                              cpyfmn.  */
-                                                          return 3080;
+                                                          return 3089;
                                                         }
                                                     }
                                                 }
@@ -10358,7 +10402,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx0010x1xxxxxxxxxx
                                                              cpyfmrt.  */
-                                                          return 3095;
+                                                          return 3104;
                                                         }
                                                       else
                                                         {
@@ -10366,7 +10410,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx1010x1xxxxxxxxxx
                                                              cpyfmrtrn.  */
-                                                          return 3101;
+                                                          return 3110;
                                                         }
                                                     }
                                                   else
@@ -10377,7 +10421,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx0110x1xxxxxxxxxx
                                                              cpyfmrtwn.  */
-                                                          return 3098;
+                                                          return 3107;
                                                         }
                                                       else
                                                         {
@@ -10385,7 +10429,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx1110x1xxxxxxxxxx
                                                              cpyfmrtn.  */
-                                                          return 3104;
+                                                          return 3113;
                                                         }
                                                     }
                                                 }
@@ -10402,7 +10446,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx0001x1xxxxxxxxxx
                                                              cpyfmwt.  */
-                                                          return 3083;
+                                                          return 3092;
                                                         }
                                                       else
                                                         {
@@ -10410,7 +10454,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx1001x1xxxxxxxxxx
                                                              cpyfmwtrn.  */
-                                                          return 3089;
+                                                          return 3098;
                                                         }
                                                     }
                                                   else
@@ -10421,7 +10465,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx0101x1xxxxxxxxxx
                                                              cpyfmwtwn.  */
-                                                          return 3086;
+                                                          return 3095;
                                                         }
                                                       else
                                                         {
@@ -10429,7 +10473,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx1101x1xxxxxxxxxx
                                                              cpyfmwtn.  */
-                                                          return 3092;
+                                                          return 3101;
                                                         }
                                                     }
                                                 }
@@ -10443,7 +10487,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx0011x1xxxxxxxxxx
                                                              cpyfmt.  */
-                                                          return 3107;
+                                                          return 3116;
                                                         }
                                                       else
                                                         {
@@ -10451,7 +10495,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx1011x1xxxxxxxxxx
                                                              cpyfmtrn.  */
-                                                          return 3113;
+                                                          return 3122;
                                                         }
                                                     }
                                                   else
@@ -10462,7 +10506,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx0111x1xxxxxxxxxx
                                                              cpyfmtwn.  */
-                                                          return 3110;
+                                                          return 3119;
                                                         }
                                                       else
                                                         {
@@ -10470,7 +10514,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001010xxxxx1111x1xxxxxxxxxx
                                                              cpyfmtn.  */
-                                                          return 3116;
+                                                          return 3125;
                                                         }
                                                     }
                                                 }
@@ -10484,7 +10528,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x0011001011xxxxxxxxxx1xxxxxxxxxx
                                                  rcwcaspl.  */
-                                              return 3211;
+                                              return 3220;
                                             }
                                           else
                                             {
@@ -10494,7 +10538,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      01011001011xxxxxxxxxx1xxxxxxxxxx
                                                      rcwscaspl.  */
-                                                  return 3219;
+                                                  return 3228;
                                                 }
                                               else
                                                 {
@@ -10560,7 +10604,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          00011001100xxxxxxxxx00xxxxxxxxxx
                                                          ldapursb.  */
-                                                      return 3013;
+                                                      return 3022;
                                                     }
                                                   else
                                                     {
@@ -10568,7 +10612,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          10011001100xxxxxxxxx00xxxxxxxxxx
                                                          ldapursw.  */
-                                                      return 3020;
+                                                      return 3029;
                                                     }
                                                 }
                                               else
@@ -10577,7 +10621,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1011001100xxxxxxxxx00xxxxxxxxxx
                                                      ldapursh.  */
-                                                  return 3017;
+                                                  return 3026;
                                                 }
                                             }
                                           else
@@ -10588,7 +10632,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0011001110xxxxxxxxx00xxxxxxxxxx
                                                      ldapursb.  */
-                                                  return 3012;
+                                                  return 3021;
                                                 }
                                               else
                                                 {
@@ -10596,7 +10640,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1011001110xxxxxxxxx00xxxxxxxxxx
                                                      ldapursh.  */
-                                                  return 3016;
+                                                  return 3025;
                                                 }
                                             }
                                         }
@@ -10655,7 +10699,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0011001101xxxxxxx1000xxxxxxxxxx
                                                              rcwswppa.  */
-                                                          return 3257;
+                                                          return 3266;
                                                         }
                                                       else
                                                         {
@@ -10663,7 +10707,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1011001101xxxxxxx1000xxxxxxxxxx
                                                              rcwsswppa.  */
-                                                          return 3265;
+                                                          return 3274;
                                                         }
                                                     }
                                                   else
@@ -10674,7 +10718,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x0011001111xxxxxxx1000xxxxxxxxxx
                                                              rcwswppal.  */
-                                                          return 3258;
+                                                          return 3267;
                                                         }
                                                       else
                                                         {
@@ -10682,7 +10726,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x1011001111xxxxxxx1000xxxxxxxxxx
                                                              rcwsswppal.  */
-                                                          return 3266;
+                                                          return 3275;
                                                         }
                                                     }
                                                 }
@@ -10720,7 +10764,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x0011001101xxxxx1x0100xxxxxxxxxx
                                                                  rcwclrpa.  */
-                                                              return 3225;
+                                                              return 3234;
                                                             }
                                                           else
                                                             {
@@ -10728,7 +10772,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1011001101xxxxx1x0100xxxxxxxxxx
                                                                  rcwsclrpa.  */
-                                                              return 3233;
+                                                              return 3242;
                                                             }
                                                         }
                                                       else
@@ -10739,7 +10783,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x0011001111xxxxx1x0100xxxxxxxxxx
                                                                  rcwclrpal.  */
-                                                              return 3226;
+                                                              return 3235;
                                                             }
                                                           else
                                                             {
@@ -10747,7 +10791,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1011001111xxxxx1x0100xxxxxxxxxx
                                                                  rcwsclrpal.  */
-                                                              return 3234;
+                                                              return 3243;
                                                             }
                                                         }
                                                     }
@@ -10783,7 +10827,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x0011001101xxxxx1x1100xxxxxxxxxx
                                                                  rcwsetpa.  */
-                                                              return 3241;
+                                                              return 3250;
                                                             }
                                                           else
                                                             {
@@ -10791,7 +10835,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1011001101xxxxx1x1100xxxxxxxxxx
                                                                  rcwssetpa.  */
-                                                              return 3249;
+                                                              return 3258;
                                                             }
                                                         }
                                                       else
@@ -10802,7 +10846,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x0011001111xxxxx1x1100xxxxxxxxxx
                                                                  rcwsetpal.  */
-                                                              return 3242;
+                                                              return 3251;
                                                             }
                                                           else
                                                             {
@@ -10810,7 +10854,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1011001111xxxxx1x1100xxxxxxxxxx
                                                                  rcwssetpal.  */
-                                                              return 3250;
+                                                              return 3259;
                                                             }
                                                         }
                                                     }
@@ -10849,7 +10893,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0011001101xxxxxxxxx10xxxxxxxxxx
                                                      rcwcasa.  */
-                                                  return 3205;
+                                                  return 3214;
                                                 }
                                               else
                                                 {
@@ -10859,7 +10903,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          01011001101xxxxxxxxx10xxxxxxxxxx
                                                          rcwscasa.  */
-                                                      return 3213;
+                                                      return 3222;
                                                     }
                                                   else
                                                     {
@@ -10879,7 +10923,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0011001111xxxxxxxxx10xxxxxxxxxx
                                                      rcwcasal.  */
-                                                  return 3206;
+                                                  return 3215;
                                                 }
                                               else
                                                 {
@@ -10889,7 +10933,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          01011001111xxxxxxxxx10xxxxxxxxxx
                                                          rcwscasal.  */
-                                                      return 3214;
+                                                      return 3223;
                                                     }
                                                   else
                                                     {
@@ -10922,7 +10966,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001100xxxxx0000x1xxxxxxxxxx
                                                              cpyfe.  */
-                                                          return 3072;
+                                                          return 3081;
                                                         }
                                                       else
                                                         {
@@ -10930,7 +10974,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001110xxxxx0000x1xxxxxxxxxx
                                                              setp.  */
-                                                          return 3166;
+                                                          return 3175;
                                                         }
                                                     }
                                                   else
@@ -10941,7 +10985,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001100xxxxx1000x1xxxxxxxxxx
                                                              cpyfern.  */
-                                                          return 3078;
+                                                          return 3087;
                                                         }
                                                       else
                                                         {
@@ -10949,7 +10993,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001110xxxxx1000x1xxxxxxxxxx
                                                              sete.  */
-                                                          return 3168;
+                                                          return 3177;
                                                         }
                                                     }
                                                 }
@@ -10963,7 +11007,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001100xxxxx0100x1xxxxxxxxxx
                                                              cpyfewn.  */
-                                                          return 3075;
+                                                          return 3084;
                                                         }
                                                       else
                                                         {
@@ -10971,7 +11015,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001110xxxxx0100x1xxxxxxxxxx
                                                              setm.  */
-                                                          return 3167;
+                                                          return 3176;
                                                         }
                                                     }
                                                   else
@@ -10980,7 +11024,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx0110011x0xxxxx1100x1xxxxxxxxxx
                                                          cpyfen.  */
-                                                      return 3081;
+                                                      return 3090;
                                                     }
                                                 }
                                             }
@@ -10996,7 +11040,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001100xxxxx0010x1xxxxxxxxxx
                                                              cpyfert.  */
-                                                          return 3096;
+                                                          return 3105;
                                                         }
                                                       else
                                                         {
@@ -11004,7 +11048,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001110xxxxx0010x1xxxxxxxxxx
                                                              setpn.  */
-                                                          return 3172;
+                                                          return 3181;
                                                         }
                                                     }
                                                   else
@@ -11015,7 +11059,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001100xxxxx1010x1xxxxxxxxxx
                                                              cpyfertrn.  */
-                                                          return 3102;
+                                                          return 3111;
                                                         }
                                                       else
                                                         {
@@ -11023,7 +11067,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001110xxxxx1010x1xxxxxxxxxx
                                                              seten.  */
-                                                          return 3174;
+                                                          return 3183;
                                                         }
                                                     }
                                                 }
@@ -11037,7 +11081,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001100xxxxx0110x1xxxxxxxxxx
                                                              cpyfertwn.  */
-                                                          return 3099;
+                                                          return 3108;
                                                         }
                                                       else
                                                         {
@@ -11045,7 +11089,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001110xxxxx0110x1xxxxxxxxxx
                                                              setmn.  */
-                                                          return 3173;
+                                                          return 3182;
                                                         }
                                                     }
                                                   else
@@ -11054,7 +11098,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx0110011x0xxxxx1110x1xxxxxxxxxx
                                                          cpyfertn.  */
-                                                      return 3105;
+                                                      return 3114;
                                                     }
                                                 }
                                             }
@@ -11073,7 +11117,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001100xxxxx0001x1xxxxxxxxxx
                                                              cpyfewt.  */
-                                                          return 3084;
+                                                          return 3093;
                                                         }
                                                       else
                                                         {
@@ -11081,7 +11125,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001110xxxxx0001x1xxxxxxxxxx
                                                              setpt.  */
-                                                          return 3169;
+                                                          return 3178;
                                                         }
                                                     }
                                                   else
@@ -11092,7 +11136,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001100xxxxx1001x1xxxxxxxxxx
                                                              cpyfewtrn.  */
-                                                          return 3090;
+                                                          return 3099;
                                                         }
                                                       else
                                                         {
@@ -11100,7 +11144,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001110xxxxx1001x1xxxxxxxxxx
                                                              setet.  */
-                                                          return 3171;
+                                                          return 3180;
                                                         }
                                                     }
                                                 }
@@ -11114,7 +11158,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001100xxxxx0101x1xxxxxxxxxx
                                                              cpyfewtwn.  */
-                                                          return 3087;
+                                                          return 3096;
                                                         }
                                                       else
                                                         {
@@ -11122,7 +11166,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001110xxxxx0101x1xxxxxxxxxx
                                                              setmt.  */
-                                                          return 3170;
+                                                          return 3179;
                                                         }
                                                     }
                                                   else
@@ -11131,7 +11175,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx0110011x0xxxxx1101x1xxxxxxxxxx
                                                          cpyfewtn.  */
-                                                      return 3093;
+                                                      return 3102;
                                                     }
                                                 }
                                             }
@@ -11147,7 +11191,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001100xxxxx0011x1xxxxxxxxxx
                                                              cpyfet.  */
-                                                          return 3108;
+                                                          return 3117;
                                                         }
                                                       else
                                                         {
@@ -11155,7 +11199,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001110xxxxx0011x1xxxxxxxxxx
                                                              setptn.  */
-                                                          return 3175;
+                                                          return 3184;
                                                         }
                                                     }
                                                   else
@@ -11166,7 +11210,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001100xxxxx1011x1xxxxxxxxxx
                                                              cpyfetrn.  */
-                                                          return 3114;
+                                                          return 3123;
                                                         }
                                                       else
                                                         {
@@ -11174,7 +11218,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001110xxxxx1011x1xxxxxxxxxx
                                                              setetn.  */
-                                                          return 3177;
+                                                          return 3186;
                                                         }
                                                     }
                                                 }
@@ -11188,7 +11232,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001100xxxxx0111x1xxxxxxxxxx
                                                              cpyfetwn.  */
-                                                          return 3111;
+                                                          return 3120;
                                                         }
                                                       else
                                                         {
@@ -11196,7 +11240,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx011001110xxxxx0111x1xxxxxxxxxx
                                                              setmtn.  */
-                                                          return 3176;
+                                                          return 3185;
                                                         }
                                                     }
                                                   else
@@ -11205,7 +11249,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx0110011x0xxxxx1111x1xxxxxxxxxx
                                                          cpyfetn.  */
-                                                      return 3117;
+                                                      return 3126;
                                                     }
                                                 }
                                             }
@@ -11221,7 +11265,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x0011001101xxxxxxxxxx1xxxxxxxxxx
                                                  rcwcaspa.  */
-                                              return 3209;
+                                              return 3218;
                                             }
                                           else
                                             {
@@ -11231,7 +11275,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      01011001101xxxxxxxxxx1xxxxxxxxxx
                                                      rcwscaspa.  */
-                                                  return 3217;
+                                                  return 3226;
                                                 }
                                               else
                                                 {
@@ -11251,7 +11295,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  x0011001111xxxxxxxxxx1xxxxxxxxxx
                                                  rcwcaspal.  */
-                                              return 3210;
+                                              return 3219;
                                             }
                                           else
                                             {
@@ -11261,7 +11305,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      01011001111xxxxxxxxxx1xxxxxxxxxx
                                                      rcwscaspal.  */
-                                                  return 3218;
+                                                  return 3227;
                                                 }
                                               else
                                                 {
@@ -11504,7 +11548,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxx11010000xxxxxx00x10xxxxxxxxxx
                                                      setf8.  */
-                                                  return 3008;
+                                                  return 3017;
                                                 }
                                               else
                                                 {
@@ -11512,7 +11556,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxx11010000xxxxxx10x10xxxxxxxxxx
                                                      setf16.  */
-                                                  return 3009;
+                                                  return 3018;
                                                 }
                                             }
                                         }
@@ -11522,7 +11566,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              xxx11010000xxxxxxx0xx1xxxxxxxxxx
                                              rmif.  */
-                                          return 3007;
+                                          return 3016;
                                         }
                                     }
                                   else
@@ -11533,7 +11577,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x0x11010000xxxxxxx1xxxxxxxxxxxxx
                                              addpt.  */
-                                          return 3455;
+                                          return 3464;
                                         }
                                       else
                                         {
@@ -11541,7 +11585,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              x1x11010000xxxxxxx1xxxxxxxxxxxxx
                                              subpt.  */
-                                          return 3456;
+                                          return 3465;
                                         }
                                     }
                                 }
@@ -11699,7 +11743,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x1x11010110xxxx0x01000xxxxxxxxxx
                                                                  abs.  */
-                                                              return 3195;
+                                                              return 3204;
                                                             }
                                                           else
                                                             {
@@ -11717,7 +11761,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxx11010110xxxxxx11000xxxxxxxxxx
                                                          smax.  */
-                                                      return 3198;
+                                                      return 3207;
                                                     }
                                                 }
                                             }
@@ -11890,7 +11934,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxx11010110xxxxxx11010xxxxxxxxxx
                                                          smin.  */
-                                                      return 3200;
+                                                      return 3209;
                                                     }
                                                 }
                                             }
@@ -11906,7 +11950,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xxx11010110xxxx0x00110xxxxxxxxxx
                                                              ctz.  */
-                                                          return 3197;
+                                                          return 3206;
                                                         }
                                                       else
                                                         {
@@ -12012,7 +12056,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxx11010x10xxxxxx11001xxxxxxxxxx
                                                      umax.  */
-                                                  return 3199;
+                                                  return 3208;
                                                 }
                                             }
                                         }
@@ -12141,7 +12185,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xxx11010x10xxxxxx11011xxxxxxxxxx
                                                      umin.  */
-                                                  return 3201;
+                                                  return 3210;
                                                 }
                                             }
                                         }
@@ -12157,7 +12201,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xxx11010x10xxxx0x00111xxxxxxxxxx
                                                          cnt.  */
-                                                      return 3196;
+                                                      return 3205;
                                                     }
                                                   else
                                                     {
@@ -12459,7 +12503,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxx1011x11xxxxx0xxxxxxxxxxxxxxx
                                  maddpt.  */
-                              return 3457;
+                              return 3466;
                             }
                           else
                             {
@@ -12467,7 +12511,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                  10987654321098765432109876543210
                                  xxxx1011x11xxxxx1xxxxxxxxxxxxxxx
                                  msubpt.  */
-                              return 3458;
+                              return 3467;
                             }
                         }
                     }
@@ -12552,7 +12596,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx000100000xxxxxxxxxxxxx
                                                                      addpt.  */
-                                                                  return 3459;
+                                                                  return 3468;
                                                                 }
                                                               else
                                                                 {
@@ -12659,7 +12703,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx000101000xxxxxxxxxxxxx
                                                                      subpt.  */
-                                                                  return 3461;
+                                                                  return 3470;
                                                                 }
                                                               else
                                                                 {
@@ -12864,7 +12908,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx1xxxxx000010xxxxxxxxxx
                                                              addpt.  */
-                                                          return 3460;
+                                                          return 3469;
                                                         }
                                                       else
                                                         {
@@ -12905,7 +12949,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx1xxxxx000011xxxxxxxxxx
                                                              subpt.  */
-                                                          return 3462;
+                                                          return 3471;
                                                         }
                                                       else
                                                         {
@@ -13066,7 +13110,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  010001x01x1xxxxx000110xxxxxxxxxx
                                                                  usdot.  */
-                                                              return 3027;
+                                                              return 3036;
                                                             }
                                                         }
                                                     }
@@ -13140,7 +13184,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  010001x01x1xxxxx000111xxxxxxxxxx
                                                                  sudot.  */
-                                                              return 3028;
+                                                              return 3037;
                                                             }
                                                         }
                                                     }
@@ -14563,7 +14607,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              010001x0xx0xxxxx110100xxxxxxxxxx
                                                              mlapt.  */
-                                                          return 3464;
+                                                          return 3473;
                                                         }
                                                     }
                                                   else
@@ -14593,7 +14637,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              010001x0xx0xxxxx110110xxxxxxxxxx
                                                              madpt.  */
-                                                          return 3463;
+                                                          return 3472;
                                                         }
                                                     }
                                                 }
@@ -14901,7 +14945,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx00x100001xxxxxxxxxxxxx
                                                                  smaxqv.  */
-                                                              return 3365;
+                                                              return 3374;
                                                             }
                                                           else
                                                             {
@@ -14909,7 +14953,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx01x100001xxxxxxxxxxxxx
                                                                  orqv.  */
-                                                              return 3376;
+                                                              return 3385;
                                                             }
                                                         }
                                                       else
@@ -14920,7 +14964,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx0x0101001xxxxxxxxxxxxx
                                                                  addqv.  */
-                                                              return 3363;
+                                                              return 3372;
                                                             }
                                                           else
                                                             {
@@ -14930,7 +14974,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx001101001xxxxxxxxxxxxx
                                                                      umaxqv.  */
-                                                                  return 3367;
+                                                                  return 3376;
                                                                 }
                                                               else
                                                                 {
@@ -14938,7 +14982,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x0xx011101001xxxxxxxxxxxxx
                                                                      eorqv.  */
-                                                                  return 3369;
+                                                                  return 3378;
                                                                 }
                                                             }
                                                         }
@@ -14975,7 +15019,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx00x110001xxxxxxxxxxxxx
                                                                  sminqv.  */
-                                                              return 3366;
+                                                              return 3375;
                                                             }
                                                           else
                                                             {
@@ -14983,7 +15027,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x0xx01x110001xxxxxxxxxxxxx
                                                                  andqv.  */
-                                                              return 3364;
+                                                              return 3373;
                                                             }
                                                         }
                                                     }
@@ -15003,7 +15047,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x0xx0xx111001xxxxxxxxxxxxx
                                                              uminqv.  */
-                                                          return 3368;
+                                                          return 3377;
                                                         }
                                                     }
                                                 }
@@ -15747,7 +15791,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      110001x0x00xxxxx101xxxxxxxxxxxxx
                                                      ld1q.  */
-                                                  return 3400;
+                                                  return 3409;
                                                 }
                                               else
                                                 {
@@ -15979,7 +16023,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              010001x0xx0xxxxx011110xxxxxxxxxx
                                                              usdot.  */
-                                                          return 3026;
+                                                          return 3035;
                                                         }
                                                     }
                                                 }
@@ -16761,7 +16805,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          010001x0xx0xxxxx111x00xxxxxxxxxx
                                                          zipq1.  */
-                                                      return 3382;
+                                                      return 3391;
                                                     }
                                                   else
                                                     {
@@ -16771,7 +16815,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              010001x0xx0xxxxx111010xxxxxxxxxx
                                                              uzpq1.  */
-                                                          return 3380;
+                                                          return 3389;
                                                         }
                                                       else
                                                         {
@@ -16779,7 +16823,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              010001x0xx0xxxxx111110xxxxxxxxxx
                                                              tblq.  */
-                                                          return 3377;
+                                                          return 3386;
                                                         }
                                                     }
                                                 }
@@ -16791,7 +16835,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          010001x0xx0xxxxx111x01xxxxxxxxxx
                                                          zipq2.  */
-                                                      return 3383;
+                                                      return 3392;
                                                     }
                                                   else
                                                     {
@@ -16799,7 +16843,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          010001x0xx0xxxxx111x11xxxxxxxxxx
                                                          uzpq2.  */
-                                                      return 3381;
+                                                      return 3390;
                                                     }
                                                 }
                                             }
@@ -17279,7 +17323,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x0x00xxxxx000xxxxxxxxxxxxx
                                                      st3q.  */
-                                                  return 3409;
+                                                  return 3418;
                                                 }
                                               else
                                                 {
@@ -17289,7 +17333,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x0010xxxxx000xxxxxxxxxxxxx
                                                          st2q.  */
-                                                      return 3408;
+                                                      return 3417;
                                                     }
                                                   else
                                                     {
@@ -17297,7 +17341,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x0110xxxxx000xxxxxxxxxxxxx
                                                          st4q.  */
-                                                      return 3410;
+                                                      return 3419;
                                                     }
                                                 }
                                             }
@@ -17744,7 +17788,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  011001x0xx0x0000101xxxxxxxxxxxxx
                                                                  faddqv.  */
-                                                              return 3370;
+                                                              return 3379;
                                                             }
                                                           else
                                                             {
@@ -17761,7 +17805,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x0xx0xx100101xxxxxxxxxxxxx
                                                              fmaxnmqv.  */
-                                                          return 3371;
+                                                          return 3380;
                                                         }
                                                     }
                                                   else
@@ -17784,7 +17828,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x0100xx010101xxxxxxxxxxxxx
                                                                      bfcvtnt.  */
-                                                                  return 3055;
+                                                                  return 3064;
                                                                 }
                                                             }
                                                           else
@@ -17802,7 +17846,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x0xx0xx110101xxxxxxxxxxxxx
                                                              fmaxqv.  */
-                                                          return 3372;
+                                                          return 3381;
                                                         }
                                                     }
                                                 }
@@ -17824,7 +17868,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x0xx0xx101101xxxxxxxxxxxxx
                                                              fminnmqv.  */
-                                                          return 3373;
+                                                          return 3382;
                                                         }
                                                     }
                                                   else
@@ -17843,7 +17887,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x0xx0xx111101xxxxxxxxxxxxx
                                                              fminqv.  */
-                                                          return 3374;
+                                                          return 3383;
                                                         }
                                                     }
                                                 }
@@ -17963,7 +18007,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x0xx01xxxx111xxxxxxxxxxxxx
                                                      ld2q.  */
-                                                  return 3401;
+                                                  return 3410;
                                                 }
                                             }
                                         }
@@ -18082,7 +18126,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x00x1xxxxx000xxxxxxxxxxxxx
                                                      ld1rob.  */
-                                                  return 3031;
+                                                  return 3040;
                                                 }
                                               else
                                                 {
@@ -18090,7 +18134,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x01x1xxxxx000xxxxxxxxxxxxx
                                                      ld1roh.  */
-                                                  return 3032;
+                                                  return 3041;
                                                 }
                                             }
                                           else
@@ -18099,7 +18143,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  101001x0xx1xxxxx100xxxxxxxxxxxxx
                                                  ld2q.  */
-                                              return 3404;
+                                              return 3413;
                                             }
                                         }
                                       else
@@ -18215,7 +18259,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x00x1xxxxx000x10xxxxxxxxxx
                                                              bfmla.  */
-                                                          return 3278;
+                                                          return 3287;
                                                         }
                                                     }
                                                   else
@@ -18234,7 +18278,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x00x1xxxxx000x11xxxxxxxxxx
                                                              bfmls.  */
-                                                          return 3279;
+                                                          return 3288;
                                                         }
                                                     }
                                                 }
@@ -18244,7 +18288,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x00x1xxxxx000xxxxxxxxxxxxx
                                                      st2q.  */
-                                                  return 3411;
+                                                  return 3420;
                                                 }
                                             }
                                           else
@@ -18287,7 +18331,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x0101xxxxx000xxxxxxxxxxxxx
                                                          st3q.  */
-                                                      return 3412;
+                                                      return 3421;
                                                     }
                                                 }
                                               else
@@ -18328,7 +18372,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x0111xxxxx000xxxxxxxxxxxxx
                                                          st4q.  */
-                                                      return 3413;
+                                                      return 3422;
                                                     }
                                                 }
                                             }
@@ -18357,7 +18401,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  011001x0001xxxxx0100x1xxxxxxxxxx
                                                                  fdot.  */
-                                                              return 3500;
+                                                              return 3509;
                                                             }
                                                         }
                                                       else
@@ -18366,7 +18410,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x0001xxxxx0101xxxxxxxxxxxx
                                                              fmlalb.  */
-                                                          return 3502;
+                                                          return 3511;
                                                         }
                                                     }
                                                   else
@@ -18407,7 +18451,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x0101xxxxx0101xxxxxxxxxxxx
                                                              fmlalt.  */
-                                                          return 3512;
+                                                          return 3521;
                                                         }
                                                     }
                                                   else
@@ -18432,7 +18476,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x0011xxxxx010xx0xxxxxxxxxx
                                                              bfdot.  */
-                                                          return 3052;
+                                                          return 3061;
                                                         }
                                                       else
                                                         {
@@ -18440,7 +18484,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x0011xxxxx010xx1xxxxxxxxxx
                                                              fdot.  */
-                                                          return 3498;
+                                                          return 3507;
                                                         }
                                                     }
                                                   else
@@ -18462,7 +18506,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x0111xxxxx010xx0xxxxxxxxxx
                                                              bfmlalb.  */
-                                                          return 3059;
+                                                          return 3068;
                                                         }
                                                       else
                                                         {
@@ -18470,7 +18514,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x0111xxxxx010xx1xxxxxxxxxx
                                                              bfmlalt.  */
-                                                          return 3058;
+                                                          return 3067;
                                                         }
                                                     }
                                                   else
@@ -18511,7 +18555,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x11001x0001xxxxx100010xxxxxxxxxx
                                                                  fmlallbb.  */
-                                                              return 3503;
+                                                              return 3512;
                                                             }
                                                         }
                                                       else
@@ -18520,7 +18564,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x11001x0001xxxxx1000x1xxxxxxxxxx
                                                              fdot.  */
-                                                          return 3499;
+                                                          return 3508;
                                                         }
                                                     }
                                                   else
@@ -18529,7 +18573,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x0001xxxxx1100xxxxxxxxxxxx
                                                          fmlallbb.  */
-                                                      return 3504;
+                                                      return 3513;
                                                     }
                                                 }
                                               else
@@ -18538,7 +18582,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x11001x0001xxxxx1x01xxxxxxxxxxxx
                                                      fmlallbt.  */
-                                                  return 3505;
+                                                  return 3514;
                                                 }
                                             }
                                           else
@@ -18565,7 +18609,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      011001x0101xxxxx100010xxxxxxxxxx
                                                                      fmlalb.  */
-                                                                  return 3501;
+                                                                  return 3510;
                                                                 }
                                                             }
                                                           else
@@ -18583,7 +18627,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x0101xxxxx1100xxxxxxxxxxxx
                                                              fmlalltb.  */
-                                                          return 3508;
+                                                          return 3517;
                                                         }
                                                     }
                                                   else
@@ -18592,7 +18636,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          011001x0101xxxxx1x01xxxxxxxxxxxx
                                                          fmlalt.  */
-                                                      return 3511;
+                                                      return 3520;
                                                     }
                                                 }
                                               else
@@ -18617,7 +18661,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x0011xxxxx100xx0xxxxxxxxxx
                                                          bfdot.  */
-                                                      return 3051;
+                                                      return 3060;
                                                     }
                                                   else
                                                     {
@@ -18625,7 +18669,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x0011xxxxx100xx1xxxxxxxxxx
                                                          fdot.  */
-                                                      return 3497;
+                                                      return 3506;
                                                     }
                                                 }
                                               else
@@ -18634,7 +18678,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x11001x0011xxxxx110xxxxxxxxxxxxx
                                                      fmlallbt.  */
-                                                  return 3506;
+                                                  return 3515;
                                                 }
                                             }
                                           else
@@ -18649,7 +18693,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x0111xxxxx100xx0xxxxxxxxxx
                                                              bfmlalb.  */
-                                                          return 3057;
+                                                          return 3066;
                                                         }
                                                       else
                                                         {
@@ -18657,7 +18701,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              011001x0111xxxxx100xx1xxxxxxxxxx
                                                              bfmlalt.  */
-                                                          return 3056;
+                                                          return 3065;
                                                         }
                                                     }
                                                   else
@@ -18666,7 +18710,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          011001x0111xxxxx110xxxxxxxxxxxxx
                                                          fmlalltt.  */
-                                                      return 3510;
+                                                      return 3519;
                                                     }
                                                 }
                                               else
@@ -18717,7 +18761,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x00x1xxxxx001xxxxxxxxxxxxx
                                                      ld1rob.  */
-                                                  return 3035;
+                                                  return 3044;
                                                 }
                                               else
                                                 {
@@ -18725,7 +18769,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x01x1xxxxx001xxxxxxxxxxxxx
                                                      ld1roh.  */
-                                                  return 3036;
+                                                  return 3045;
                                                 }
                                             }
                                           else
@@ -18947,7 +18991,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          011001x0xx1xxxxx001x10xxxxxxxxxx
                                                          bfmul.  */
-                                                      return 3283;
+                                                      return 3292;
                                                     }
                                                 }
                                               else
@@ -18965,7 +19009,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  111001x0xx1xxxxx001xxxxxxxxxxxxx
                                                  st1q.  */
-                                              return 3407;
+                                              return 3416;
                                             }
                                         }
                                       else
@@ -18980,7 +19024,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x0001xxxxx1010xxxxxxxxxxxx
                                                          fmlalltb.  */
-                                                      return 3507;
+                                                      return 3516;
                                                     }
                                                   else
                                                     {
@@ -18988,7 +19032,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x11001x0001xxxxx1011xxxxxxxxxxxx
                                                          fmlalltt.  */
-                                                      return 3509;
+                                                      return 3518;
                                                     }
                                                 }
                                               else
@@ -19183,7 +19227,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          011001x0101xxxxx111xxxxxxxxxxxxx
                                                          fmmla.  */
-                                                      return 3029;
+                                                      return 3038;
                                                     }
                                                   else
                                                     {
@@ -19216,7 +19260,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          011001x0011xxxxx111xxxxxxxxxxxxx
                                                          bfmmla.  */
-                                                      return 3053;
+                                                      return 3062;
                                                     }
                                                   else
                                                     {
@@ -19246,7 +19290,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          011001x0111xxxxx111xxxxxxxxxxxxx
                                                          fmmla.  */
-                                                      return 3030;
+                                                      return 3039;
                                                     }
                                                   else
                                                     {
@@ -19375,7 +19419,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x1101xxxxx000x00xxxxxxxxxx
                                                                  zip1.  */
-                                                              return 3039;
+                                                              return 3048;
                                                             }
                                                           else
                                                             {
@@ -19385,7 +19429,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x1101xxxxx000010xxxxxxxxxx
                                                                      uzp1.  */
-                                                                  return 3041;
+                                                                  return 3050;
                                                                 }
                                                               else
                                                                 {
@@ -19393,7 +19437,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x1101xxxxx000110xxxxxxxxxx
                                                                      trn1.  */
-                                                                  return 3043;
+                                                                  return 3052;
                                                                 }
                                                             }
                                                         }
@@ -19405,7 +19449,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x1101xxxxx000x01xxxxxxxxxx
                                                                  zip2.  */
-                                                              return 3040;
+                                                              return 3049;
                                                             }
                                                           else
                                                             {
@@ -19415,7 +19459,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x1101xxxxx000011xxxxxxxxxx
                                                                      uzp2.  */
-                                                                  return 3042;
+                                                                  return 3051;
                                                                 }
                                                               else
                                                                 {
@@ -19423,7 +19467,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      000001x1101xxxxx000111xxxxxxxxxx
                                                                      trn2.  */
-                                                                  return 3044;
+                                                                  return 3053;
                                                                 }
                                                             }
                                                         }
@@ -19706,7 +19750,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                      10987654321098765432109876543210
                                                                                      000001x1001010x0001110xxxxxxxxxx
                                                                                      pmov.  */
-                                                                                  return 3384;
+                                                                                  return 3393;
                                                                                 }
                                                                               else
                                                                                 {
@@ -19714,7 +19758,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                      10987654321098765432109876543210
                                                                                      000001x1001011x0001110xxxxxxxxxx
                                                                                      pmov.  */
-                                                                                  return 3385;
+                                                                                  return 3394;
                                                                                 }
                                                                             }
                                                                           else
@@ -19723,7 +19767,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  000001x101101xx0001110xxxxxxxxxx
                                                                                  pmov.  */
-                                                                              return 3386;
+                                                                              return 3395;
                                                                             }
                                                                         }
                                                                       else
@@ -19732,7 +19776,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              000001x11x101xx0001110xxxxxxxxxx
                                                                              pmov.  */
-                                                                          return 3387;
+                                                                          return 3396;
                                                                         }
                                                                     }
                                                                   else
@@ -19778,7 +19822,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  000001x1001x10x1001110xxxxxxxxxx
                                                                                  pmov.  */
-                                                                              return 3388;
+                                                                              return 3397;
                                                                             }
                                                                           else
                                                                             {
@@ -19786,7 +19830,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                                  10987654321098765432109876543210
                                                                                  000001x1001x11x1001110xxxxxxxxxx
                                                                                  pmov.  */
-                                                                              return 3389;
+                                                                              return 3398;
                                                                             }
                                                                         }
                                                                       else
@@ -19795,7 +19839,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              000001x1011x1xx1001110xxxxxxxxxx
                                                                              pmov.  */
-                                                                          return 3390;
+                                                                          return 3399;
                                                                         }
                                                                     }
                                                                   else
@@ -19804,7 +19848,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000001x11x1x1xx1001110xxxxxxxxxx
                                                                          pmov.  */
-                                                                      return 3391;
+                                                                      return 3400;
                                                                     }
                                                                 }
                                                             }
@@ -19823,7 +19867,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x1x01xxxxx001001xxxxxxxxxx
                                                                  dupq.  */
-                                                              return 3375;
+                                                              return 3384;
                                                             }
                                                           else
                                                             {
@@ -19831,7 +19875,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  000001x1x11xxxxx001001xxxxxxxxxx
                                                                  extq.  */
-                                                              return 3379;
+                                                              return 3388;
                                                             }
                                                         }
                                                       else
@@ -19840,7 +19884,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              000001x1xx1xxxxx001101xxxxxxxxxx
                                                              tbxq.  */
-                                                          return 3378;
+                                                          return 3387;
                                                         }
                                                     }
                                                   else
@@ -20614,7 +20658,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      010001x1000xxxxx100110xxxxxxxxxx
                                                                      smmla.  */
-                                                                  return 3023;
+                                                                  return 3032;
                                                                 }
                                                               else
                                                                 {
@@ -20622,7 +20666,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      010001x1100xxxxx100110xxxxxxxxxx
                                                                      usmmla.  */
-                                                                  return 3025;
+                                                                  return 3034;
                                                                 }
                                                             }
                                                           else
@@ -20631,7 +20675,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  010001x1x10xxxxx100110xxxxxxxxxx
                                                                  ummla.  */
-                                                              return 3024;
+                                                              return 3033;
                                                             }
                                                         }
                                                     }
@@ -21443,7 +21487,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              010001x1xx1xxxxx101100xxxxxxxxxx
                                                              luti2.  */
-                                                          return 3469;
+                                                          return 3478;
                                                         }
                                                     }
                                                   else
@@ -21452,7 +21496,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          010001x1xx1xxxxx101x10xxxxxxxxxx
                                                          luti2.  */
-                                                      return 3470;
+                                                      return 3479;
                                                     }
                                                 }
                                               else
@@ -21465,7 +21509,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              010001x1xx1xxxxx101001xxxxxxxxxx
                                                              luti4.  */
-                                                          return 3471;
+                                                          return 3480;
                                                         }
                                                       else
                                                         {
@@ -21473,7 +21517,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              010001x1xx1xxxxx101101xxxxxxxxxx
                                                              luti4.  */
-                                                          return 3472;
+                                                          return 3481;
                                                         }
                                                     }
                                                   else
@@ -21482,7 +21526,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          010001x1xx1xxxxx101x11xxxxxxxxxx
                                                          luti4.  */
-                                                      return 3473;
+                                                      return 3482;
                                                     }
                                                 }
                                             }
@@ -22237,7 +22281,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x10x1xxxxx000xxxxxxxxxxxxx
                                                      ld1row.  */
-                                                  return 3033;
+                                                  return 3042;
                                                 }
                                               else
                                                 {
@@ -22245,7 +22289,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x11x1xxxxx000xxxxxxxxxxxxx
                                                      ld1rod.  */
-                                                  return 3034;
+                                                  return 3043;
                                                 }
                                             }
                                         }
@@ -22390,7 +22434,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x10x01xxxx001xxxxxxxxxxxxx
                                                          ld1w.  */
-                                                      return 3394;
+                                                      return 3403;
                                                     }
                                                   else
                                                     {
@@ -22398,7 +22442,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x11x01xxxx001xxxxxxxxxxxxx
                                                          ld1d.  */
-                                                      return 3392;
+                                                      return 3401;
                                                     }
                                                 }
                                             }
@@ -22455,7 +22499,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              011001x1xx001000001x00xxxxxxxxxx
                                                                              f1cvt.  */
-                                                                          return 3431;
+                                                                          return 3440;
                                                                         }
                                                                       else
                                                                         {
@@ -22463,7 +22507,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              011001x1xx001000001x10xxxxxxxxxx
                                                                              bf1cvt.  */
-                                                                          return 3427;
+                                                                          return 3436;
                                                                         }
                                                                     }
                                                                   else
@@ -22474,7 +22518,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              011001x1xx001000001x01xxxxxxxxxx
                                                                              f2cvt.  */
-                                                                          return 3432;
+                                                                          return 3441;
                                                                         }
                                                                       else
                                                                         {
@@ -22482,7 +22526,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                              10987654321098765432109876543210
                                                                              011001x1xx001000001x11xxxxxxxxxx
                                                                              bf2cvt.  */
-                                                                          return 3428;
+                                                                          return 3437;
                                                                         }
                                                                     }
                                                                 }
@@ -22527,7 +22571,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1xx0x1010001x00xxxxxxxxxx
                                                                          fcvtn.  */
-                                                                      return 3436;
+                                                                      return 3445;
                                                                     }
                                                                   else
                                                                     {
@@ -22535,7 +22579,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1xx0x1010001x10xxxxxxxxxx
                                                                          bfcvtn.  */
-                                                                      return 3435;
+                                                                      return 3444;
                                                                     }
                                                                 }
                                                               else
@@ -22546,7 +22590,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1xx0x1010001x01xxxxxxxxxx
                                                                          fcvtnb.  */
-                                                                      return 3437;
+                                                                      return 3446;
                                                                     }
                                                                   else
                                                                     {
@@ -22554,7 +22598,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1xx0x1010001x11xxxxxxxxxx
                                                                          fcvtnt.  */
-                                                                      return 3438;
+                                                                      return 3447;
                                                                     }
                                                                 }
                                                             }
@@ -22615,7 +22659,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1xx0x1001001x00xxxxxxxxxx
                                                                          f1cvtlt.  */
-                                                                      return 3433;
+                                                                      return 3442;
                                                                     }
                                                                   else
                                                                     {
@@ -22623,7 +22667,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1xx0x1001001x10xxxxxxxxxx
                                                                          bf1cvtlt.  */
-                                                                      return 3429;
+                                                                      return 3438;
                                                                     }
                                                                 }
                                                               else
@@ -22634,7 +22678,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1xx0x1001001x01xxxxxxxxxx
                                                                          f2cvtlt.  */
-                                                                      return 3434;
+                                                                      return 3443;
                                                                     }
                                                                   else
                                                                     {
@@ -22642,7 +22686,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x1xx0x1001001x11xxxxxxxxxx
                                                                          bf2cvtlt.  */
-                                                                      return 3430;
+                                                                      return 3439;
                                                                     }
                                                                 }
                                                             }
@@ -22773,7 +22817,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x10x1xxxxx001xxxxxxxxxxxxx
                                                      ld1row.  */
-                                                  return 3037;
+                                                  return 3046;
                                                 }
                                               else
                                                 {
@@ -22781,7 +22825,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x11x1xxxxx001xxxxxxxxxxxxx
                                                      ld1rod.  */
-                                                  return 3038;
+                                                  return 3047;
                                                 }
                                             }
                                         }
@@ -23466,7 +23510,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      111001x100xxxxxx010xxxxxxxxxxxxx
                                                      st1w.  */
-                                                  return 3399;
+                                                  return 3408;
                                                 }
                                               else
                                                 {
@@ -23495,7 +23539,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1110xxxxx010xxxxxxxxxxxxx
                                                          st1d.  */
-                                                      return 3397;
+                                                      return 3406;
                                                     }
                                                 }
                                               else
@@ -23678,7 +23722,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x10x0xxxxx100xxxxxxxxxxxxx
                                                      ld1w.  */
-                                                  return 3395;
+                                                  return 3404;
                                                 }
                                               else
                                                 {
@@ -23686,7 +23730,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x11x0xxxxx100xxxxxxxxxxxxx
                                                      ld1d.  */
-                                                  return 3393;
+                                                  return 3402;
                                                 }
                                             }
                                         }
@@ -24012,7 +24056,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x10x01xxxx111xxxxxxxxxxxxx
                                                          ld3q.  */
-                                                      return 3402;
+                                                      return 3411;
                                                     }
                                                   else
                                                     {
@@ -24020,7 +24064,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          101001x11x01xxxx111xxxxxxxxxxxxx
                                                          ld4q.  */
-                                                      return 3403;
+                                                      return 3412;
                                                     }
                                                 }
                                             }
@@ -24523,7 +24567,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          011001x110001x10101xxxxxxxxxxxxx
                                                                          bfcvt.  */
-                                                                      return 3054;
+                                                                      return 3063;
                                                                     }
                                                                 }
                                                               else
@@ -24914,7 +24958,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          111001x1x000xxxx111xxxxxxxxxxxxx
                                                          st1w.  */
-                                                      return 3398;
+                                                      return 3407;
                                                     }
                                                   else
                                                     {
@@ -24932,7 +24976,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              111001x11100xxxx111xxxxxxxxxxxxx
                                                              st1d.  */
-                                                          return 3396;
+                                                          return 3405;
                                                         }
                                                     }
                                                 }
@@ -25215,7 +25259,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x10x1xxxxx100xxxxxxxxxxxxx
                                                      ld3q.  */
-                                                  return 3405;
+                                                  return 3414;
                                                 }
                                               else
                                                 {
@@ -25223,7 +25267,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      101001x11x1xxxxx100xxxxxxxxxxxxx
                                                      ld4q.  */
-                                                  return 3406;
+                                                  return 3415;
                                                 }
                                             }
                                           else
@@ -25928,7 +25972,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                      10987654321098765432109876543210
                                      x1010100xxxxxxxxxxxxxxxxxxx1xxxx
                                      bc.c.  */
-                                  return 3190;
+                                  return 3199;
                                 }
                               else
                                 {
@@ -26573,7 +26617,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110100xxxxxx0000x1xxxxxxxxxx
                                                          cpyp.  */
-                                                      return 3118;
+                                                      return 3127;
                                                     }
                                                   else
                                                     {
@@ -26581,7 +26625,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110110xxxxxx0000x1xxxxxxxxxx
                                                          cpye.  */
-                                                      return 3120;
+                                                      return 3129;
                                                     }
                                                 }
                                               else
@@ -26592,7 +26636,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110100xxxxxx1000x1xxxxxxxxxx
                                                          cpyprn.  */
-                                                      return 3124;
+                                                      return 3133;
                                                     }
                                                   else
                                                     {
@@ -26600,7 +26644,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110110xxxxxx1000x1xxxxxxxxxx
                                                          cpyern.  */
-                                                      return 3126;
+                                                      return 3135;
                                                     }
                                                 }
                                             }
@@ -26614,7 +26658,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110100xxxxxx0100x1xxxxxxxxxx
                                                          cpypwn.  */
-                                                      return 3121;
+                                                      return 3130;
                                                     }
                                                   else
                                                     {
@@ -26622,7 +26666,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110110xxxxxx0100x1xxxxxxxxxx
                                                          cpyewn.  */
-                                                      return 3123;
+                                                      return 3132;
                                                     }
                                                 }
                                               else
@@ -26633,7 +26677,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110100xxxxxx1100x1xxxxxxxxxx
                                                          cpypn.  */
-                                                      return 3127;
+                                                      return 3136;
                                                     }
                                                   else
                                                     {
@@ -26641,7 +26685,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110110xxxxxx1100x1xxxxxxxxxx
                                                          cpyen.  */
-                                                      return 3129;
+                                                      return 3138;
                                                     }
                                                 }
                                             }
@@ -26658,7 +26702,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110100xxxxxx0010x1xxxxxxxxxx
                                                          cpyprt.  */
-                                                      return 3142;
+                                                      return 3151;
                                                     }
                                                   else
                                                     {
@@ -26666,7 +26710,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110110xxxxxx0010x1xxxxxxxxxx
                                                          cpyert.  */
-                                                      return 3144;
+                                                      return 3153;
                                                     }
                                                 }
                                               else
@@ -26677,7 +26721,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110100xxxxxx1010x1xxxxxxxxxx
                                                          cpyprtrn.  */
-                                                      return 3148;
+                                                      return 3157;
                                                     }
                                                   else
                                                     {
@@ -26685,7 +26729,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110110xxxxxx1010x1xxxxxxxxxx
                                                          cpyertrn.  */
-                                                      return 3150;
+                                                      return 3159;
                                                     }
                                                 }
                                             }
@@ -26699,7 +26743,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110100xxxxxx0110x1xxxxxxxxxx
                                                          cpyprtwn.  */
-                                                      return 3145;
+                                                      return 3154;
                                                     }
                                                   else
                                                     {
@@ -26707,7 +26751,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110110xxxxxx0110x1xxxxxxxxxx
                                                          cpyertwn.  */
-                                                      return 3147;
+                                                      return 3156;
                                                     }
                                                 }
                                               else
@@ -26718,7 +26762,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110100xxxxxx1110x1xxxxxxxxxx
                                                          cpyprtn.  */
-                                                      return 3151;
+                                                      return 3160;
                                                     }
                                                   else
                                                     {
@@ -26726,7 +26770,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110110xxxxxx1110x1xxxxxxxxxx
                                                          cpyertn.  */
-                                                      return 3153;
+                                                      return 3162;
                                                     }
                                                 }
                                             }
@@ -26746,7 +26790,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110100xxxxxx0001x1xxxxxxxxxx
                                                          cpypwt.  */
-                                                      return 3130;
+                                                      return 3139;
                                                     }
                                                   else
                                                     {
@@ -26754,7 +26798,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110110xxxxxx0001x1xxxxxxxxxx
                                                          cpyewt.  */
-                                                      return 3132;
+                                                      return 3141;
                                                     }
                                                 }
                                               else
@@ -26765,7 +26809,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110100xxxxxx1001x1xxxxxxxxxx
                                                          cpypwtrn.  */
-                                                      return 3136;
+                                                      return 3145;
                                                     }
                                                   else
                                                     {
@@ -26773,7 +26817,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110110xxxxxx1001x1xxxxxxxxxx
                                                          cpyewtrn.  */
-                                                      return 3138;
+                                                      return 3147;
                                                     }
                                                 }
                                             }
@@ -26787,7 +26831,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110100xxxxxx0101x1xxxxxxxxxx
                                                          cpypwtwn.  */
-                                                      return 3133;
+                                                      return 3142;
                                                     }
                                                   else
                                                     {
@@ -26795,7 +26839,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110110xxxxxx0101x1xxxxxxxxxx
                                                          cpyewtwn.  */
-                                                      return 3135;
+                                                      return 3144;
                                                     }
                                                 }
                                               else
@@ -26806,7 +26850,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110100xxxxxx1101x1xxxxxxxxxx
                                                          cpypwtn.  */
-                                                      return 3139;
+                                                      return 3148;
                                                     }
                                                   else
                                                     {
@@ -26814,7 +26858,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110110xxxxxx1101x1xxxxxxxxxx
                                                          cpyewtn.  */
-                                                      return 3141;
+                                                      return 3150;
                                                     }
                                                 }
                                             }
@@ -26831,7 +26875,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110100xxxxxx0011x1xxxxxxxxxx
                                                          cpypt.  */
-                                                      return 3154;
+                                                      return 3163;
                                                     }
                                                   else
                                                     {
@@ -26839,7 +26883,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110110xxxxxx0011x1xxxxxxxxxx
                                                          cpyet.  */
-                                                      return 3156;
+                                                      return 3165;
                                                     }
                                                 }
                                               else
@@ -26850,7 +26894,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110100xxxxxx1011x1xxxxxxxxxx
                                                          cpyptrn.  */
-                                                      return 3160;
+                                                      return 3169;
                                                     }
                                                   else
                                                     {
@@ -26858,7 +26902,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110110xxxxxx1011x1xxxxxxxxxx
                                                          cpyetrn.  */
-                                                      return 3162;
+                                                      return 3171;
                                                     }
                                                 }
                                             }
@@ -26872,7 +26916,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110100xxxxxx0111x1xxxxxxxxxx
                                                          cpyptwn.  */
-                                                      return 3157;
+                                                      return 3166;
                                                     }
                                                   else
                                                     {
@@ -26880,7 +26924,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110110xxxxxx0111x1xxxxxxxxxx
                                                          cpyetwn.  */
-                                                      return 3159;
+                                                      return 3168;
                                                     }
                                                 }
                                               else
@@ -26891,7 +26935,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110100xxxxxx1111x1xxxxxxxxxx
                                                          cpyptn.  */
-                                                      return 3163;
+                                                      return 3172;
                                                     }
                                                   else
                                                     {
@@ -26899,7 +26943,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110110xxxxxx1111x1xxxxxxxxxx
                                                          cpyetn.  */
-                                                      return 3165;
+                                                      return 3174;
                                                     }
                                                 }
                                             }
@@ -26944,7 +26988,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110101xxxxxx0000x1xxxxxxxxxx
                                                          cpym.  */
-                                                      return 3119;
+                                                      return 3128;
                                                     }
                                                   else
                                                     {
@@ -26952,7 +26996,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110111xxxxxx0000x1xxxxxxxxxx
                                                          setgp.  */
-                                                      return 3178;
+                                                      return 3187;
                                                     }
                                                 }
                                               else
@@ -26963,7 +27007,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110101xxxxxx1000x1xxxxxxxxxx
                                                          cpymrn.  */
-                                                      return 3125;
+                                                      return 3134;
                                                     }
                                                   else
                                                     {
@@ -26971,7 +27015,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110111xxxxxx1000x1xxxxxxxxxx
                                                          setge.  */
-                                                      return 3180;
+                                                      return 3189;
                                                     }
                                                 }
                                             }
@@ -26985,7 +27029,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110101xxxxxx0100x1xxxxxxxxxx
                                                          cpymwn.  */
-                                                      return 3122;
+                                                      return 3131;
                                                     }
                                                   else
                                                     {
@@ -26993,7 +27037,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110111xxxxxx0100x1xxxxxxxxxx
                                                          setgm.  */
-                                                      return 3179;
+                                                      return 3188;
                                                     }
                                                 }
                                               else
@@ -27002,7 +27046,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx011101x1xxxxxx1100x1xxxxxxxxxx
                                                      cpymn.  */
-                                                  return 3128;
+                                                  return 3137;
                                                 }
                                             }
                                         }
@@ -27018,7 +27062,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110101xxxxxx0010x1xxxxxxxxxx
                                                          cpymrt.  */
-                                                      return 3143;
+                                                      return 3152;
                                                     }
                                                   else
                                                     {
@@ -27026,7 +27070,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110111xxxxxx0010x1xxxxxxxxxx
                                                          setgpn.  */
-                                                      return 3184;
+                                                      return 3193;
                                                     }
                                                 }
                                               else
@@ -27037,7 +27081,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110101xxxxxx1010x1xxxxxxxxxx
                                                          cpymrtrn.  */
-                                                      return 3149;
+                                                      return 3158;
                                                     }
                                                   else
                                                     {
@@ -27045,7 +27089,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110111xxxxxx1010x1xxxxxxxxxx
                                                          setgen.  */
-                                                      return 3186;
+                                                      return 3195;
                                                     }
                                                 }
                                             }
@@ -27059,7 +27103,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110101xxxxxx0110x1xxxxxxxxxx
                                                          cpymrtwn.  */
-                                                      return 3146;
+                                                      return 3155;
                                                     }
                                                   else
                                                     {
@@ -27067,7 +27111,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110111xxxxxx0110x1xxxxxxxxxx
                                                          setgmn.  */
-                                                      return 3185;
+                                                      return 3194;
                                                     }
                                                 }
                                               else
@@ -27076,7 +27120,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx011101x1xxxxxx1110x1xxxxxxxxxx
                                                      cpymrtn.  */
-                                                  return 3152;
+                                                  return 3161;
                                                 }
                                             }
                                         }
@@ -27095,7 +27139,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110101xxxxxx0001x1xxxxxxxxxx
                                                          cpymwt.  */
-                                                      return 3131;
+                                                      return 3140;
                                                     }
                                                   else
                                                     {
@@ -27103,7 +27147,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110111xxxxxx0001x1xxxxxxxxxx
                                                          setgpt.  */
-                                                      return 3181;
+                                                      return 3190;
                                                     }
                                                 }
                                               else
@@ -27114,7 +27158,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110101xxxxxx1001x1xxxxxxxxxx
                                                          cpymwtrn.  */
-                                                      return 3137;
+                                                      return 3146;
                                                     }
                                                   else
                                                     {
@@ -27122,7 +27166,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110111xxxxxx1001x1xxxxxxxxxx
                                                          setget.  */
-                                                      return 3183;
+                                                      return 3192;
                                                     }
                                                 }
                                             }
@@ -27136,7 +27180,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110101xxxxxx0101x1xxxxxxxxxx
                                                          cpymwtwn.  */
-                                                      return 3134;
+                                                      return 3143;
                                                     }
                                                   else
                                                     {
@@ -27144,7 +27188,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110111xxxxxx0101x1xxxxxxxxxx
                                                          setgmt.  */
-                                                      return 3182;
+                                                      return 3191;
                                                     }
                                                 }
                                               else
@@ -27153,7 +27197,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx011101x1xxxxxx1101x1xxxxxxxxxx
                                                      cpymwtn.  */
-                                                  return 3140;
+                                                  return 3149;
                                                 }
                                             }
                                         }
@@ -27169,7 +27213,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110101xxxxxx0011x1xxxxxxxxxx
                                                          cpymt.  */
-                                                      return 3155;
+                                                      return 3164;
                                                     }
                                                   else
                                                     {
@@ -27177,7 +27221,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110111xxxxxx0011x1xxxxxxxxxx
                                                          setgptn.  */
-                                                      return 3187;
+                                                      return 3196;
                                                     }
                                                 }
                                               else
@@ -27188,7 +27232,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110101xxxxxx1011x1xxxxxxxxxx
                                                          cpymtrn.  */
-                                                      return 3161;
+                                                      return 3170;
                                                     }
                                                   else
                                                     {
@@ -27196,7 +27240,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110111xxxxxx1011x1xxxxxxxxxx
                                                          setgetn.  */
-                                                      return 3189;
+                                                      return 3198;
                                                     }
                                                 }
                                             }
@@ -27210,7 +27254,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110101xxxxxx0111x1xxxxxxxxxx
                                                          cpymtwn.  */
-                                                      return 3158;
+                                                      return 3167;
                                                     }
                                                   else
                                                     {
@@ -27218,7 +27262,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx01110111xxxxxx0111x1xxxxxxxxxx
                                                          setgmtn.  */
-                                                      return 3188;
+                                                      return 3197;
                                                     }
                                                 }
                                               else
@@ -27227,7 +27271,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx011101x1xxxxxx1111x1xxxxxxxxxx
                                                      cpymtn.  */
-                                                  return 3164;
+                                                  return 3173;
                                                 }
                                             }
                                         }
@@ -27288,7 +27332,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          0x001110100xxxxxxxx100xxxxxxxxxx
                                                          luti2.  */
-                                                      return 3465;
+                                                      return 3474;
                                                     }
                                                 }
                                             }
@@ -27302,7 +27346,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          0x001110010xxxxxxxx000xxxxxxxxxx
                                                          luti4.  */
-                                                      return 3467;
+                                                      return 3476;
                                                     }
                                                   else
                                                     {
@@ -27310,7 +27354,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          0x001110010xxxxxxxx100xxxxxxxxxx
                                                          luti4.  */
-                                                      return 3468;
+                                                      return 3477;
                                                     }
                                                 }
                                               else
@@ -27319,7 +27363,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      0x001110110xxxxxxxxx00xxxxxxxxxx
                                                      luti2.  */
-                                                  return 3466;
+                                                  return 3475;
                                                 }
                                             }
                                         }
@@ -27435,7 +27479,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  00001110x00xxxxxx10001xxxxxxxxxx
                                                                  fmlallbb.  */
-                                                              return 3489;
+                                                              return 3498;
                                                             }
                                                           else
                                                             {
@@ -27443,7 +27487,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  01001110x00xxxxxx10001xxxxxxxxxx
                                                                  fmlalltb.  */
-                                                              return 3491;
+                                                              return 3500;
                                                             }
                                                         }
                                                       else
@@ -27454,7 +27498,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  00001110x10xxxxxx10001xxxxxxxxxx
                                                                  fmlallbt.  */
-                                                              return 3490;
+                                                              return 3499;
                                                             }
                                                           else
                                                             {
@@ -27462,7 +27506,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  01001110x10xxxxxx10001xxxxxxxxxx
                                                                  fmlalltt.  */
-                                                              return 3492;
+                                                              return 3501;
                                                             }
                                                         }
                                                     }
@@ -27483,7 +27527,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          0x001110xx0xxxxx1x1001xxxxxxxxxx
                                                          smmla.  */
-                                                      return 3045;
+                                                      return 3054;
                                                     }
                                                 }
                                             }
@@ -27516,7 +27560,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          0x001110xx0xxxxx1x0101xxxxxxxxxx
                                                          sdot.  */
-                                                      return 2971;
+                                                      return 2980;
                                                     }
                                                 }
                                               else
@@ -27550,7 +27594,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  00001110x00xxxxxx11101xxxxxxxxxx
                                                                  fcvtn.  */
-                                                              return 3422;
+                                                              return 3431;
                                                             }
                                                           else
                                                             {
@@ -27558,7 +27602,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  01001110x00xxxxxx11101xxxxxxxxxx
                                                                  fcvtn2.  */
-                                                              return 3423;
+                                                              return 3432;
                                                             }
                                                         }
                                                       else
@@ -27567,7 +27611,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110x10xxxxxx11101xxxxxxxxxx
                                                              fcvtn.  */
-                                                          return 3424;
+                                                          return 3433;
                                                         }
                                                     }
                                                 }
@@ -27623,7 +27667,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          0x001110xx0xxxxx1x1011xxxxxxxxxx
                                                          usmmla.  */
-                                                      return 3047;
+                                                      return 3056;
                                                     }
                                                 }
                                             }
@@ -27667,7 +27711,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          0x001110xx0xxxxx1x0111xxxxxxxxxx
                                                          usdot.  */
-                                                      return 3048;
+                                                      return 3057;
                                                     }
                                                 }
                                               else
@@ -27710,7 +27754,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              0x001110x00xxxxxx11111xxxxxxxxxx
                                                              fdot.  */
-                                                          return 3481;
+                                                          return 3490;
                                                         }
                                                       else
                                                         {
@@ -27720,7 +27764,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  0x001110010xxxxxx11111xxxxxxxxxx
                                                                  fdot.  */
-                                                              return 3483;
+                                                              return 3492;
                                                             }
                                                           else
                                                             {
@@ -27730,7 +27774,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      00001110110xxxxxx11111xxxxxxxxxx
                                                                      fmlalb.  */
-                                                                  return 3485;
+                                                                  return 3494;
                                                                 }
                                                               else
                                                                 {
@@ -27738,7 +27782,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                      10987654321098765432109876543210
                                                                      01001110110xxxxxx11111xxxxxxxxxx
                                                                      fmlalt.  */
-                                                                  return 3486;
+                                                                  return 3495;
                                                                 }
                                                             }
                                                         }
@@ -27758,7 +27802,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1x001110000xxxxxxxxxxxxxxxxxxxxx
                                              eor3.  */
-                                          return 2978;
+                                          return 2987;
                                         }
                                       else
                                         {
@@ -27766,7 +27810,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1x001110100xxxxxxxxxxxxxxxxxxxxx
                                              xar.  */
-                                          return 2980;
+                                          return 2989;
                                         }
                                     }
                                   else
@@ -27777,7 +27821,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                              10987654321098765432109876543210
                                              1x001110x10xxxxx0xxxxxxxxxxxxxxx
                                              sm3ss1.  */
-                                          return 2982;
+                                          return 2991;
                                         }
                                       else
                                         {
@@ -27791,7 +27835,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          1x001110010xxxxx1xxx00xxxxxxxxxx
                                                          sm3tt1a.  */
-                                                      return 2983;
+                                                      return 2992;
                                                     }
                                                   else
                                                     {
@@ -27799,7 +27843,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          1x001110110xxxxx1xxx00xxxxxxxxxx
                                                          sha512su0.  */
-                                                      return 2976;
+                                                      return 2985;
                                                     }
                                                 }
                                               else
@@ -27808,7 +27852,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      1x001110x10xxxxx1xxx10xxxxxxxxxx
                                                      sm3tt2a.  */
-                                                  return 2985;
+                                                  return 2994;
                                                 }
                                             }
                                           else
@@ -27821,7 +27865,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          1x001110010xxxxx1xxx01xxxxxxxxxx
                                                          sm3tt1b.  */
-                                                      return 2984;
+                                                      return 2993;
                                                     }
                                                   else
                                                     {
@@ -27829,7 +27873,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          1x001110110xxxxx1xxx01xxxxxxxxxx
                                                          sm4e.  */
-                                                      return 2989;
+                                                      return 2998;
                                                     }
                                                 }
                                               else
@@ -27838,7 +27882,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      1x001110x10xxxxx1xxx11xxxxxxxxxx
                                                      sm3tt2b.  */
-                                                  return 2986;
+                                                  return 2995;
                                                 }
                                             }
                                         }
@@ -28012,7 +28056,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx101110110xxxxx0x1111xxxxxxxxxx
                                                              fscale.  */
-                                                          return 3425;
+                                                          return 3434;
                                                         }
                                                     }
                                                 }
@@ -28041,7 +28085,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx101110xx0xxxxx100101xxxxxxxxxx
                                                          udot.  */
-                                                      return 2970;
+                                                      return 2979;
                                                     }
                                                 }
                                               else
@@ -28072,7 +28116,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx101110xx0xxxxx101x01xxxxxxxxxx
                                                      ummla.  */
-                                                  return 3046;
+                                                  return 3055;
                                                 }
                                               else
                                                 {
@@ -28091,7 +28135,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      xx101110xx0xxxxx1x1011xxxxxxxxxx
                                                      bfmmla.  */
-                                                  return 3062;
+                                                  return 3071;
                                                 }
                                               else
                                                 {
@@ -28101,7 +28145,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx1011100x0xxxxx1x1111xxxxxxxxxx
                                                          bfdot.  */
-                                                      return 3060;
+                                                      return 3069;
                                                     }
                                                   else
                                                     {
@@ -28111,7 +28155,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x01011101x0xxxxx1x1111xxxxxxxxxx
                                                              bfmlalb.  */
-                                                          return 3067;
+                                                          return 3076;
                                                         }
                                                       else
                                                         {
@@ -28119,7 +28163,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x11011101x0xxxxx1x1111xxxxxxxxxx
                                                              bfmlalt.  */
-                                                          return 3066;
+                                                          return 3075;
                                                         }
                                                     }
                                                 }
@@ -28703,7 +28747,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          000011101x1xxxx1011010xxxxxxxxxx
                                                                          bfcvtn.  */
-                                                                      return 3063;
+                                                                      return 3072;
                                                                     }
                                                                   else
                                                                     {
@@ -28711,7 +28755,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          010011101x1xxxx1011010xxxxxxxxxx
                                                                          bfcvtn2.  */
-                                                                      return 3064;
+                                                                      return 3073;
                                                                     }
                                                                 }
                                                             }
@@ -29029,7 +29073,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                          10987654321098765432109876543210
                                          1x001110xx1xxxxx0xxxxxxxxxxxxxxx
                                          bcax.  */
-                                      return 2981;
+                                      return 2990;
                                     }
                                 }
                               else
@@ -29404,7 +29448,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x0101110001xxxx1011110xxxxxxxxxx
                                                                          f1cvtl.  */
-                                                                      return 3418;
+                                                                      return 3427;
                                                                     }
                                                                   else
                                                                     {
@@ -29412,7 +29456,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1101110001xxxx1011110xxxxxxxxxx
                                                                          f1cvtl2.  */
-                                                                      return 3419;
+                                                                      return 3428;
                                                                     }
                                                                 }
                                                               else
@@ -29423,7 +29467,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x0101110101xxxx1011110xxxxxxxxxx
                                                                          bf1cvtl.  */
-                                                                      return 3414;
+                                                                      return 3423;
                                                                     }
                                                                   else
                                                                     {
@@ -29431,7 +29475,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1101110101xxxx1011110xxxxxxxxxx
                                                                          bf1cvtl2.  */
-                                                                      return 3415;
+                                                                      return 3424;
                                                                     }
                                                                 }
                                                             }
@@ -29445,7 +29489,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x0101110011xxxx1011110xxxxxxxxxx
                                                                          f2cvtl.  */
-                                                                      return 3420;
+                                                                      return 3429;
                                                                     }
                                                                   else
                                                                     {
@@ -29453,7 +29497,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1101110011xxxx1011110xxxxxxxxxx
                                                                          f2cvtl2.  */
-                                                                      return 3421;
+                                                                      return 3430;
                                                                     }
                                                                 }
                                                               else
@@ -29464,7 +29508,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x0101110111xxxx1011110xxxxxxxxxx
                                                                          bf2cvtl.  */
-                                                                      return 3416;
+                                                                      return 3425;
                                                                     }
                                                                   else
                                                                     {
@@ -29472,7 +29516,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                          10987654321098765432109876543210
                                                                          x1101110111xxxx1011110xxxxxxxxxx
                                                                          bf2cvtl2.  */
-                                                                      return 3417;
+                                                                      return 3426;
                                                                     }
                                                                 }
                                                             }
@@ -29728,7 +29772,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  11001110xx1xxxxx100000xxxxxxxxxx
                                                                  sha512h.  */
-                                                              return 2974;
+                                                              return 2983;
                                                             }
                                                         }
                                                     }
@@ -29780,7 +29824,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  11001110xx1xxxxx110000xxxxxxxxxx
                                                                  sm3partw1.  */
-                                                              return 2987;
+                                                              return 2996;
                                                             }
                                                         }
                                                     }
@@ -30023,7 +30067,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              1x001110xx1xxxxx100010xxxxxxxxxx
                                                              sha512su1.  */
-                                                          return 2977;
+                                                          return 2986;
                                                         }
                                                     }
                                                   else
@@ -30099,7 +30143,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x0011100x1xxxxx110010xxxxxxxxxx
                                                                  sm4ekey.  */
-                                                              return 2990;
+                                                              return 2999;
                                                             }
                                                         }
                                                       else
@@ -30925,7 +30969,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              1x001110xx1xxxxx100001xxxxxxxxxx
                                                              sha512h2.  */
-                                                          return 2975;
+                                                          return 2984;
                                                         }
                                                     }
                                                   else
@@ -30957,7 +31001,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  1x0011100x1xxxxx110001xxxxxxxxxx
                                                                  sm3partw2.  */
-                                                              return 2988;
+                                                              return 2997;
                                                             }
                                                         }
                                                       else
@@ -31197,7 +31241,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              1x001110xx1xxxxx100011xxxxxxxxxx
                                                              rax1.  */
-                                                          return 2979;
+                                                          return 2988;
                                                         }
                                                     }
                                                   else
@@ -31229,7 +31273,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x01011100x1xxxxx110011xxxxxxxxxx
                                                                  fmlal2.  */
-                                                              return 2993;
+                                                              return 3002;
                                                             }
                                                           else
                                                             {
@@ -31237,7 +31281,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x11011100x1xxxxx110011xxxxxxxxxx
                                                                  fmlal2.  */
-                                                              return 2997;
+                                                              return 3006;
                                                             }
                                                         }
                                                     }
@@ -31259,7 +31303,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x01011101x1xxxxx110011xxxxxxxxxx
                                                                  fmlsl2.  */
-                                                              return 2994;
+                                                              return 3003;
                                                             }
                                                           else
                                                             {
@@ -31267,7 +31311,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x11011101x1xxxxx110011xxxxxxxxxx
                                                                  fmlsl2.  */
-                                                              return 2998;
+                                                              return 3007;
                                                             }
                                                         }
                                                     }
@@ -31306,7 +31350,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x00011100x1xxxxx111011xxxxxxxxxx
                                                                  fmlal.  */
-                                                              return 2991;
+                                                              return 3000;
                                                             }
                                                           else
                                                             {
@@ -31314,7 +31358,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x10011100x1xxxxx111011xxxxxxxxxx
                                                                  fmlal.  */
-                                                              return 2995;
+                                                              return 3004;
                                                             }
                                                         }
                                                       else
@@ -31336,7 +31380,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x00011101x1xxxxx111011xxxxxxxxxx
                                                                  fmlsl.  */
-                                                              return 2992;
+                                                              return 3001;
                                                             }
                                                           else
                                                             {
@@ -31344,7 +31388,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                                  10987654321098765432109876543210
                                                                  x10011101x1xxxxx111011xxxxxxxxxx
                                                                  fmlsl.  */
-                                                              return 2996;
+                                                              return 3005;
                                                             }
                                                         }
                                                       else
@@ -31471,7 +31515,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              xx1011101x1xxxxx111111xxxxxxxxxx
                                                              fscale.  */
-                                                          return 3426;
+                                                          return 3435;
                                                         }
                                                     }
                                                 }
@@ -33319,7 +33363,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx00111100xxxxxx0000x0xxxxxxxxxx
                                                          fdot.  */
-                                                      return 3482;
+                                                      return 3491;
                                                     }
                                                   else
                                                     {
@@ -33329,7 +33373,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x000111110xxxxxx0000x0xxxxxxxxxx
                                                              fmlal.  */
-                                                          return 2999;
+                                                          return 3008;
                                                         }
                                                       else
                                                         {
@@ -33337,7 +33381,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x100111110xxxxxx0000x0xxxxxxxxxx
                                                              fmlal.  */
-                                                          return 3003;
+                                                          return 3012;
                                                         }
                                                     }
                                                 }
@@ -33349,7 +33393,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx00111101xxxxxx0000x0xxxxxxxxxx
                                                          fdot.  */
-                                                      return 3484;
+                                                      return 3493;
                                                     }
                                                   else
                                                     {
@@ -33359,7 +33403,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x000111111xxxxxx0000x0xxxxxxxxxx
                                                              fmlalb.  */
-                                                          return 3487;
+                                                          return 3496;
                                                         }
                                                       else
                                                         {
@@ -33367,7 +33411,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x100111111xxxxxx0000x0xxxxxxxxxx
                                                              fmlalt.  */
-                                                          return 3488;
+                                                          return 3497;
                                                         }
                                                     }
                                                 }
@@ -33391,7 +33435,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0001111xxxxxxxx0100x0xxxxxxxxxx
                                                      fmlsl.  */
-                                                  return 3000;
+                                                  return 3009;
                                                 }
                                               else
                                                 {
@@ -33399,7 +33443,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1001111xxxxxxxx0100x0xxxxxxxxxx
                                                      fmlsl.  */
-                                                  return 3004;
+                                                  return 3013;
                                                 }
                                             }
                                           else
@@ -33909,7 +33953,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x010111100xxxxxx1000x0xxxxxxxxxx
                                                              fmlallbb.  */
-                                                          return 3493;
+                                                          return 3502;
                                                         }
                                                       else
                                                         {
@@ -33917,7 +33961,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x110111100xxxxxx1000x0xxxxxxxxxx
                                                              fmlalltb.  */
-                                                          return 3495;
+                                                          return 3504;
                                                         }
                                                     }
                                                   else
@@ -33928,7 +33972,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x010111110xxxxxx1000x0xxxxxxxxxx
                                                              fmlal2.  */
-                                                          return 3001;
+                                                          return 3010;
                                                         }
                                                       else
                                                         {
@@ -33936,7 +33980,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x110111110xxxxxx1000x0xxxxxxxxxx
                                                              fmlal2.  */
-                                                          return 3005;
+                                                          return 3014;
                                                         }
                                                     }
                                                 }
@@ -33948,7 +33992,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x0101111x1xxxxxx1000x0xxxxxxxxxx
                                                          fmlallbt.  */
-                                                      return 3494;
+                                                      return 3503;
                                                     }
                                                   else
                                                     {
@@ -33956,7 +34000,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          x1101111x1xxxxxx1000x0xxxxxxxxxx
                                                          fmlalltt.  */
-                                                      return 3496;
+                                                      return 3505;
                                                     }
                                                 }
                                             }
@@ -33979,7 +34023,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x0101111xxxxxxxx1100x0xxxxxxxxxx
                                                      fmlsl2.  */
-                                                  return 3002;
+                                                  return 3011;
                                                 }
                                               else
                                                 {
@@ -33987,7 +34031,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                      10987654321098765432109876543210
                                                      x1101111xxxxxxxx1100x0xxxxxxxxxx
                                                      fmlsl2.  */
-                                                  return 3006;
+                                                  return 3015;
                                                 }
                                             }
                                         }
@@ -34043,7 +34087,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx001111xxxxxxxx1110x0xxxxxxxxxx
                                                  sdot.  */
-                                              return 2973;
+                                              return 2982;
                                             }
                                           else
                                             {
@@ -34051,7 +34095,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                  10987654321098765432109876543210
                                                  xx101111xxxxxxxx1110x0xxxxxxxxxx
                                                  udot.  */
-                                              return 2972;
+                                              return 2981;
                                             }
                                         }
                                     }
@@ -34154,7 +34198,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx00111100xxxxxx1111x0xxxxxxxxxx
                                                          sudot.  */
-                                                      return 3050;
+                                                      return 3059;
                                                     }
                                                   else
                                                     {
@@ -34162,7 +34206,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx00111110xxxxxx1111x0xxxxxxxxxx
                                                          usdot.  */
-                                                      return 3049;
+                                                      return 3058;
                                                     }
                                                 }
                                               else
@@ -34173,7 +34217,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                          10987654321098765432109876543210
                                                          xx00111101xxxxxx1111x0xxxxxxxxxx
                                                          bfdot.  */
-                                                      return 3061;
+                                                      return 3070;
                                                     }
                                                   else
                                                     {
@@ -34183,7 +34227,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x000111111xxxxxx1111x0xxxxxxxxxx
                                                              bfmlalb.  */
-                                                          return 3069;
+                                                          return 3078;
                                                         }
                                                       else
                                                         {
@@ -34191,7 +34235,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
                                                              10987654321098765432109876543210
                                                              x100111111xxxxxx1111x0xxxxxxxxxx
                                                              bfmlalt.  */
-                                                          return 3068;
+                                                          return 3077;
                                                         }
                                                     }
                                                 }
@@ -34678,48 +34722,56 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode)
   int value;
   switch (key)
     {
-    case 2518: value = 3300; break;    /* fclamp --> bfclamp.  */
-    case 3300: return NULL;            /* bfclamp --> NULL.  */
-    case 2519: value = 3301; break;    /* fclamp --> bfclamp.  */
-    case 3301: return NULL;            /* bfclamp --> NULL.  */
-    case 2532: value = 3284; break;    /* fmax --> bfmax.  */
-    case 3284: return NULL;            /* bfmax --> NULL.  */
-    case 2536: value = 3288; break;    /* fmaxnm --> bfmaxnm.  */
-    case 3288: return NULL;            /* bfmaxnm --> NULL.  */
-    case 2540: value = 3292; break;    /* fmin --> bfmin.  */
-    case 3292: return NULL;            /* bfmin --> NULL.  */
-    case 2544: value = 3296; break;    /* fminnm --> bfminnm.  */
-    case 3296: return NULL;            /* bfminnm --> NULL.  */
-    case 2534: value = 3286; break;    /* fmax --> bfmax.  */
-    case 3286: return NULL;            /* bfmax --> NULL.  */
-    case 2538: value = 3290; break;    /* fmaxnm --> bfmaxnm.  */
-    case 3290: return NULL;            /* bfmaxnm --> NULL.  */
-    case 2542: value = 3294; break;    /* fmin --> bfmin.  */
-    case 3294: return NULL;            /* bfmin --> NULL.  */
-    case 2546: value = 3298; break;    /* fminnm --> bfminnm.  */
-    case 3298: return NULL;            /* bfminnm --> NULL.  */
-    case 2533: value = 3285; break;    /* fmax --> bfmax.  */
-    case 3285: return NULL;            /* bfmax --> NULL.  */
-    case 2535: value = 3287; break;    /* fmax --> bfmax.  */
-    case 3287: return NULL;            /* bfmax --> NULL.  */
-    case 2537: value = 3289; break;    /* fmaxnm --> bfmaxnm.  */
-    case 3289: return NULL;            /* bfmaxnm --> NULL.  */
-    case 2539: value = 3291; break;    /* fmaxnm --> bfmaxnm.  */
-    case 3291: return NULL;            /* bfmaxnm --> NULL.  */
-    case 2541: value = 3293; break;    /* fmin --> bfmin.  */
-    case 3293: return NULL;            /* bfmin --> NULL.  */
-    case 2543: value = 3295; break;    /* fmin --> bfmin.  */
-    case 3295: return NULL;            /* bfmin --> NULL.  */
-    case 2545: value = 3297; break;    /* fminnm --> bfminnm.  */
-    case 3297: return NULL;            /* bfminnm --> NULL.  */
-    case 2547: value = 3299; break;    /* fminnm --> bfminnm.  */
-    case 3299: return NULL;            /* bfminnm --> NULL.  */
+    case 2518: value = 3309; break;    /* fclamp --> bfclamp.  */
+    case 3309: return NULL;            /* bfclamp --> NULL.  */
+    case 2519: value = 3310; break;    /* fclamp --> bfclamp.  */
+    case 3310: return NULL;            /* bfclamp --> NULL.  */
+    case 2532: value = 3293; break;    /* fmax --> bfmax.  */
+    case 3293: return NULL;            /* bfmax --> NULL.  */
+    case 2971: value = 3460; break;    /* bfscale --> fscale.  */
+    case 3460: return NULL;            /* fscale --> NULL.  */
+    case 2536: value = 3297; break;    /* fmaxnm --> bfmaxnm.  */
+    case 3297: return NULL;            /* bfmaxnm --> NULL.  */
+    case 2540: value = 3301; break;    /* fmin --> bfmin.  */
+    case 3301: return NULL;            /* bfmin --> NULL.  */
+    case 2544: value = 3305; break;    /* fminnm --> bfminnm.  */
+    case 3305: return NULL;            /* bfminnm --> NULL.  */
+    case 2534: value = 3295; break;    /* fmax --> bfmax.  */
+    case 3295: return NULL;            /* bfmax --> NULL.  */
+    case 2973: value = 3462; break;    /* bfscale --> fscale.  */
+    case 3462: return NULL;            /* fscale --> NULL.  */
+    case 2538: value = 3299; break;    /* fmaxnm --> bfmaxnm.  */
+    case 3299: return NULL;            /* bfmaxnm --> NULL.  */
+    case 2542: value = 3303; break;    /* fmin --> bfmin.  */
+    case 3303: return NULL;            /* bfmin --> NULL.  */
+    case 2546: value = 3307; break;    /* fminnm --> bfminnm.  */
+    case 3307: return NULL;            /* bfminnm --> NULL.  */
+    case 2533: value = 3294; break;    /* fmax --> bfmax.  */
+    case 3294: return NULL;            /* bfmax --> NULL.  */
+    case 2972: value = 3461; break;    /* bfscale --> fscale.  */
+    case 3461: return NULL;            /* fscale --> NULL.  */
+    case 2535: value = 3296; break;    /* fmax --> bfmax.  */
+    case 3296: return NULL;            /* bfmax --> NULL.  */
+    case 2974: value = 3463; break;    /* bfscale --> fscale.  */
+    case 3463: return NULL;            /* fscale --> NULL.  */
+    case 2537: value = 3298; break;    /* fmaxnm --> bfmaxnm.  */
+    case 3298: return NULL;            /* bfmaxnm --> NULL.  */
+    case 2539: value = 3300; break;    /* fmaxnm --> bfmaxnm.  */
+    case 3300: return NULL;            /* bfmaxnm --> NULL.  */
+    case 2541: value = 3302; break;    /* fmin --> bfmin.  */
+    case 3302: return NULL;            /* bfmin --> NULL.  */
+    case 2543: value = 3304; break;    /* fmin --> bfmin.  */
+    case 3304: return NULL;            /* bfmin --> NULL.  */
+    case 2545: value = 3306; break;    /* fminnm --> bfminnm.  */
+    case 3306: return NULL;            /* bfminnm --> NULL.  */
+    case 2547: value = 3308; break;    /* fminnm --> bfminnm.  */
+    case 3308: return NULL;            /* bfminnm --> NULL.  */
     case 12: value = 19; break;        /* add --> addg.  */
-    case 19: value = 3191; break;      /* addg --> smax.  */
-    case 3191: value = 3192; break;    /* smax --> umax.  */
-    case 3192: value = 3193; break;    /* umax --> smin.  */
-    case 3193: value = 3194; break;    /* smin --> umin.  */
-    case 3194: return NULL;            /* umin --> NULL.  */
+    case 19: value = 3200; break;      /* addg --> smax.  */
+    case 3200: value = 3201; break;    /* smax --> umax.  */
+    case 3201: value = 3202; break;    /* umax --> smin.  */
+    case 3202: value = 3203; break;    /* smin --> umin.  */
+    case 3203: return NULL;            /* umin --> NULL.  */
     case 16: value = 20; break;        /* sub --> subg.  */
     case 20: return NULL;              /* subg --> NULL.  */
     case 983: value = 987; break;      /* stnp --> stp.  */
@@ -34730,32 +34782,34 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode)
     case 988: return NULL;             /* ldp --> NULL.  */
     case 924: value = 2454; break;     /* prfm --> rprfm.  */
     case 2454: return NULL;            /* rprfm --> NULL.  */
-    case 2461: value = 3277; break;    /* fclamp --> bfclamp.  */
-    case 3277: return NULL;            /* bfclamp --> NULL.  */
-    case 1457: value = 3280; break;    /* fadd --> bfadd.  */
-    case 3280: return NULL;            /* bfadd --> NULL.  */
-    case 1524: value = 3281; break;    /* fmul --> bfmul.  */
-    case 3281: return NULL;            /* bfmul --> NULL.  */
-    case 1550: value = 3282; break;    /* fsub --> bfsub.  */
-    case 3282: return NULL;            /* bfsub --> NULL.  */
-    case 1515: value = 3273; break;    /* fmla --> bfmla.  */
-    case 3273: return NULL;            /* bfmla --> NULL.  */
-    case 1519: value = 3274; break;    /* fmls --> bfmls.  */
-    case 3274: return NULL;            /* bfmls --> NULL.  */
-    case 1458: value = 3268; break;    /* fadd --> bfadd.  */
-    case 3268: return NULL;            /* bfadd --> NULL.  */
-    case 1505: value = 3270; break;    /* fmaxnm --> bfmaxnm.  */
-    case 3270: return NULL;            /* bfmaxnm --> NULL.  */
-    case 1525: value = 3275; break;    /* fmul --> bfmul.  */
-    case 3275: return NULL;            /* bfmul --> NULL.  */
-    case 1503: value = 3269; break;    /* fmax --> bfmax.  */
-    case 3269: return NULL;            /* bfmax --> NULL.  */
-    case 1551: value = 3276; break;    /* fsub --> bfsub.  */
-    case 3276: return NULL;            /* bfsub --> NULL.  */
-    case 1511: value = 3272; break;    /* fminnm --> bfminnm.  */
-    case 3272: return NULL;            /* bfminnm --> NULL.  */
-    case 1509: value = 3271; break;    /* fmin --> bfmin.  */
-    case 3271: return NULL;            /* bfmin --> NULL.  */
+    case 2461: value = 3286; break;    /* fclamp --> bfclamp.  */
+    case 3286: return NULL;            /* bfclamp --> NULL.  */
+    case 1457: value = 3289; break;    /* fadd --> bfadd.  */
+    case 3289: return NULL;            /* bfadd --> NULL.  */
+    case 1524: value = 3290; break;    /* fmul --> bfmul.  */
+    case 3290: return NULL;            /* bfmul --> NULL.  */
+    case 1550: value = 3291; break;    /* fsub --> bfsub.  */
+    case 3291: return NULL;            /* bfsub --> NULL.  */
+    case 1515: value = 3282; break;    /* fmla --> bfmla.  */
+    case 3282: return NULL;            /* bfmla --> NULL.  */
+    case 1519: value = 3283; break;    /* fmls --> bfmls.  */
+    case 3283: return NULL;            /* bfmls --> NULL.  */
+    case 1458: value = 3277; break;    /* fadd --> bfadd.  */
+    case 3277: return NULL;            /* bfadd --> NULL.  */
+    case 1505: value = 3279; break;    /* fmaxnm --> bfmaxnm.  */
+    case 3279: return NULL;            /* bfmaxnm --> NULL.  */
+    case 1525: value = 3284; break;    /* fmul --> bfmul.  */
+    case 3284: return NULL;            /* bfmul --> NULL.  */
+    case 1503: value = 3278; break;    /* fmax --> bfmax.  */
+    case 3278: return NULL;            /* bfmax --> NULL.  */
+    case 1551: value = 3285; break;    /* fsub --> bfsub.  */
+    case 3285: return NULL;            /* bfsub --> NULL.  */
+    case 1511: value = 3281; break;    /* fminnm --> bfminnm.  */
+    case 3281: return NULL;            /* bfminnm --> NULL.  */
+    case 1509: value = 3280; break;    /* fmin --> bfmin.  */
+    case 3280: return NULL;            /* bfmin --> NULL.  */
+    case 1548: value = 2970; break;    /* fscale --> bfscale.  */
+    case 2970: return NULL;            /* bfscale --> NULL.  */
     case 823: value = 824; break;      /* xaflag --> axflag.  */
     case 824: value = 1236; break;     /* axflag --> tcommit.  */
     case 1236: value = 1239; break;    /* tcommit --> smstart.  */
@@ -34873,8 +34927,8 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode)
     case 836: return NULL;             /* fsqrt --> NULL.  */
     case 844: value = 845; break;      /* frintz --> frintz.  */
     case 845: return NULL;             /* frintz --> NULL.  */
-    case 837: value = 3065; break;     /* fcvt --> bfcvt.  */
-    case 3065: return NULL;            /* bfcvt --> NULL.  */
+    case 837: value = 3074; break;     /* fcvt --> bfcvt.  */
+    case 3074: return NULL;            /* bfcvt --> NULL.  */
     case 846: value = 847; break;      /* frinta --> frinta.  */
     case 847: return NULL;             /* frinta --> NULL.  */
     case 848: value = 849; break;      /* frintx --> frintx.  */
@@ -35086,10 +35140,10 @@ aarch64_find_alias_opcode (const aarch64_opcode *opcode)
     case 1148: value = 1197; break;    /* lduminl --> stuminl.  */
     case 1228: value = 1229; break;    /* movn --> mov.  */
     case 1230: value = 1231; break;    /* movz --> mov.  */
-    case 1245: value = 3202; break;    /* hint --> clrbhb.  */
+    case 1245: value = 3211; break;    /* hint --> clrbhb.  */
     case 1265: value = 1269; break;    /* dsb --> pssbb.  */
     case 1266: value = 1266; break;    /* dsb --> dsb.  */
-    case 1284: value = 3203; break;    /* sys --> trcit.  */
+    case 1284: value = 3212; break;    /* sys --> trcit.  */
     case 1285: value = 1290; break;    /* sysp --> tlbip.  */
     case 1291: value = 1291; break;    /* wfet --> wfet.  */
     case 1292: value = 1292; break;    /* wfit --> wfit.  */
@@ -35261,7 +35315,7 @@ aarch64_find_next_alias_opcode (const aarch64_opcode *opcode)
     case 1197: value = 1148; break;    /* stuminl --> lduminl.  */
     case 1229: value = 1228; break;    /* mov --> movn.  */
     case 1231: value = 1230; break;    /* mov --> movz.  */
-    case 3202: value = 1311; break;    /* clrbhb --> autibsp.  */
+    case 3211: value = 1311; break;    /* clrbhb --> autibsp.  */
     case 1311: value = 1310; break;    /* autibsp --> autibz.  */
     case 1310: value = 1309; break;    /* autibz --> autiasp.  */
     case 1309: value = 1308; break;    /* autiasp --> autiaz.  */
@@ -35292,7 +35346,7 @@ aarch64_find_next_alias_opcode (const aarch64_opcode *opcode)
     case 1269: value = 1268; break;    /* pssbb --> ssbb.  */
     case 1268: value = 1267; break;    /* ssbb --> dfb.  */
     case 1267: value = 1265; break;    /* dfb --> dsb.  */
-    case 3203: value = 1297; break;    /* trcit --> brb.  */
+    case 3212: value = 1297; break;    /* trcit --> brb.  */
     case 1297: value = 1296; break;    /* brb --> cosp.  */
     case 1296: value = 1295; break;    /* cosp --> cpp.  */
     case 1295: value = 1294; break;    /* cpp --> dvp.  */
@@ -35421,21 +35475,22 @@ aarch64_extract_operand (const aarch64_operand *self,
     case 245:
     case 249:
     case 253:
-    case 261:
+    case 254:
     case 262:
     case 263:
-    case 270:
+    case 264:
     case 271:
     case 272:
     case 273:
-    case 307:
-    case 311:
+    case 274:
+    case 308:
+    case 312:
       return aarch64_ext_regno (self, info, code, inst, errors);
     case 6:
     case 119:
     case 120:
-    case 317:
-    case 320:
+    case 318:
+    case 321:
       return aarch64_ext_none (self, info, code, inst, errors);
     case 11:
       return aarch64_ext_regrt_sysins (self, info, code, inst, errors);
@@ -35455,7 +35510,7 @@ aarch64_extract_operand (const aarch64_operand *self,
     case 37:
     case 38:
     case 39:
-    case 322:
+    case 323:
       return aarch64_ext_reglane (self, info, code, inst, errors);
     case 40:
     case 41:
@@ -35463,9 +35518,8 @@ aarch64_extract_operand (const aarch64_operand *self,
     case 235:
     case 236:
     case 239:
-    case 274:
     case 275:
-    case 290:
+    case 276:
     case 291:
     case 292:
     case 293:
@@ -35482,12 +35536,13 @@ aarch64_extract_operand (const aarch64_operand *self,
     case 304:
     case 305:
     case 306:
-    case 308:
+    case 307:
     case 309:
     case 310:
-    case 312:
+    case 311:
     case 313:
     case 314:
+    case 315:
       return aarch64_ext_simple_index (self, info, code, inst, errors);
     case 43:
       return aarch64_ext_reglist (self, info, code, inst, errors);
@@ -35538,14 +35593,14 @@ aarch64_extract_operand (const aarch64_operand *self,
     case 214:
     case 215:
     case 216:
-    case 276:
-    case 315:
+    case 277:
     case 316:
-    case 318:
+    case 317:
     case 319:
-    case 321:
-    case 326:
+    case 320:
+    case 322:
     case 327:
+    case 328:
       return aarch64_ext_imm (self, info, code, inst, errors);
     case 52:
     case 53:
@@ -35700,7 +35755,7 @@ aarch64_extract_operand (const aarch64_operand *self,
     case 205:
     case 206:
     case 207:
-    case 289:
+    case 290:
       return aarch64_ext_sve_shrimm (self, info, code, inst, errors);
     case 221:
     case 222:
@@ -35727,53 +35782,53 @@ aarch64_extract_operand (const aarch64_operand *self,
       return aarch64_ext_sve_index (self, info, code, inst, errors);
     case 248:
     case 250:
-    case 269:
+    case 270:
       return aarch64_ext_sve_reglist (self, info, code, inst, errors);
     case 251:
     case 252:
-    case 254:
     case 255:
     case 256:
     case 257:
     case 258:
-    case 268:
-      return aarch64_ext_sve_aligned_reglist (self, info, code, inst, errors);
     case 259:
+    case 269:
+      return aarch64_ext_sve_aligned_reglist (self, info, code, inst, errors);
     case 260:
+    case 261:
       return aarch64_ext_sve_strided_reglist (self, info, code, inst, errors);
-    case 264:
-    case 266:
-    case 277:
-      return aarch64_ext_sme_za_hv_tiles (self, info, code, inst, errors);
     case 265:
     case 267:
-      return aarch64_ext_sme_za_hv_tiles_range (self, info, code, inst, errors);
     case 278:
+      return aarch64_ext_sme_za_hv_tiles (self, info, code, inst, errors);
+    case 266:
+    case 268:
+      return aarch64_ext_sme_za_hv_tiles_range (self, info, code, inst, errors);
     case 279:
     case 280:
     case 281:
     case 282:
     case 283:
     case 284:
-      return aarch64_ext_sme_za_array (self, info, code, inst, errors);
     case 285:
-      return aarch64_ext_sme_addr_ri_u4xvl (self, info, code, inst, errors);
+      return aarch64_ext_sme_za_array (self, info, code, inst, errors);
     case 286:
-      return aarch64_ext_sme_sm_za (self, info, code, inst, errors);
+      return aarch64_ext_sme_addr_ri_u4xvl (self, info, code, inst, errors);
     case 287:
-      return aarch64_ext_sme_pred_reg_with_index (self, info, code, inst, errors);
+      return aarch64_ext_sme_sm_za (self, info, code, inst, errors);
     case 288:
+      return aarch64_ext_sme_pred_reg_with_index (self, info, code, inst, errors);
+    case 289:
       return aarch64_ext_plain_shrimm (self, info, code, inst, errors);
-    case 323:
     case 324:
     case 325:
+    case 326:
       return aarch64_ext_x0_to_x30 (self, info, code, inst, errors);
-    case 328:
     case 329:
     case 330:
     case 331:
-      return aarch64_ext_rcpc3_addr_opt_offset (self, info, code, inst, errors);
     case 332:
+      return aarch64_ext_rcpc3_addr_opt_offset (self, info, code, inst, errors);
+    case 333:
       return aarch64_ext_rcpc3_addr_offset (self, info, code, inst, errors);
     default: assert (0); abort ();
     }
index 990c14be1de3bd17d16c4bd5f26135b7e2aa3f1f..b1524ae0573dbe72dccd80fb5d432a4c8ba492cf 100644 (file)
@@ -278,6 +278,7 @@ const struct aarch64_operand aarch64_operands[] =
   {AARCH64_OPND_CLASS_SVE_REGLIST, "SME_Zdnx2", 2 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SME_Zdn2}, "a list of SVE vector registers"},
   {AARCH64_OPND_CLASS_SVE_REGLIST, "SME_Zdnx4", 4 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SME_Zdn4}, "a list of SVE vector registers"},
   {AARCH64_OPND_CLASS_SVE_REG, "SME_Zm", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SME_Zm}, "an SVE vector register"},
+  {AARCH64_OPND_CLASS_SVE_REG, "SME_Zm_17", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SME_Zm2}, "an SVE vector register"},
   {AARCH64_OPND_CLASS_SVE_REGLIST, "SME_Zmx2", 2 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SME_Zm2}, "a list of SVE vector registers"},
   {AARCH64_OPND_CLASS_SVE_REGLIST, "SME_Zmx4", 4 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SME_Zm4}, "a list of SVE vector registers"},
   {AARCH64_OPND_CLASS_SVE_REGLIST, "SME_Znx2", 2 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SME_Zn2}, "a list of SVE vector registers"},
index 3bb93a99fff304fd579b16ff2d700df2abdebbad..e075214ea378a2c19a64077715dfad10877844e8 100644 (file)
@@ -1960,6 +1960,7 @@ operand_general_constraint_met_p (const aarch64_opnd_info *opnds, int idx,
          break;
 
        case AARCH64_OPND_SME_Zm:
+       case AARCH64_OPND_SME_Zm_17:
          if (opnd->reg.regno > 15)
            {
              set_invalid_regno_error (mismatch_detail, idx, "z", 0, 15);
@@ -4331,6 +4332,7 @@ aarch64_print_operand (char *buf, size_t size, bfd_vma pc,
     case AARCH64_OPND_SVE_Zn:
     case AARCH64_OPND_SVE_Zt:
     case AARCH64_OPND_SME_Zm:
+    case AARCH64_OPND_SME_Zm_17:
       if (opnd->qualifier == AARCH64_OPND_QLF_NIL)
        snprintf (buf, size, "%s", style_reg (styler, "z%d", opnd->reg.regno));
       else
index b88c2ca196cf548403cb95146e739decd8c13241..a683b37a81d90bd3fa0da8dc2e1543b997123cc8 100644 (file)
@@ -2853,6 +2853,10 @@ static const aarch64_feature_set aarch64_feature_fp8_sve2 =
   AARCH64_FEATURES (2, FP8, SVE2);
 static const aarch64_feature_set aarch64_feature_fp8_sme2 =
   AARCH64_FEATURES (2, FP8, SME2);
+static const aarch64_feature_set aarch64_feature_sve_bfscale =
+  AARCH64_FEATURES (2, SVE_BFSCALE, SVE2_SME2);
+static const aarch64_feature_set aarch64_feature_sve_bfscale_sme2 =
+  AARCH64_FEATURES (2, SVE_BFSCALE, SME2);
 static const aarch64_feature_set aarch64_feature_lut =
   AARCH64_FEATURE (LUT);
 static const aarch64_feature_set aarch64_feature_lut_sve2 =
@@ -2966,6 +2970,8 @@ static const aarch64_feature_set aarch64_feature_sve2p1_sme2p1 =
 #define FP8      &aarch64_feature_fp8
 #define FP8_SVE2   &aarch64_feature_fp8_sve2
 #define FP8_SME2   &aarch64_feature_fp8_sme2
+#define SVE_BFSCALE   &aarch64_feature_sve_bfscale
+#define SVE_BFSCALE_SME2   &aarch64_feature_sve_bfscale_sme2
 #define LUT &aarch64_feature_lut
 #define LUT_SVE2 &aarch64_feature_lut_sve2
 #define BRBE           &aarch64_feature_brbe
@@ -3118,6 +3124,10 @@ static const aarch64_feature_set aarch64_feature_sve2p1_sme2p1 =
 #define SVE2BITPERM_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
   { NAME, OPCODE, MASK, CLASS, OP, SVE2_BITPERM, OPS, QUALS, \
     FLAGS | F_STRICT, 0, TIED, NULL }
+#define SVE_BFSCALE_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS,TIED) \
+  { NAME, OPCODE, MASK, CLASS, 0, SVE_BFSCALE, OPS, QUALS, FLAGS, 0, TIED, NULL }
+#define SVE_BFSCALE_SME2_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS,TIED) \
+  { NAME, OPCODE, MASK, CLASS, 0, SVE_BFSCALE_SME2, OPS, QUALS, FLAGS, 0, TIED, NULL }
 #define BFLOAT16_SVE_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
   { NAME, OPCODE, MASK, CLASS, 0, BFLOAT16_SVE, OPS, QUALS, FLAGS, 0, 0, NULL }
 #define BFLOAT16_SVE_INSNC(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS, CONSTRAINTS, TIED) \
@@ -6392,6 +6402,17 @@ const struct aarch64_opcode aarch64_opcode_table[] =
   SME2_F64F64_INSN ("fmls", 0xc1d00010, 0xfff09838, sme_misc, 0, OP3 (SME_ZA_array_off3_0, SME_Znx2, SME_Zm_INDEX1), OP_SVE_DDD, F_OD (2), 0),
   SME2_F64F64_INSN ("fmls", 0xc1d08010, 0xfff09878, sme_misc, 0, OP3 (SME_ZA_array_off3_0, SME_Znx4, SME_Zm_INDEX1), OP_SVE_DDD, F_OD (4), 0),
 
+  /* SVE_BFSCALE instructions. */
+  SVE_BFSCALE_INSN ("bfscale", 0x65098000, 0xffffe000, sve_misc, OP4 (SVE_Zd, SVE_Pg3, SVE_Zd, SVE_Zm_5), OP_SVE_HMHH, 0, 2),
+  SVE_BFSCALE_SME2_INSN ("bfscale", 0xc120a180, 0xfff0ffe1, sme_misc, OP3 (SME_Zdnx2, SME_Zdnx2, SME_Zm), OP_SVE_VVV_H, 0, 1),
+  SVE_BFSCALE_SME2_INSN ("bfscale", 0xc120a980, 0xfff0ffe3, sme_misc, OP3 (SME_Zdnx4, SME_Zdnx4, SME_Zm), OP_SVE_VVV_H, 0, 1),
+  SVE_BFSCALE_SME2_INSN ("bfscale", 0xc120b180, 0xffe1ffe1, sme_misc, OP3 (SME_Zdnx2, SME_Zdnx2, SME_Zmx2), OP_SVE_VVV_H, 0, 1),
+  SVE_BFSCALE_SME2_INSN ("bfscale", 0xc120b980, 0xffe3ffe3, sme_misc, OP3 (SME_Zdnx4, SME_Zdnx4, SME_Zmx4), OP_SVE_VVV_H, 0, 1),
+  SVE_BFSCALE_SME2_INSN ("bfmul", 0xc120e800, 0xffe1fc21, sme_misc, OP3 (SME_Zdnx2, SME_Znx2, SME_Zm_17), OP_SVE_VVV_H, 0, 0),
+  SVE_BFSCALE_SME2_INSN ("bfmul", 0xc121e800, 0xffe1fc63, sme_misc, OP3 (SME_Zdnx4, SME_Znx4, SME_Zm_17), OP_SVE_VVV_H, 0, 0),
+  SVE_BFSCALE_SME2_INSN ("bfmul", 0xc120e400, 0xffe1fc21, sme_misc, OP3 (SME_Zdnx2, SME_Znx2, SME_Zmx2), OP_SVE_VVV_H, 0, 0),
+  SVE_BFSCALE_SME2_INSN ("bfmul", 0xc121e400, 0xffe3fc63, sme_misc, OP3 (SME_Zdnx4, SME_Znx4, SME_Zmx4), OP_SVE_VVV_H, 0, 0),
+
   /* SIMD Dot Product (optional in v8.2-A).  */
   DOT_INSN ("udot", 0x2e009400, 0xbf20fc00, dotproduct, OP3 (Vd, Vn, Vm), QL_V3DOT, F_SIZEQ),
   DOT_INSN ("sdot", 0x0e009400, 0xbf20fc00, dotproduct, OP3 (Vd, Vn, Vm), QL_V3DOT, F_SIZEQ),
@@ -7552,6 +7573,8 @@ const struct aarch64_opcode aarch64_opcode_table[] =
       F(FLD_SME_Zdn4), "a list of SVE vector registers")               \
     Y(SVE_REG, regno, "SME_Zm", 0, F(FLD_SME_Zm),                      \
       "an SVE vector register")                                                \
+    Y(SVE_REG, regno, "SME_Zm_17", 0, F(FLD_SME_Zm2),                  \
+      "an SVE vector register")                                                \
     Y(SVE_REGLIST, sve_aligned_reglist, "SME_Zmx2", 2 << OPD_F_OD_LSB, \
       F(FLD_SME_Zm2), "a list of SVE vector registers")                        \
     Y(SVE_REGLIST, sve_aligned_reglist, "SME_Zmx4", 4 << OPD_F_OD_LSB, \