From: Ezra Sitorus Date: Thu, 19 Jun 2025 09:40:43 +0000 (+0100) Subject: aarch64: Support for FEAT_SVE_BFSCALE X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3165109751f9478fdce8fee451a8842034b07762;p=thirdparty%2Fbinutils-gdb.git aarch64: Support for FEAT_SVE_BFSCALE 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. --- diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c index 0fd74aaa999..42a3115102d 100644 --- a/gas/config/tc-aarch64.c +++ b/gas/config/tc-aarch64.c @@ -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)}, }; diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi index 74ce717a746..1d5fac1adcd 100644 --- a/gas/doc/c-aarch64.texi +++ b/gas/doc/c-aarch64.texi @@ -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} diff --git a/gas/testsuite/gas/aarch64/sve-b16b16-sve2-bad-2.l b/gas/testsuite/gas/aarch64/sve-b16b16-sve2-bad-2.l index 83f00f55bd0..2ede0c95de7 100644 --- a/gas/testsuite/gas/aarch64/sve-b16b16-sve2-bad-2.l +++ b/gas/testsuite/gas/aarch64/sve-b16b16-sve2-bad-2.l @@ -237,8 +237,8 @@ .*: 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 index 00000000000..297fb30ad71 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sve-bfscale-bad.d @@ -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 index 00000000000..7cddb25c1f7 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sve-bfscale-bad.l @@ -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 index 00000000000..bcb8867aa66 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sve-bfscale-bad.s @@ -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 index 00000000000..ad6d365e288 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sve-bfscale-sme2-bad.d @@ -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 index 00000000000..79ae8514744 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sve-bfscale-sme2-bad.l @@ -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 index 00000000000..84b76477ffd --- /dev/null +++ b/gas/testsuite/gas/aarch64/sve-bfscale-sme2.d @@ -0,0 +1,66 @@ +#name: SVE_BFSCALE + SME2 instructions test +#as: -march=armv8-a+sve-bfscale+sme2 +#objdump: -dr + +.*: file format .* + + +Disassembly of section .*: + +.* : +.*: 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 + +.* : +.*: 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 + +.* : +.*: 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 + +.* : +.*: 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} + +.* : +.*: 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} + +.* : +.*: 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 + +.* : +.*: 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 + +.* : +.*: 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} + +.* : +.*: 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 index 00000000000..46bc6c649cb --- /dev/null +++ b/gas/testsuite/gas/aarch64/sve-bfscale-sme2.s @@ -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 index 00000000000..874dda04fe7 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sve-bfscale-sve2.d @@ -0,0 +1,18 @@ +#name: FEAT_SVE_BFSCALE instruction test +#as: -march=armv8-a+sve-bfscale+sve2 +#objdump: -dr + +.*: file format .* + + +Disassembly of section .*: + +.* : +.*: 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 index 00000000000..33155242a23 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sve-bfscale-sve2.s @@ -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 diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h index acae2c57dd0..3efd0b24db4 100644 --- a/include/opcode/aarch64.h +++ b/include/opcode/aarch64.h @@ -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. */ diff --git a/opcodes/aarch64-asm-2.c b/opcodes/aarch64-asm-2.c index 4c99b6aa431..222c4572355 100644 --- a/opcodes/aarch64-asm-2.c +++ b/opcodes/aarch64-asm-2.c @@ -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 (); } diff --git a/opcodes/aarch64-dis-2.c b/opcodes/aarch64-dis-2.c index a20fead95f7..c096dbc9725 100644 --- a/opcodes/aarch64-dis-2.c +++ b/opcodes/aarch64-dis-2.c @@ -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 (); } diff --git a/opcodes/aarch64-opc-2.c b/opcodes/aarch64-opc-2.c index 990c14be1de..b1524ae0573 100644 --- a/opcodes/aarch64-opc-2.c +++ b/opcodes/aarch64-opc-2.c @@ -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"}, diff --git a/opcodes/aarch64-opc.c b/opcodes/aarch64-opc.c index 3bb93a99fff..e075214ea37 100644 --- a/opcodes/aarch64-opc.c +++ b/opcodes/aarch64-opc.c @@ -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 diff --git a/opcodes/aarch64-tbl.h b/opcodes/aarch64-tbl.h index b88c2ca196c..a683b37a81d 100644 --- a/opcodes/aarch64-tbl.h +++ b/opcodes/aarch64-tbl.h @@ -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, \