aboutsummaryrefslogtreecommitdiff
path: root/opcodes
diff options
context:
space:
mode:
authorTamar Christina <tamar.christina@arm.com>2017-11-16 16:07:07 +0000
committerTamar Christina <tamar.christina@arm.com>2017-11-16 16:27:35 +0000
commite9dbdd80cb02ac66cf7d4cd1207ec11928db2c95 (patch)
treee38fe9608a2a11b3e469c08c01013c05ea2adbc0 /opcodes
parente849ea896bcdc3da8caff02eb6dc91dc85dd8a7e (diff)
downloadbinutils-e9dbdd80cb02ac66cf7d4cd1207ec11928db2c95.zip
binutils-e9dbdd80cb02ac66cf7d4cd1207ec11928db2c95.tar.gz
binutils-e9dbdd80cb02ac66cf7d4cd1207ec11928db2c95.tar.bz2
Add assembler and disassembler support for the new Armv8.4-a instructions for AArch64.
Some of these instructions have been back-ported as optional extensions to Armv8.2-a and higher, but others are only available for Armv8.4-a. opcodes/ * aarch64-tbl.h (sha512h, sha512h2, sha512su0, sha512su1, eor3): New. (rax1, xar, bcax, sm3ss1, sm3tt1a, sm3tt1b, sm3tt2a, sm3tt2b): New. (sm3partw1, sm3partw2, sm4e, sm4ekey, fmlal, fmlsl): New. (fmlal2, fmlsl2, cfinv, rmif, setf8, setf16, stlurb): New. (ldapurb, ldapursb, stlurh, ldapurh, ldapursh, stlur): New. (ldapur, ldapursw, stlur): New. * aarch64-dis-2.c: Regenerate. gas/ * testsuite/gas/aarch64/armv8_4-a-illegal.d: New. * testsuite/gas/aarch64/armv8_4-a-illegal.l: New. * testsuite/gas/aarch64/armv8_4-a-illegal.s: New. * testsuite/gas/aarch64/armv8_4-a.d: New. * testsuite/gas/aarch64/armv8_4-a.s: New. * testsuite/gas/aarch64/armv8_2-a-crypto-fp16.s: New. * testsuite/gas/aarch64/armv8_2-a-crypto-fp16.d: New. * testsuite/gas/aarch64/armv8_3-a-crypto-fp16.d: New. * testsuite/gas/aarch64/armv8_4-a-crypto-fp16.d: New. * testsuite/gas/aarch64/armv8_2-a-crypto-fp16-illegal.s: New. * testsuite/gas/aarch64/armv8_2-a-crypto-fp16-illegal.l: New. * testsuite/gas/aarch64/armv8_2-a-crypto-fp16-illegal.d: New.
Diffstat (limited to 'opcodes')
-rw-r--r--opcodes/ChangeLog10
-rw-r--r--opcodes/aarch64-dis-2.c6388
-rw-r--r--opcodes/aarch64-tbl.h61
3 files changed, 3534 insertions, 2925 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 6ea9c10..de2024b 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,13 @@
+2017-11-16 Tamar Christina <tamar.christina@arm.com>
+
+ * aarch64-tbl.h (sha512h, sha512h2, sha512su0, sha512su1, eor3): New.
+ (rax1, xar, bcax, sm3ss1, sm3tt1a, sm3tt1b, sm3tt2a, sm3tt2b): New.
+ (sm3partw1, sm3partw2, sm4e, sm4ekey, fmlal, fmlsl): New.
+ (fmlal2, fmlsl2, cfinv, rmif, setf8, setf16, stlurb): New.
+ (ldapurb, ldapursb, stlurh, ldapurh, ldapursh, stlur): New.
+ (ldapur, ldapursw, stlur): New.
+ * aarch64-dis-2.c: Regenerate.
+
2017-11-16 Jan Beulich <jbeulich@suse.com>
(get_valid_dis386): Never flag bad opcode when
diff --git a/opcodes/aarch64-dis-2.c b/opcodes/aarch64-dis-2.c
index 8e05892..224bb45 100644
--- a/opcodes/aarch64-dis-2.c
+++ b/opcodes/aarch64-dis-2.c
@@ -2330,103 +2330,246 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 22) & 0x1) == 0)
{
- if (((word >> 31) & 0x1) == 0)
+ if (((word >> 29) & 0x1) == 0)
{
if (((word >> 30) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- 00x1100100xxxxxxxxxxxxxxxxxxxxxx
- strb. */
- return 863;
+ if (((word >> 31) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0001100100xxxxxxxxxxxxxxxxxxxxxx
+ stlurb. */
+ return 2027;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 1001100100xxxxxxxxxxxxxxxxxxxxxx
+ stlur. */
+ return 2035;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- 01x1100100xxxxxxxxxxxxxxxxxxxxxx
- strh. */
- return 868;
+ if (((word >> 31) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0101100100xxxxxxxxxxxxxxxxxxxxxx
+ stlurh. */
+ return 2031;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 1101100100xxxxxxxxxxxxxxxxxxxxxx
+ stlur. */
+ return 2038;
+ }
}
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- 1xx1100100xxxxxxxxxxxxxxxxxxxxxx
- str. */
- return 871;
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0011100100xxxxxxxxxxxxxxxxxxxxxx
+ strb. */
+ return 863;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0111100100xxxxxxxxxxxxxxxxxxxxxx
+ strh. */
+ return 868;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 1x11100100xxxxxxxxxxxxxxxxxxxxxx
+ str. */
+ return 871;
+ }
}
}
else
{
- if (((word >> 31) & 0x1) == 0)
+ if (((word >> 29) & 0x1) == 0)
{
if (((word >> 30) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- 00x1100101xxxxxxxxxxxxxxxxxxxxxx
- ldrb. */
- return 864;
+ if (((word >> 31) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0001100101xxxxxxxxxxxxxxxxxxxxxx
+ ldapurb. */
+ return 2028;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 1001100101xxxxxxxxxxxxxxxxxxxxxx
+ ldapur. */
+ return 2036;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- 01x1100101xxxxxxxxxxxxxxxxxxxxxx
- ldrh. */
- return 869;
+ if (((word >> 31) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0101100101xxxxxxxxxxxxxxxxxxxxxx
+ ldapurh. */
+ return 2032;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 1101100101xxxxxxxxxxxxxxxxxxxxxx
+ ldapur. */
+ return 2039;
+ }
}
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- 1xx1100101xxxxxxxxxxxxxxxxxxxxxx
- ldr. */
- return 872;
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0011100101xxxxxxxxxxxxxxxxxxxxxx
+ ldrb. */
+ return 864;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0111100101xxxxxxxxxxxxxxxxxxxxxx
+ ldrh. */
+ return 869;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 1x11100101xxxxxxxxxxxxxxxxxxxxxx
+ ldr. */
+ return 872;
+ }
}
}
}
else
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 29) & 0x1) == 0)
{
- if (((word >> 31) & 0x1) == 0)
+ if (((word >> 22) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- 00x110011xxxxxxxxxxxxxxxxxxxxxxx
- ldrsb. */
- return 865;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0001100110xxxxxxxxxxxxxxxxxxxxxx
+ ldapursb. */
+ return 2030;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 1001100110xxxxxxxxxxxxxxxxxxxxxx
+ ldapursw. */
+ return 2037;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x101100110xxxxxxxxxxxxxxxxxxxxxx
+ ldapursh. */
+ return 2034;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- 10x110011xxxxxxxxxxxxxxxxxxxxxxx
- ldrsw. */
- return 873;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x001100111xxxxxxxxxxxxxxxxxxxxxx
+ ldapursb. */
+ return 2029;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x101100111xxxxxxxxxxxxxxxxxxxxxx
+ ldapursh. */
+ return 2033;
+ }
}
}
else
{
- if (((word >> 31) & 0x1) == 0)
+ if (((word >> 30) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- 01x110011xxxxxxxxxxxxxxxxxxxxxxx
- ldrsh. */
- return 870;
+ if (((word >> 31) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 001110011xxxxxxxxxxxxxxxxxxxxxxx
+ ldrsb. */
+ return 865;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 101110011xxxxxxxxxxxxxxxxxxxxxxx
+ ldrsw. */
+ return 873;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- 11x110011xxxxxxxxxxxxxxxxxxxxxxx
- prfm. */
- return 874;
+ if (((word >> 31) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 011110011xxxxxxxxxxxxxxxxxxxxxxx
+ ldrsh. */
+ return 870;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 111110011xxxxxxxxxxxxxxxxxxxxxxx
+ prfm. */
+ return 874;
+ }
}
}
}
@@ -2769,130 +2912,152 @@ aarch64_opcode_lookup_1 (uint32_t word)
}
else
{
- if (((word >> 23) & 0x1) == 0)
+ if (((word >> 22) & 0x1) == 0)
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x0x110100x0xxxxxxxxx10xxxxxxxxxx
- ccmn. */
- return 652;
+ xxx11010x00xxxxxx0xx10xxxxxxxxxx
+ setf8. */
+ return 2025;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x1x110100x0xxxxxxxxx10xxxxxxxxxx
- ccmp. */
- return 653;
+ xxx11010x00xxxxxx1xx10xxxxxxxxxx
+ setf16. */
+ return 2026;
}
}
else
{
- if (((word >> 12) & 0x1) == 0)
+ if (((word >> 23) & 0x1) == 0)
{
- if (((word >> 13) & 0x1) == 0)
+ if (((word >> 30) & 0x1) == 0)
{
- if (((word >> 14) & 0x1) == 0)
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0x11010010xxxxxxxxx10xxxxxxxxxx
+ ccmn. */
+ return 652;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1x11010010xxxxxxxxx10xxxxxxxxxx
+ ccmp. */
+ return 653;
+ }
+ }
+ else
+ {
+ if (((word >> 12) & 0x1) == 0)
+ {
+ if (((word >> 13) & 0x1) == 0)
{
- if (((word >> 30) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0x110101x0xxxxxx00010xxxxxxxxxx
- udiv. */
- return 705;
- }
- else
+ if (((word >> 14) & 0x1) == 0)
{
- if (((word >> 16) & 0x1) == 0)
+ if (((word >> 30) & 0x1) == 0)
{
- if (((word >> 31) & 0x1) == 0)
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0x11010110xxxxxx00010xxxxxxxxxx
+ udiv. */
+ return 705;
+ }
+ else
+ {
+ if (((word >> 16) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- 01x110101x0xxxx0x00010xxxxxxxxxx
- rev. */
- return 681;
+ if (((word >> 31) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 01x11010110xxxx0x00010xxxxxxxxxx
+ rev. */
+ return 681;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 11x11010110xxxx0x00010xxxxxxxxxx
+ rev32. */
+ return 686;
+ }
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- 11x110101x0xxxx0x00010xxxxxxxxxx
- rev32. */
- return 686;
+ x1x11010110xxxx1x00010xxxxxxxxxx
+ pacda. */
+ return 689;
}
}
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1x110101x0xxxx1x00010xxxxxxxxxx
- pacda. */
- return 689;
- }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11010110xxxxxx10010xxxxxxxxxx
+ crc32w. */
+ return 718;
}
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx110101x0xxxxxx10010xxxxxxxxxx
- crc32w. */
- return 718;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0x11010110xxxxxxx1010xxxxxxxxxx
+ asrv. */
+ return 711;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1x11010110xxxxxxx1010xxxxxxxxxx
+ pacdza. */
+ return 697;
+ }
}
}
else
{
- if (((word >> 30) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0x110101x0xxxxxxx1010xxxxxxxxxx
- asrv. */
- return 711;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1x110101x0xxxxxxx1010xxxxxxxxxx
- pacdza. */
- return 697;
- }
- }
- }
- else
- {
- if (((word >> 13) & 0x1) == 0)
- {
- if (((word >> 14) & 0x1) == 0)
+ if (((word >> 13) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx110101x0xxxxxx00110xxxxxxxxxx
- autda. */
- return 693;
+ if (((word >> 14) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11010110xxxxxx00110xxxxxxxxxx
+ autda. */
+ return 693;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11010110xxxxxx10110xxxxxxxxxx
+ crc32cw. */
+ return 722;
+ }
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx110101x0xxxxxx10110xxxxxxxxxx
- crc32cw. */
- return 722;
+ xxx11010110xxxxxxx1110xxxxxxxxxx
+ autdza. */
+ return 701;
}
}
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx110101x0xxxxxxx1110xxxxxxxxxx
- autdza. */
- return 701;
- }
}
}
}
@@ -2903,21 +3068,32 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 22) & 0x1) == 0)
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 23) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x0x11010x00xxxxxxxxx01xxxxxxxxxx
- csinc. */
- return 657;
+ xxx11010000xxxxxxxxx01xxxxxxxxxx
+ rmif. */
+ return 2024;
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1x11010x00xxxxxxxxx01xxxxxxxxxx
- csneg. */
- return 663;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0x11010100xxxxxxxxx01xxxxxxxxxx
+ csinc. */
+ return 657;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1x11010100xxxxxxxxx01xxxxxxxxxx
+ csneg. */
+ return 663;
+ }
}
}
else
@@ -12338,168 +12514,94 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 28) & 0x1) == 0)
{
- if (((word >> 10) & 0x1) == 0)
+ if (((word >> 29) & 0x1) == 0)
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 31) & 0x1) == 0)
{
- if (((word >> 11) & 0x1) == 0)
- {
- if (((word >> 12) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx0xxxxxxxx000xxxxxxxxxx
- tbl. */
- return 414;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx0xxxxxxxx100xxxxxxxxxx
- tbx. */
- return 415;
- }
- }
- else
+ if (((word >> 10) & 0x1) == 0)
{
- if (((word >> 12) & 0x1) == 0)
+ if (((word >> 11) & 0x1) == 0)
{
- if (((word >> 14) & 0x1) == 0)
+ if (((word >> 12) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx001110xx0xxxxxx0x010xxxxxxxxxx
- trn1. */
- return 257;
+ 0x001110xx0xxxxxxxx000xxxxxxxxxx
+ tbl. */
+ return 414;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx001110xx0xxxxxx1x010xxxxxxxxxx
- trn2. */
- return 260;
+ 0x001110xx0xxxxxxxx100xxxxxxxxxx
+ tbx. */
+ return 415;
}
}
else
{
- if (((word >> 13) & 0x1) == 0)
- {
- if (((word >> 14) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx0xxxxxx00110xxxxxxxxxx
- uzp1. */
- return 256;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx0xxxxxx10110xxxxxxxxxx
- uzp2. */
- return 259;
- }
- }
- else
+ if (((word >> 12) & 0x1) == 0)
{
if (((word >> 14) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx001110xx0xxxxxx01110xxxxxxxxxx
- zip1. */
- return 258;
+ 0x001110xx0xxxxxx0x010xxxxxxxxxx
+ trn1. */
+ return 257;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx001110xx0xxxxxx11110xxxxxxxxxx
- zip2. */
- return 261;
+ 0x001110xx0xxxxxx1x010xxxxxxxxxx
+ trn2. */
+ return 260;
}
}
- }
- }
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101110xx0xxxxxxxxxx0xxxxxxxxxx
- ext. */
- return 130;
- }
- }
- else
- {
- if (((word >> 15) & 0x1) == 0)
- {
- if (((word >> 22) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- if (((word >> 11) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110x00xxxxx0xxx01xxxxxxxxxx
- dup. */
- return 147;
- }
else
{
- if (((word >> 12) & 0x1) == 0)
+ if (((word >> 13) & 0x1) == 0)
{
- if (((word >> 13) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx001110x00xxxxx0x0011xxxxxxxxxx
- dup. */
- return 148;
+ 0x001110xx0xxxxxx00110xxxxxxxxxx
+ uzp1. */
+ return 256;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx001110x00xxxxx0x1011xxxxxxxxxx
- smov. */
- return 149;
+ 0x001110xx0xxxxxx10110xxxxxxxxxx
+ uzp2. */
+ return 259;
}
}
else
{
- if (((word >> 13) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx001110x00xxxxx0x0111xxxxxxxxxx
- ins. */
- return 152;
+ 0x001110xx0xxxxxx01110xxxxxxxxxx
+ zip1. */
+ return 258;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx001110x00xxxxx0x1111xxxxxxxxxx
- umov. */
- return 150;
+ 0x001110xx0xxxxxx11110xxxxxxxxxx
+ zip2. */
+ return 261;
}
}
}
}
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101110x00xxxxx0xxxx1xxxxxxxxxx
- ins. */
- return 154;
- }
}
else
{
@@ -12509,13 +12611,21 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 13) & 0x1) == 0)
{
- if (((word >> 23) & 0x1) == 0)
+ if (((word >> 22) & 0x1) == 0)
{
- if (((word >> 29) & 0x1) == 0)
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110x00xxxxxxx0001xxxxxxxxxx
+ dup. */
+ return 147;
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx001110010xxxxx0x0001xxxxxxxxxx
+ 0x001110010xxxxxxx0001xxxxxxxxxx
fmaxnm. */
return 286;
}
@@ -12523,135 +12633,366 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx101110010xxxxx0x0001xxxxxxxxxx
- fmaxnmp. */
- return 337;
+ 0x001110110xxxxxxx0001xxxxxxxxxx
+ fminnm. */
+ return 302;
}
}
- else
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110xx0xxxxxxx1001xxxxxxxxxx
+ fcmeq. */
+ return 294;
+ }
+ }
+ else
+ {
+ if (((word >> 13) & 0x1) == 0)
+ {
+ if (((word >> 15) & 0x1) == 0)
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 23) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx001110110xxxxx0x0001xxxxxxxxxx
- fminnm. */
- return 302;
+ 0x0011100x0xxxxx0x0101xxxxxxxxxx
+ fadd. */
+ return 290;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx101110110xxxxx0x0001xxxxxxxxxx
- fminnmp. */
- return 353;
+ 0x0011101x0xxxxx0x0101xxxxxxxxxx
+ fsub. */
+ return 306;
}
}
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110xx0xxxxx1x0101xxxxxxxxxx
+ sdot. */
+ return 1987;
+ }
}
else
{
if (((word >> 23) & 0x1) == 0)
{
- if (((word >> 29) & 0x1) == 0)
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x0011100x0xxxxxxx1101xxxxxxxxxx
+ fmax. */
+ return 296;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x0011101x0xxxxxxx1101xxxxxxxxxx
+ fmin. */
+ return 308;
+ }
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 12) & 0x1) == 0)
+ {
+ if (((word >> 13) & 0x1) == 0)
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110x00xxxxxxx0011xxxxxxxxxx
+ dup. */
+ return 148;
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx001110010xxxxx0x1001xxxxxxxxxx
- fcmeq. */
- return 294;
+ 0x001110010xxxxxxx0011xxxxxxxxxx
+ fmla. */
+ return 288;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx101110010xxxxx0x1001xxxxxxxxxx
- fcmge. */
- return 343;
+ 0x001110110xxxxxxx0011xxxxxxxxxx
+ fmls. */
+ return 304;
}
}
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110xx0xxxxxxx1011xxxxxxxxxx
+ smov. */
+ return 149;
+ }
+ }
+ else
+ {
+ if (((word >> 13) & 0x1) == 0)
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110x00xxxxxxx0111xxxxxxxxxx
+ ins. */
+ return 152;
+ }
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx01110110xxxxx0x1001xxxxxxxxxx
- fcmgt. */
- return 357;
+ 0x001110x10xxxxxxx0111xxxxxxxxxx
+ fmulx. */
+ return 292;
+ }
+ }
+ else
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110x00xxxxxxx1111xxxxxxxxxx
+ umov. */
+ return 150;
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110010xxxxxxx1111xxxxxxxxxx
+ frecps. */
+ return 298;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110110xxxxxxx1111xxxxxxxxxx
+ frsqrts. */
+ return 310;
+ }
}
}
}
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 1x001110000xxxxxxxxxxxxxxxxxxxxx
+ eor3. */
+ return 1994;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 1x001110100xxxxxxxxxxxxxxxxxxxxx
+ xar. */
+ return 1996;
+ }
+ }
+ else
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 1x001110x10xxxxx0xxxxxxxxxxxxxxx
+ sm3ss1. */
+ return 1998;
+ }
+ else
+ {
+ if (((word >> 10) & 0x1) == 0)
+ {
+ if (((word >> 11) & 0x1) == 0)
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 1x001110010xxxxx1xxx00xxxxxxxxxx
+ sm3tt1a. */
+ return 1999;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 1x001110110xxxxx1xxx00xxxxxxxxxx
+ sha512su0. */
+ return 1992;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 1x001110x10xxxxx1xxx10xxxxxxxxxx
+ sm3tt2a. */
+ return 2001;
+ }
+ }
else
{
- if (((word >> 13) & 0x1) == 0)
+ if (((word >> 11) & 0x1) == 0)
{
if (((word >> 23) & 0x1) == 0)
{
- if (((word >> 29) & 0x1) == 0)
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 1x001110010xxxxx1xxx01xxxxxxxxxx
+ sm3tt1b. */
+ return 2000;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 1x001110110xxxxx1xxx01xxxxxxxxxx
+ sm4e. */
+ return 2005;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 1x001110x10xxxxx1xxx11xxxxxxxxxx
+ sm3tt2b. */
+ return 2002;
+ }
+ }
+ }
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 10) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101110xx0xxxxxxxxxx0xxxxxxxxxx
+ ext. */
+ return 130;
+ }
+ else
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101110x00xxxxx0xxxx1xxxxxxxxxx
+ ins. */
+ return 154;
+ }
+ else
+ {
+ if (((word >> 11) & 0x1) == 0)
+ {
+ if (((word >> 12) & 0x1) == 0)
+ {
+ if (((word >> 13) & 0x1) == 0)
+ {
+ if (((word >> 23) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx001110010xxxxx0x0101xxxxxxxxxx
- fadd. */
- return 290;
+ xx101110010xxxxx0x0001xxxxxxxxxx
+ fmaxnmp. */
+ return 337;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx101110010xxxxx0x0101xxxxxxxxxx
- faddp. */
- return 339;
+ xx101110110xxxxx0x0001xxxxxxxxxx
+ fminnmp. */
+ return 353;
}
}
else
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 23) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx001110110xxxxx0x0101xxxxxxxxxx
- fsub. */
- return 306;
+ xx101110010xxxxx0x1001xxxxxxxxxx
+ fcmge. */
+ return 343;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx101110110xxxxx0x0101xxxxxxxxxx
- fabd. */
- return 355;
+ xx101110110xxxxx0x1001xxxxxxxxxx
+ fcmgt. */
+ return 357;
}
}
}
else
{
- if (((word >> 23) & 0x1) == 0)
+ if (((word >> 13) & 0x1) == 0)
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 23) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx001110010xxxxx0x1101xxxxxxxxxx
- fmax. */
- return 296;
+ xx101110010xxxxx0x0101xxxxxxxxxx
+ faddp. */
+ return 339;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx101110010xxxxx0x1101xxxxxxxxxx
- fmaxp. */
- return 347;
+ xx101110110xxxxx0x0101xxxxxxxxxx
+ fabd. */
+ return 355;
}
}
else
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 23) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx001110110xxxxx0x1101xxxxxxxxxx
- fmin. */
- return 308;
+ xx101110010xxxxx0x1101xxxxxxxxxx
+ fmaxp. */
+ return 347;
}
else
{
@@ -12664,37 +13005,15 @@ aarch64_opcode_lookup_1 (uint32_t word)
}
}
}
- }
- else
- {
- if (((word >> 12) & 0x1) == 0)
+ else
{
- if (((word >> 13) & 0x1) == 0)
- {
- if (((word >> 23) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx01110010xxxxx0x0011xxxxxxxxxx
- fmla. */
- return 288;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx01110110xxxxx0x0011xxxxxxxxxx
- fmls. */
- return 304;
- }
- }
- else
+ if (((word >> 12) & 0x1) == 0)
{
if (((word >> 23) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx01110010xxxxx0x1011xxxxxxxxxx
+ xx101110010xxxxx0xx011xxxxxxxxxx
facge. */
return 345;
}
@@ -12702,25 +13021,14 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx01110110xxxxx0x1011xxxxxxxxxx
+ xx101110110xxxxx0xx011xxxxxxxxxx
facgt. */
return 359;
}
}
- }
- else
- {
- if (((word >> 13) & 0x1) == 0)
+ else
{
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110x10xxxxx0x0111xxxxxxxxxx
- fmulx. */
- return 292;
- }
- else
+ if (((word >> 13) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
@@ -12728,66 +13036,33 @@ aarch64_opcode_lookup_1 (uint32_t word)
fmul. */
return 341;
}
- }
- else
- {
- if (((word >> 23) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110010xxxxx0x1111xxxxxxxxxx
- frecps. */
- return 298;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101110010xxxxx0x1111xxxxxxxxxx
- fdiv. */
- return 349;
- }
- }
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx01110110xxxxx0x1111xxxxxxxxxx
- frsqrts. */
- return 310;
+ xx101110x10xxxxx0x1111xxxxxxxxxx
+ fdiv. */
+ return 349;
}
}
}
}
}
- }
- else
- {
- if (((word >> 13) & 0x1) == 0)
+ else
{
- if (((word >> 14) & 0x1) == 0)
+ if (((word >> 13) & 0x1) == 0)
{
- if (((word >> 11) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
- if (((word >> 12) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx01110xx0xxxxx100001xxxxxxxxxx
- sqrdmlah. */
- return 364;
- }
- else
+ if (((word >> 11) & 0x1) == 0)
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 12) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx001110xx0xxxxx100101xxxxxxxxxx
- sdot. */
- return 1987;
+ xx101110xx0xxxxx100001xxxxxxxxxx
+ sqrdmlah. */
+ return 364;
}
else
{
@@ -12798,33 +13073,33 @@ aarch64_opcode_lookup_1 (uint32_t word)
return 1986;
}
}
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101110xx0xxxxx100x11xxxxxxxxxx
+ sqrdmlsh. */
+ return 365;
+ }
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx01110xx0xxxxx100x11xxxxxxxxxx
- sqrdmlsh. */
- return 365;
+ xx101110xx0xxxxx110xx1xxxxxxxxxx
+ fcmla. */
+ return 366;
}
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx01110xx0xxxxx110xx1xxxxxxxxxx
- fcmla. */
- return 366;
+ xx101110xx0xxxxx1x1xx1xxxxxxxxxx
+ fcadd. */
+ return 367;
}
}
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx01110xx0xxxxx1x1xx1xxxxxxxxxx
- fcadd. */
- return 367;
- }
}
}
}
@@ -13081,309 +13356,661 @@ aarch64_opcode_lookup_1 (uint32_t word)
}
else
{
- if (((word >> 10) & 0x1) == 0)
+ if (((word >> 28) & 0x1) == 0)
{
- if (((word >> 11) & 0x1) == 0)
+ if (((word >> 15) & 0x1) == 0)
{
- if (((word >> 12) & 0x1) == 0)
+ if (((word >> 29) & 0x1) == 0)
{
- if (((word >> 13) & 0x1) == 0)
+ if (((word >> 31) & 0x1) == 0)
{
- if (((word >> 14) & 0x1) == 0)
+ if (((word >> 10) & 0x1) == 0)
{
- if (((word >> 15) & 0x1) == 0)
+ if (((word >> 11) & 0x1) == 0)
{
- if (((word >> 28) & 0x1) == 0)
+ if (((word >> 12) & 0x1) == 0)
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 13) & 0x1) == 0)
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0001110xx1xxxxx000000xxxxxxxxxx
- saddl. */
- return 42;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 00001110xx1xxxxx000000xxxxxxxxxx
+ saddl. */
+ return 42;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 01001110xx1xxxxx000000xxxxxxxxxx
+ saddl2. */
+ return 43;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1001110xx1xxxxx000000xxxxxxxxxx
- saddl2. */
- return 43;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 00001110xx1xxxxx010000xxxxxxxxxx
+ addhn. */
+ return 50;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 01001110xx1xxxxx010000xxxxxxxxxx
+ addhn2. */
+ return 51;
+ }
}
}
else
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0101110xx1xxxxx000000xxxxxxxxxx
- uaddl. */
- return 74;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 00001110xx1xxxxx001000xxxxxxxxxx
+ ssubl. */
+ return 46;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 01001110xx1xxxxx001000xxxxxxxxxx
+ ssubl2. */
+ return 47;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1101110xx1xxxxx000000xxxxxxxxxx
- uaddl2. */
- return 75;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 00001110xx1xxxxx011000xxxxxxxxxx
+ subhn. */
+ return 54;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 01001110xx1xxxxx011000xxxxxxxxxx
+ subhn2. */
+ return 55;
+ }
}
}
}
else
{
- if (((word >> 16) & 0x1) == 0)
+ if (((word >> 13) & 0x1) == 0)
{
- if (((word >> 17) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
- if (((word >> 18) & 0x1) == 0)
+ if (((word >> 30) & 0x1) == 0)
{
- if (((word >> 19) & 0x1) == 0)
- {
- if (((word >> 20) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx11110xx100000000000xxxxxxxxxx
- fcvtns. */
- return 756;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx11110xx110000000000xxxxxxxxxx
- fcvtms. */
- return 776;
- }
- }
- else
- {
- if (((word >> 20) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx11110xx101000000000xxxxxxxxxx
- fcvtps. */
- return 772;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx11110xx111000000000xxxxxxxxxx
- fcvtzs. */
- return 780;
- }
- }
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 00001110xx1xxxxx000100xxxxxxxxxx
+ saddw. */
+ return 44;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx11110xx1xx100000000xxxxxxxxxx
- fcvtas. */
- return 764;
+ 01001110xx1xxxxx000100xxxxxxxxxx
+ saddw2. */
+ return 45;
}
}
else
{
- if (((word >> 18) & 0x1) == 0)
+ if (((word >> 30) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx11110xx1xx010000000xxxxxxxxxx
- scvtf. */
- return 760;
+ 00001110xx1xxxxx010100xxxxxxxxxx
+ sabal. */
+ return 52;
}
else
{
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 01001110xx1xxxxx010100xxxxxxxxxx
+ sabal2. */
+ return 53;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 14) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 00001110xx1xxxxx001100xxxxxxxxxx
+ ssubw. */
+ return 48;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 01001110xx1xxxxx001100xxxxxxxxxx
+ ssubw2. */
+ return 49;
+ }
+ }
+ else
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 00001110xx1xxxxx011100xxxxxxxxxx
+ sabdl. */
+ return 56;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 01001110xx1xxxxx011100xxxxxxxxxx
+ sabdl2. */
+ return 57;
+ }
+ }
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 12) & 0x1) == 0)
+ {
+ if (((word >> 13) & 0x1) == 0)
+ {
+ if (((word >> 14) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110xx1xxxxx000010xxxxxxxxxx
+ rev64. */
+ return 156;
+ }
+ else
+ {
+ if (((word >> 16) & 0x1) == 0)
+ {
if (((word >> 19) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx11110xx1x0110000000xxxxxxxxxx
- fmov. */
- return 768;
+ 0x001110xx1x0xx0010010xxxxxxxxxx
+ cls. */
+ return 160;
}
else
{
- if (((word >> 20) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx11110xx101110000000xxxxxxxxxx
- fmov. */
- return 784;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx11110xx111110000000xxxxxxxxxx
- fjcvtzs. */
- return 786;
- }
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110xx1x1xx0010010xxxxxxxxxx
+ aese. */
+ return 665;
+ }
+ }
+ else
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 00001110xx1xxxx1010010xxxxxxxxxx
+ sqxtn. */
+ return 170;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 01001110xx1xxxx1010010xxxxxxxxxx
+ sqxtn2. */
+ return 171;
}
}
}
}
else
{
- if (((word >> 17) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
- if (((word >> 18) & 0x1) == 0)
+ if (((word >> 16) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110xx1xxxx0001010xxxxxxxxxx
+ saddlp. */
+ return 158;
+ }
+ else
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 00001110xx1xxxx1001010xxxxxxxxxx
+ xtn. */
+ return 168;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 01001110xx1xxxx1001010xxxxxxxxxx
+ xtn2. */
+ return 169;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 16) & 0x1) == 0)
{
if (((word >> 19) & 0x1) == 0)
{
- if (((word >> 20) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx11110xx100001000000xxxxxxxxxx
- fcvtnu. */
- return 758;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx11110xx110001000000xxxxxxxxxx
- fcvtmu. */
- return 778;
- }
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110xx1x0xx0011010xxxxxxxxxx
+ sadalp. */
+ return 162;
}
else
{
- if (((word >> 20) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx11110xx101001000000xxxxxxxxxx
- fcvtpu. */
- return 774;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx11110xx111001000000xxxxxxxxxx
- fcvtzu. */
- return 782;
- }
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110xx1x1xx0011010xxxxxxxxxx
+ aesmc. */
+ return 667;
}
}
else
{
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 00001110xx1xxxx1011010xxxxxxxxxx
+ fcvtn. */
+ return 172;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 01001110xx1xxxx1011010xxxxxxxxxx
+ fcvtn2. */
+ return 173;
+ }
+ }
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 13) & 0x1) == 0)
+ {
+ if (((word >> 14) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110xx1xxxxx000110xxxxxxxxxx
+ rev16. */
+ return 157;
+ }
+ else
+ {
+ if (((word >> 19) & 0x1) == 0)
+ {
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx11110xx1xx101000000xxxxxxxxxx
- fcvtau. */
- return 766;
+ 0x001110xx1x0xxx010110xxxxxxxxxx
+ cnt. */
+ return 161;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110xx1x1xxx010110xxxxxxxxxx
+ aesd. */
+ return 666;
}
}
- else
+ }
+ else
+ {
+ if (((word >> 14) & 0x1) == 0)
{
- if (((word >> 18) & 0x1) == 0)
+ if (((word >> 20) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx11110xx1xx011000000xxxxxxxxxx
- ucvtf. */
- return 762;
+ 0x001110xx10xxxx001110xxxxxxxxxx
+ suqadd. */
+ return 159;
}
else
{
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110xx11xxxx001110xxxxxxxxxx
+ saddlv. */
+ return 27;
+ }
+ }
+ else
+ {
+ if (((word >> 16) & 0x1) == 0)
+ {
if (((word >> 19) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx11110xx1x0111000000xxxxxxxxxx
- fmov. */
- return 770;
+ 0x001110xx1x0xx0011110xxxxxxxxxx
+ sqabs. */
+ return 163;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx11110xx1x1111000000xxxxxxxxxx
- fmov. */
- return 785;
+ 0x001110xx1x1xx0011110xxxxxxxxxx
+ aesimc. */
+ return 668;
+ }
+ }
+ else
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 00001110xx1xxxx1011110xxxxxxxxxx
+ fcvtl. */
+ return 174;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 01001110xx1xxxx1011110xxxxxxxxxx
+ fcvtl2. */
+ return 175;
}
}
}
}
}
}
+ }
+ else
+ {
+ if (((word >> 11) & 0x1) == 0)
+ {
+ if (((word >> 12) & 0x1) == 0)
+ {
+ if (((word >> 13) & 0x1) == 0)
+ {
+ if (((word >> 14) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110xx1xxxxx000001xxxxxxxxxx
+ shadd. */
+ return 262;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110xx1xxxxx010001xxxxxxxxxx
+ sshl. */
+ return 269;
+ }
+ }
+ else
+ {
+ if (((word >> 14) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110xx1xxxxx001001xxxxxxxxxx
+ shsub. */
+ return 265;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110xx1xxxxx011001xxxxxxxxxx
+ smax. */
+ return 273;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 13) & 0x1) == 0)
+ {
+ if (((word >> 14) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110xx1xxxxx000101xxxxxxxxxx
+ srhadd. */
+ return 264;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110xx1xxxxx010101xxxxxxxxxx
+ srshl. */
+ return 271;
+ }
+ }
+ else
+ {
+ if (((word >> 14) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110xx1xxxxx001101xxxxxxxxxx
+ cmgt. */
+ return 267;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110xx1xxxxx011101xxxxxxxxxx
+ sabd. */
+ return 275;
+ }
+ }
+ }
+ }
else
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 12) & 0x1) == 0)
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 13) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x00x1110xx1xxxxx100000xxxxxxxxxx
- smlal. */
- return 58;
+ if (((word >> 14) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110xx1xxxxx000011xxxxxxxxxx
+ sqadd. */
+ return 263;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110xx1xxxxx010011xxxxxxxxxx
+ sqshl. */
+ return 270;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x10x1110xx1xxxxx100000xxxxxxxxxx
- smlal2. */
- return 59;
+ if (((word >> 14) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110xx1xxxxx001011xxxxxxxxxx
+ sqsub. */
+ return 266;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110xx1xxxxx011011xxxxxxxxxx
+ smin. */
+ return 274;
+ }
}
}
else
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 13) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x01x1110xx1xxxxx100000xxxxxxxxxx
- umlal. */
- return 90;
+ if (((word >> 14) & 0x1) == 0)
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110001xxxxx000111xxxxxxxxxx
+ and. */
+ return 299;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110101xxxxx000111xxxxxxxxxx
+ orr. */
+ return 311;
+ }
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110011xxxxx000111xxxxxxxxxx
+ bic. */
+ return 300;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110111xxxxx000111xxxxxxxxxx
+ orn. */
+ return 313;
+ }
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110xx1xxxxx010111xxxxxxxxxx
+ sqrshl. */
+ return 272;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x11x1110xx1xxxxx100000xxxxxxxxxx
- umlal2. */
- return 91;
+ if (((word >> 14) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110xx1xxxxx001111xxxxxxxxxx
+ cmge. */
+ return 268;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110xx1xxxxx011111xxxxxxxxxx
+ saba. */
+ return 276;
+ }
}
}
}
}
- else
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 1x001110xx1xxxxx0xxxxxxxxxxxxxxx
+ bcax. */
+ return 1997;
+ }
+ }
+ else
+ {
+ if (((word >> 10) & 0x1) == 0)
+ {
+ if (((word >> 11) & 0x1) == 0)
{
- if (((word >> 28) & 0x1) == 0)
+ if (((word >> 12) & 0x1) == 0)
{
- if (((word >> 15) & 0x1) == 0)
+ if (((word >> 13) & 0x1) == 0)
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
if (((word >> 30) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x0001110xx1xxxxx010000xxxxxxxxxx
- addhn. */
- return 50;
+ x0101110xx1xxxxx000000xxxxxxxxxx
+ uaddl. */
+ return 74;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x1001110xx1xxxxx010000xxxxxxxxxx
- addhn2. */
- return 51;
+ x1101110xx1xxxxx000000xxxxxxxxxx
+ uaddl2. */
+ return 75;
}
}
else
@@ -13408,23 +14035,23 @@ aarch64_opcode_lookup_1 (uint32_t word)
}
else
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
if (((word >> 30) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x0001110xx1xxxxx110000xxxxxxxxxx
- smull. */
- return 66;
+ x0101110xx1xxxxx001000xxxxxxxxxx
+ usubl. */
+ return 78;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x1001110xx1xxxxx110000xxxxxxxxxx
- smull2. */
- return 67;
+ x1101110xx1xxxxx001000xxxxxxxxxx
+ usubl2. */
+ return 79;
}
}
else
@@ -13433,63 +14060,181 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x0101110xx1xxxxx110000xxxxxxxxxx
- umull. */
- return 94;
+ x0101110xx1xxxxx011000xxxxxxxxxx
+ rsubhn. */
+ return 86;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x1101110xx1xxxxx110000xxxxxxxxxx
- umull2. */
- return 95;
+ x1101110xx1xxxxx011000xxxxxxxxxx
+ rsubhn2. */
+ return 87;
}
}
}
}
else
{
- if (((word >> 17) & 0x1) == 0)
+ if (((word >> 13) & 0x1) == 0)
{
- if (((word >> 15) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0101110xx1xxxxx000100xxxxxxxxxx
+ uaddw. */
+ return 76;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1101110xx1xxxxx000100xxxxxxxxxx
+ uaddw2. */
+ return 77;
+ }
+ }
+ else
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0101110xx1xxxxx010100xxxxxxxxxx
+ uabal. */
+ return 84;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1101110xx1xxxxx010100xxxxxxxxxx
+ uabal2. */
+ return 85;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 14) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0101110xx1xxxxx001100xxxxxxxxxx
+ usubw. */
+ return 80;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1101110xx1xxxxx001100xxxxxxxxxx
+ usubw2. */
+ return 81;
+ }
+ }
+ else
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0101110xx1xxxxx011100xxxxxxxxxx
+ uabdl. */
+ return 88;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1101110xx1xxxxx011100xxxxxxxxxx
+ uabdl2. */
+ return 89;
+ }
+ }
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 12) & 0x1) == 0)
+ {
+ if (((word >> 13) & 0x1) == 0)
+ {
+ if (((word >> 14) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101110xx1xxxxx000010xxxxxxxxxx
+ rev32. */
+ return 207;
+ }
+ else
{
if (((word >> 16) & 0x1) == 0)
{
- if (((word >> 18) & 0x1) == 0)
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101110xx1xxxx0010010xxxxxxxxxx
+ clz. */
+ return 210;
+ }
+ else
+ {
+ if (((word >> 30) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx11110xx1xx000010000xxxxxxxxxx
- fmov. */
- return 799;
+ x0101110xx1xxxx1010010xxxxxxxxxx
+ uqxtn. */
+ return 220;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx11110xx1xx100010000xxxxxxxxxx
- frintn. */
- return 808;
+ x1101110xx1xxxx1010010xxxxxxxxxx
+ uqxtn2. */
+ return 221;
}
}
+ }
+ }
+ else
+ {
+ if (((word >> 14) & 0x1) == 0)
+ {
+ if (((word >> 16) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101110xx1xxxx0001010xxxxxxxxxx
+ uaddlp. */
+ return 208;
+ }
else
{
- if (((word >> 18) & 0x1) == 0)
+ if (((word >> 30) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx11110xx1xx001010000xxxxxxxxxx
- fneg. */
- return 803;
+ x0101110xx1xxxx1001010xxxxxxxxxx
+ sqxtun. */
+ return 216;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx11110xx1xx101010000xxxxxxxxxx
- frintm. */
- return 812;
+ x1101110xx1xxxx1001010xxxxxxxxxx
+ sqxtun2. */
+ return 217;
}
}
}
@@ -13497,315 +14242,329 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 16) & 0x1) == 0)
{
- if (((word >> 18) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx11110xx1xx000110000xxxxxxxxxx
- fabs. */
- return 801;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx11110xx1xx100110000xxxxxxxxxx
- frintp. */
- return 810;
- }
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101110xx1xxxx0011010xxxxxxxxxx
+ uadalp. */
+ return 211;
}
else
{
- if (((word >> 18) & 0x1) == 0)
+ if (((word >> 30) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx11110xx1xx001110000xxxxxxxxxx
- fsqrt. */
- return 805;
+ x0101110xx1xxxx1011010xxxxxxxxxx
+ fcvtxn. */
+ return 222;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx11110xx1xx101110000xxxxxxxxxx
- frintz. */
- return 814;
+ x1101110xx1xxxx1011010xxxxxxxxxx
+ fcvtxn2. */
+ return 223;
}
}
}
}
- else
+ }
+ else
+ {
+ if (((word >> 13) & 0x1) == 0)
{
- if (((word >> 18) & 0x1) == 0)
+ if (((word >> 22) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx11110xx1xx01xx10000xxxxxxxxxx
- fcvt. */
- return 807;
+ xx101110x01xxxxx0x0110xxxxxxxxxx
+ not. */
+ return 236;
}
else
{
- if (((word >> 15) & 0x1) == 0)
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101110x11xxxxx0x0110xxxxxxxxxx
+ rbit. */
+ return 238;
+ }
+ }
+ else
+ {
+ if (((word >> 14) & 0x1) == 0)
+ {
+ if (((word >> 16) & 0x1) == 0)
{
- if (((word >> 16) & 0x1) == 0)
+ if (((word >> 20) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx11110xx1xx110010000xxxxxxxxxx
- frinta. */
- return 816;
+ xx101110xx10xxx0001110xxxxxxxxxx
+ usqadd. */
+ return 209;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx11110xx1xx111010000xxxxxxxxxx
- frintx. */
- return 818;
+ xx101110xx11xxx0001110xxxxxxxxxx
+ uaddlv. */
+ return 31;
}
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx11110xx1xx11x110000xxxxxxxxxx
- frinti. */
- return 820;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0101110xx1xxxx1001110xxxxxxxxxx
+ shll. */
+ return 218;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1101110xx1xxxx1001110xxxxxxxxxx
+ shll2. */
+ return 219;
+ }
}
}
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101110xx1xxxxx011110xxxxxxxxxx
+ sqneg. */
+ return 212;
+ }
}
}
}
}
else
{
- if (((word >> 14) & 0x1) == 0)
+ if (((word >> 11) & 0x1) == 0)
{
- if (((word >> 15) & 0x1) == 0)
+ if (((word >> 12) & 0x1) == 0)
{
- if (((word >> 28) & 0x1) == 0)
+ if (((word >> 13) & 0x1) == 0)
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
- if (((word >> 30) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0001110xx1xxxxx001000xxxxxxxxxx
- ssubl. */
- return 46;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1001110xx1xxxxx001000xxxxxxxxxx
- ssubl2. */
- return 47;
- }
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101110xx1xxxxx000001xxxxxxxxxx
+ uhadd. */
+ return 314;
}
else
{
- if (((word >> 30) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0101110xx1xxxxx001000xxxxxxxxxx
- usubl. */
- return 78;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1101110xx1xxxxx001000xxxxxxxxxx
- usubl2. */
- return 79;
- }
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101110xx1xxxxx010001xxxxxxxxxx
+ ushl. */
+ return 321;
}
}
else
{
- if (((word >> 3) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
- if (((word >> 4) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx11110xx1xxxxx001000xxxxx00xxx
- fcmp. */
- return 791;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx11110xx1xxxxx001000xxxxx10xxx
- fcmpe. */
- return 793;
- }
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101110xx1xxxxx001001xxxxxxxxxx
+ uhsub. */
+ return 317;
}
else
{
- if (((word >> 4) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx11110xx1xxxxx001000xxxxx01xxx
- fcmp. */
- return 795;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx11110xx1xxxxx001000xxxxx11xxx
- fcmpe. */
- return 797;
- }
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101110xx1xxxxx011001xxxxxxxxxx
+ umax. */
+ return 325;
}
}
}
else
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 13) & 0x1) == 0)
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x00x1110xx1xxxxx101000xxxxxxxxxx
- smlsl. */
- return 62;
+ xx101110xx1xxxxx000101xxxxxxxxxx
+ urhadd. */
+ return 316;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x10x1110xx1xxxxx101000xxxxxxxxxx
- smlsl2. */
- return 63;
+ xx101110xx1xxxxx010101xxxxxxxxxx
+ urshl. */
+ return 323;
}
}
else
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x01x1110xx1xxxxx101000xxxxxxxxxx
- umlsl. */
- return 92;
+ xx101110xx1xxxxx001101xxxxxxxxxx
+ cmhi. */
+ return 319;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x11x1110xx1xxxxx101000xxxxxxxxxx
- umlsl2. */
- return 93;
+ xx101110xx1xxxxx011101xxxxxxxxxx
+ uabd. */
+ return 327;
}
}
}
}
else
{
- if (((word >> 15) & 0x1) == 0)
+ if (((word >> 12) & 0x1) == 0)
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 13) & 0x1) == 0)
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x00x1110xx1xxxxx011000xxxxxxxxxx
- subhn. */
- return 54;
+ xx101110xx1xxxxx000011xxxxxxxxxx
+ uqadd. */
+ return 315;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x10x1110xx1xxxxx011000xxxxxxxxxx
- subhn2. */
- return 55;
+ xx101110xx1xxxxx010011xxxxxxxxxx
+ uqshl. */
+ return 322;
}
}
else
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x01x1110xx1xxxxx011000xxxxxxxxxx
- rsubhn. */
- return 86;
+ xx101110xx1xxxxx001011xxxxxxxxxx
+ uqsub. */
+ return 318;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x11x1110xx1xxxxx011000xxxxxxxxxx
- rsubhn2. */
- return 87;
+ xx101110xx1xxxxx011011xxxxxxxxxx
+ umin. */
+ return 326;
}
}
}
else
{
- if (((word >> 22) & 0x1) == 0)
+ if (((word >> 13) & 0x1) == 0)
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0xx1110x01xxxxx111000xxxxxxxxxx
- pmull. */
- return 70;
+ if (((word >> 22) & 0x1) == 0)
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101110001xxxxx000111xxxxxxxxxx
+ eor. */
+ return 350;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101110101xxxxx000111xxxxxxxxxx
+ bit. */
+ return 362;
+ }
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101110011xxxxx000111xxxxxxxxxx
+ bsl. */
+ return 351;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101110111xxxxx000111xxxxxxxxxx
+ bif. */
+ return 363;
+ }
+ }
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x1xx1110x01xxxxx111000xxxxxxxxxx
- pmull2. */
- return 72;
+ xx101110xx1xxxxx010111xxxxxxxxxx
+ uqrshl. */
+ return 324;
}
}
else
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x0xx1110x11xxxxx111000xxxxxxxxxx
- pmull. */
- return 71;
+ xx101110xx1xxxxx001111xxxxxxxxxx
+ cmhs. */
+ return 320;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x1xx1110x11xxxxx111000xxxxxxxxxx
- pmull2. */
- return 73;
+ xx101110xx1xxxxx011111xxxxxxxxxx
+ uaba. */
+ return 328;
}
}
}
}
}
}
- else
+ }
+ else
+ {
+ if (((word >> 10) & 0x1) == 0)
{
- if (((word >> 28) & 0x1) == 0)
+ if (((word >> 11) & 0x1) == 0)
{
- if (((word >> 13) & 0x1) == 0)
+ if (((word >> 12) & 0x1) == 0)
{
- if (((word >> 14) & 0x1) == 0)
+ if (((word >> 13) & 0x1) == 0)
{
- if (((word >> 15) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
if (((word >> 29) & 0x1) == 0)
{
@@ -13813,17 +14572,28 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x0001110xx1xxxxx000100xxxxxxxxxx
- saddw. */
- return 44;
+ x0001110xx1xxxxx100000xxxxxxxxxx
+ smlal. */
+ return 58;
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1001110xx1xxxxx000100xxxxxxxxxx
- saddw2. */
- return 45;
+ if (((word >> 31) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 01001110xx1xxxxx100000xxxxxxxxxx
+ smlal2. */
+ return 59;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 11001110xx1xxxxx100000xxxxxxxxxx
+ sha512h. */
+ return 1990;
+ }
}
}
else
@@ -13832,43 +14602,76 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x0101110xx1xxxxx000100xxxxxxxxxx
- uaddw. */
- return 76;
+ x0101110xx1xxxxx100000xxxxxxxxxx
+ umlal. */
+ return 90;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x1101110xx1xxxxx000100xxxxxxxxxx
- uaddw2. */
- return 77;
+ x1101110xx1xxxxx100000xxxxxxxxxx
+ umlal2. */
+ return 91;
}
}
}
else
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 29) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0x01110xx1xxxxx100100xxxxxxxxxx
- sqdmlal. */
- return 60;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0001110xx1xxxxx110000xxxxxxxxxx
+ smull. */
+ return 66;
+ }
+ else
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 01001110xx1xxxxx110000xxxxxxxxxx
+ smull2. */
+ return 67;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 11001110xx1xxxxx110000xxxxxxxxxx
+ sm3partw1. */
+ return 2003;
+ }
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1x01110xx1xxxxx100100xxxxxxxxxx
- sqdmlal2. */
- return 61;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0101110xx1xxxxx110000xxxxxxxxxx
+ umull. */
+ return 94;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1101110xx1xxxxx110000xxxxxxxxxx
+ umull2. */
+ return 95;
+ }
}
}
}
else
{
- if (((word >> 15) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
if (((word >> 29) & 0x1) == 0)
{
@@ -13876,17 +14679,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x0001110xx1xxxxx010100xxxxxxxxxx
- sabal. */
- return 52;
+ x0001110xx1xxxxx101000xxxxxxxxxx
+ smlsl. */
+ return 62;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x1001110xx1xxxxx010100xxxxxxxxxx
- sabal2. */
- return 53;
+ x1001110xx1xxxxx101000xxxxxxxxxx
+ smlsl2. */
+ return 63;
}
}
else
@@ -13895,64 +14698,39 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x0101110xx1xxxxx010100xxxxxxxxxx
- uabal. */
- return 84;
+ x0101110xx1xxxxx101000xxxxxxxxxx
+ umlsl. */
+ return 92;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x1101110xx1xxxxx010100xxxxxxxxxx
- uabal2. */
- return 85;
+ x1101110xx1xxxxx101000xxxxxxxxxx
+ umlsl2. */
+ return 93;
}
}
}
else
{
- if (((word >> 30) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0x01110xx1xxxxx110100xxxxxxxxxx
- sqdmull. */
- return 68;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1x01110xx1xxxxx110100xxxxxxxxxx
- sqdmull2. */
- return 69;
- }
- }
- }
- }
- else
- {
- if (((word >> 14) & 0x1) == 0)
- {
- if (((word >> 15) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 22) & 0x1) == 0)
{
if (((word >> 30) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x0001110xx1xxxxx001100xxxxxxxxxx
- ssubw. */
- return 48;
+ x0x01110x01xxxxx111000xxxxxxxxxx
+ pmull. */
+ return 70;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x1001110xx1xxxxx001100xxxxxxxxxx
- ssubw2. */
- return 49;
+ x1x01110x01xxxxx111000xxxxxxxxxx
+ pmull2. */
+ return 72;
}
}
else
@@ -13961,59 +14739,43 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x0101110xx1xxxxx001100xxxxxxxxxx
- usubw. */
- return 80;
+ x0x01110x11xxxxx111000xxxxxxxxxx
+ pmull. */
+ return 71;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x1101110xx1xxxxx001100xxxxxxxxxx
- usubw2. */
- return 81;
+ x1x01110x11xxxxx111000xxxxxxxxxx
+ pmull2. */
+ return 73;
}
}
}
- else
- {
- if (((word >> 30) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0x01110xx1xxxxx101100xxxxxxxxxx
- sqdmlsl. */
- return 64;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1x01110xx1xxxxx101100xxxxxxxxxx
- sqdmlsl2. */
- return 65;
- }
- }
}
- else
+ }
+ else
+ {
+ if (((word >> 13) & 0x1) == 0)
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
if (((word >> 30) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x0001110xx1xxxxxx11100xxxxxxxxxx
- sabdl. */
- return 56;
+ x0x01110xx1xxxxx100100xxxxxxxxxx
+ sqdmlal. */
+ return 60;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x1001110xx1xxxxxx11100xxxxxxxxxx
- sabdl2. */
- return 57;
+ x1x01110xx1xxxxx100100xxxxxxxxxx
+ sqdmlal2. */
+ return 61;
}
}
else
@@ -14022,410 +14784,242 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x0101110xx1xxxxxx11100xxxxxxxxxx
- uabdl. */
- return 88;
+ x0x01110xx1xxxxx110100xxxxxxxxxx
+ sqdmull. */
+ return 68;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x1101110xx1xxxxxx11100xxxxxxxxxx
- uabdl2. */
- return 89;
+ x1x01110xx1xxxxx110100xxxxxxxxxx
+ sqdmull2. */
+ return 69;
}
}
}
- }
- }
- else
- {
- if (((word >> 30) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0x11110xx1xxxxxxxx100xxxxxxxxxx
- fmov. */
- return 848;
- }
- else
- {
- if (((word >> 13) & 0x1) == 0)
+ else
{
- if (((word >> 14) & 0x1) == 0)
+ if (((word >> 30) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x1x11110xx1xxxxxx00100xxxxxxxxxx
- sqdmlal. */
- return 416;
+ x0x01110xx1xxxxx1x1100xxxxxxxxxx
+ sqdmlsl. */
+ return 64;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x1x11110xx1xxxxxx10100xxxxxxxxxx
- sqdmull. */
- return 418;
+ x1x01110xx1xxxxx1x1100xxxxxxxxxx
+ sqdmlsl2. */
+ return 65;
}
}
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1x11110xx1xxxxxxx1100xxxxxxxxxx
- sqdmlsl. */
- return 417;
- }
}
}
- }
- }
- else
- {
- if (((word >> 12) & 0x1) == 0)
- {
- if (((word >> 13) & 0x1) == 0)
+ else
{
- if (((word >> 14) & 0x1) == 0)
+ if (((word >> 12) & 0x1) == 0)
{
- if (((word >> 15) & 0x1) == 0)
+ if (((word >> 13) & 0x1) == 0)
{
- if (((word >> 28) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
if (((word >> 29) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx1xxxxx000010xxxxxxxxxx
- rev64. */
- return 156;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101110xx1xxxxx000010xxxxxxxxxx
- rev32. */
- return 207;
- }
- }
- else
- {
- if (((word >> 30) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0x11110xx1xxxxx000010xxxxxxxxxx
- fmul. */
- return 822;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1x11110xx1xxxxx000010xxxxxxxxxx
- sha1h. */
- return 669;
- }
- }
- }
- else
- {
- if (((word >> 28) & 0x1) == 0)
- {
- if (((word >> 16) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx1xxxx0100010xxxxxxxxxx
- cmgt. */
- return 164;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101110xx1xxxx0100010xxxxxxxxxx
- cmge. */
- return 213;
- }
- }
- else
- {
- if (((word >> 19) & 0x1) == 0)
+ if (((word >> 31) & 0x1) == 0)
{
- if (((word >> 23) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0011100x1x0xx1100010xxxxxxxxxx
- frintn. */
- return 176;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx1011100x1x0xx1100010xxxxxxxxxx
- frinta. */
- return 224;
- }
- }
- else
+ if (((word >> 16) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx011101x1x0xx1100010xxxxxxxxxx
- frintp. */
- return 196;
+ 0x001110xx1xxxx0100010xxxxxxxxxx
+ cmgt. */
+ return 164;
}
- }
- else
- {
- if (((word >> 23) & 0x1) == 0)
+ else
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 19) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0011100x1x1xx1100010xxxxxxxxxx
- frintn. */
- return 177;
+ if (((word >> 23) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x0011100x1x0xx1100010xxxxxxxxxx
+ frintn. */
+ return 176;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x0011101x1x0xx1100010xxxxxxxxxx
+ frintp. */
+ return 196;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx1011100x1x1xx1100010xxxxxxxxxx
- frinta. */
- return 225;
+ if (((word >> 23) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x0011100x1x1xx1100010xxxxxxxxxx
+ frintn. */
+ return 177;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x0011101x1x1xx1100010xxxxxxxxxx
+ frintp. */
+ return 197;
+ }
}
}
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx011101x1x1xx1100010xxxxxxxxxx
- frintp. */
- return 197;
- }
- }
- }
- }
- else
- {
- if (((word >> 29) & 0x1) == 0)
- {
- if (((word >> 30) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0011110xx1xxxxx100010xxxxxxxxxx
- fnmul. */
- return 838;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x1011110xx1xxxxx100010xxxxxxxxxx
- cmgt. */
- return 476;
+ 1x001110xx1xxxxx100010xxxxxxxxxx
+ sha512su1. */
+ return 1993;
}
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx111110xx1xxxxx100010xxxxxxxxxx
- cmge. */
- return 505;
- }
- }
- }
- }
- else
- {
- if (((word >> 15) & 0x1) == 0)
- {
- if (((word >> 28) & 0x1) == 0)
- {
- if (((word >> 16) & 0x1) == 0)
- {
- if (((word >> 19) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx1x0xx0010010xxxxxxxxxx
- cls. */
- return 160;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101110xx1x0xx0010010xxxxxxxxxx
- clz. */
- return 210;
- }
- }
- else
+ if (((word >> 16) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx01110xx1x1xx0010010xxxxxxxxxx
- aese. */
- return 665;
- }
- }
- else
- {
- if (((word >> 29) & 0x1) == 0)
- {
- if (((word >> 30) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0001110xx1xxxx1010010xxxxxxxxxx
- sqxtn. */
- return 170;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1001110xx1xxxx1010010xxxxxxxxxx
- sqxtn2. */
- return 171;
- }
+ xx101110xx1xxxx0100010xxxxxxxxxx
+ cmge. */
+ return 213;
}
else
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 19) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x0101110xx1xxxx1010010xxxxxxxxxx
- uqxtn. */
- return 220;
+ xx101110xx1x0xx1100010xxxxxxxxxx
+ frinta. */
+ return 224;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x1101110xx1xxxx1010010xxxxxxxxxx
- uqxtn2. */
- return 221;
+ xx101110xx1x1xx1100010xxxxxxxxxx
+ frinta. */
+ return 225;
}
}
}
}
else
{
- if (((word >> 29) & 0x1) == 0)
- {
- if (((word >> 30) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0011110xx1xxxxx010010xxxxxxxxxx
- fmax. */
- return 830;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1011110xx1xxxxx010010xxxxxxxxxx
- sqxtn. */
- return 480;
- }
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx111110xx1xxxxx010010xxxxxxxxxx
- uqxtn. */
- return 509;
- }
- }
- }
- else
- {
- if (((word >> 16) & 0x1) == 0)
- {
- if (((word >> 19) & 0x1) == 0)
+ if (((word >> 23) & 0x1) == 0)
{
- if (((word >> 20) & 0x1) == 0)
+ if (((word >> 29) & 0x1) == 0)
{
- if (((word >> 28) & 0x1) == 0)
+ if (((word >> 31) & 0x1) == 0)
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 16) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx001110xx100xx0110010xxxxxxxxxx
- fcmgt. */
- return 188;
+ 0x0011100x1xxxx0110010xxxxxxxxxx
+ fmaxnmv. */
+ return 35;
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101110xx100xx0110010xxxxxxxxxx
- fcmge. */
- return 239;
+ if (((word >> 19) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x0011100x1x0xx1110010xxxxxxxxxx
+ fcvtas. */
+ return 184;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x0011100x1x1xx1110010xxxxxxxxxx
+ fcvtas. */
+ return 185;
+ }
}
}
else
{
- if (((word >> 29) & 0x1) == 0)
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 1x0011100x1xxxxx110010xxxxxxxxxx
+ sm4ekey. */
+ return 2006;
+ }
+ }
+ else
+ {
+ if (((word >> 16) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1011100x1xxxx0110010xxxxxxxxxx
+ fmaxnmv. */
+ return 34;
+ }
+ else
+ {
+ if (((word >> 19) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx011110xx100xx0110010xxxxxxxxxx
- fcmgt. */
- return 489;
+ xx1011100x1x0xx1110010xxxxxxxxxx
+ fcvtau. */
+ return 232;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx111110xx100xx0110010xxxxxxxxxx
- fcmge. */
- return 519;
+ xx1011100x1x1xx1110010xxxxxxxxxx
+ fcvtau. */
+ return 233;
}
}
}
- else
+ }
+ else
+ {
+ if (((word >> 16) & 0x1) == 0)
{
- if (((word >> 23) & 0x1) == 0)
+ if (((word >> 19) & 0x1) == 0)
{
- if (((word >> 28) & 0x1) == 0)
+ if (((word >> 20) & 0x1) == 0)
{
if (((word >> 29) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx0011100x110xx0110010xxxxxxxxxx
- fmaxnmv. */
- return 35;
+ xx0011101x100xx0110010xxxxxxxxxx
+ fcmgt. */
+ return 188;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx1011100x110xx0110010xxxxxxxxxx
- fmaxnmv. */
- return 34;
+ xx1011101x100xx0110010xxxxxxxxxx
+ fcmge. */
+ return 239;
}
}
else
@@ -14434,28 +15028,6 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx0111100x110xx0110010xxxxxxxxxx
- fmaxnmp. */
- return 533;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx1111100x110xx0110010xxxxxxxxxx
- fmaxnmp. */
- return 532;
- }
- }
- }
- else
- {
- if (((word >> 28) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
xx0011101x110xx0110010xxxxxxxxxx
fminnmv. */
return 39;
@@ -14469,94 +15041,6 @@ aarch64_opcode_lookup_1 (uint32_t word)
return 38;
}
}
- else
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0111101x110xx0110010xxxxxxxxxx
- fminnmp. */
- return 539;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx1111101x110xx0110010xxxxxxxxxx
- fminnmp. */
- return 538;
- }
- }
- }
- }
- }
- else
- {
- if (((word >> 28) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx1x1xx0110010xxxxxxxxxx
- fcmgt. */
- return 189;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101110xx1x1xx0110010xxxxxxxxxx
- fcmge. */
- return 240;
- }
- }
- else
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx011110xx1x1xx0110010xxxxxxxxxx
- fcmgt. */
- return 490;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx111110xx1x1xx0110010xxxxxxxxxx
- fcmge. */
- return 520;
- }
- }
- }
- }
- else
- {
- if (((word >> 19) & 0x1) == 0)
- {
- if (((word >> 23) & 0x1) == 0)
- {
- if (((word >> 28) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0011100x1x0xx1110010xxxxxxxxxx
- fcvtas. */
- return 184;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx1011100x1x0xx1110010xxxxxxxxxx
- fcvtau. */
- return 232;
- }
}
else
{
@@ -14564,17 +15048,17 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx0111100x1x0xx1110010xxxxxxxxxx
- fcvtas. */
- return 485;
+ xx0011101x1x1xx0110010xxxxxxxxxx
+ fcmgt. */
+ return 189;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx1111100x1x0xx1110010xxxxxxxxxx
- fcvtau. */
- return 515;
+ xx1011101x1x1xx0110010xxxxxxxxxx
+ fcmge. */
+ return 240;
}
}
}
@@ -14584,7 +15068,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx0x11101x1x0xx1110010xxxxxxxxxx
+ xx0011101x1xxxx1110010xxxxxxxxxx
urecpe. */
return 204;
}
@@ -14592,209 +15076,55 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx1x11101x1x0xx1110010xxxxxxxxxx
+ xx1011101x1xxxx1110010xxxxxxxxxx
ursqrte. */
return 251;
}
}
}
- else
- {
- if (((word >> 28) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx1x1xx1110010xxxxxxxxxx
- fcvtas. */
- return 185;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101110xx1x1xx1110010xxxxxxxxxx
- fcvtau. */
- return 233;
- }
- }
- else
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx011110xx1x1xx1110010xxxxxxxxxx
- fcvtas. */
- return 486;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx111110xx1x1xx1110010xxxxxxxxxx
- fcvtau. */
- return 516;
- }
- }
- }
}
}
- }
- }
- else
- {
- if (((word >> 14) & 0x1) == 0)
- {
- if (((word >> 15) & 0x1) == 0)
+ else
{
- if (((word >> 28) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
if (((word >> 16) & 0x1) == 0)
{
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx1xxxx0001010xxxxxxxxxx
- saddlp. */
- return 158;
- }
- else
+ if (((word >> 20) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx101110xx1xxxx0001010xxxxxxxxxx
- uaddlp. */
- return 208;
- }
- }
- else
- {
- if (((word >> 29) & 0x1) == 0)
- {
- if (((word >> 30) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0001110xx1xxxx1001010xxxxxxxxxx
- xtn. */
- return 168;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1001110xx1xxxx1001010xxxxxxxxxx
- xtn2. */
- return 169;
- }
+ xxx01110xx10xxx0101010xxxxxxxxxx
+ cmlt. */
+ return 166;
}
else
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 29) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x0101110xx1xxxx1001010xxxxxxxxxx
- sqxtun. */
- return 216;
+ xx001110xx11xxx0101010xxxxxxxxxx
+ smaxv. */
+ return 28;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x1101110xx1xxxx1001010xxxxxxxxxx
- sqxtun2. */
- return 217;
+ xx101110xx11xxx0101010xxxxxxxxxx
+ umaxv. */
+ return 32;
}
}
}
- }
- else
- {
- if (((word >> 29) & 0x1) == 0)
- {
- if (((word >> 30) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0011110xx1xxxxx001010xxxxxxxxxx
- fadd. */
- return 826;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1011110xx1xxxxx001010xxxxxxxxxx
- sha256su0. */
- return 671;
- }
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx111110xx1xxxxx001010xxxxxxxxxx
- sqxtun. */
- return 508;
- }
- }
- }
- else
- {
- if (((word >> 16) & 0x1) == 0)
- {
- if (((word >> 20) & 0x1) == 0)
- {
- if (((word >> 28) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx01110xx10xxx0101010xxxxxxxxxx
- cmlt. */
- return 166;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx11110xx10xxx0101010xxxxxxxxxx
- cmlt. */
- return 478;
- }
- }
else
{
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0x1110xx11xxx0101010xxxxxxxxxx
- smaxv. */
- return 28;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx1x1110xx11xxx0101010xxxxxxxxxx
- umaxv. */
- return 32;
- }
- }
- }
- else
- {
- if (((word >> 19) & 0x1) == 0)
- {
- if (((word >> 20) & 0x1) == 0)
+ if (((word >> 19) & 0x1) == 0)
{
- if (((word >> 23) & 0x1) == 0)
+ if (((word >> 20) & 0x1) == 0)
{
- if (((word >> 28) & 0x1) == 0)
+ if (((word >> 23) & 0x1) == 0)
{
if (((word >> 29) & 0x1) == 0)
{
@@ -14819,28 +15149,6 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx0111100x100xx1101010xxxxxxxxxx
- fcvtns. */
- return 481;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx1111100x100xx1101010xxxxxxxxxx
- fcvtnu. */
- return 511;
- }
- }
- }
- else
- {
- if (((word >> 28) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
xx0011101x100xx1101010xxxxxxxxxx
fcvtps. */
return 200;
@@ -14854,93 +15162,49 @@ aarch64_opcode_lookup_1 (uint32_t word)
return 247;
}
}
- else
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0111101x100xx1101010xxxxxxxxxx
- fcvtps. */
- return 495;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx1111101x100xx1101010xxxxxxxxxx
- fcvtpu. */
- return 523;
- }
- }
- }
- }
- else
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0x1110xx110xx1101010xxxxxxxxxx
- sminv. */
- return 29;
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx1x1110xx110xx1101010xxxxxxxxxx
- uminv. */
- return 33;
- }
- }
- }
- else
- {
- if (((word >> 23) & 0x1) == 0)
- {
- if (((word >> 28) & 0x1) == 0)
- {
if (((word >> 29) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx0011100x1x1xx1101010xxxxxxxxxx
- fcvtns. */
- return 181;
+ xx001110xx110xx1101010xxxxxxxxxx
+ sminv. */
+ return 29;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx1011100x1x1xx1101010xxxxxxxxxx
- fcvtnu. */
- return 229;
+ xx101110xx110xx1101010xxxxxxxxxx
+ uminv. */
+ return 33;
}
}
- else
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
{
if (((word >> 29) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx0111100x1x1xx1101010xxxxxxxxxx
+ xx0011100x1x1xx1101010xxxxxxxxxx
fcvtns. */
- return 482;
+ return 181;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx1111100x1x1xx1101010xxxxxxxxxx
+ xx1011100x1x1xx1101010xxxxxxxxxx
fcvtnu. */
- return 512;
+ return 229;
}
}
- }
- else
- {
- if (((word >> 28) & 0x1) == 0)
+ else
{
if (((word >> 29) & 0x1) == 0)
{
@@ -14959,133 +15223,12 @@ aarch64_opcode_lookup_1 (uint32_t word)
return 248;
}
}
- else
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0111101x1x1xx1101010xxxxxxxxxx
- fcvtps. */
- return 496;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx1111101x1x1xx1101010xxxxxxxxxx
- fcvtpu. */
- return 524;
- }
- }
- }
- }
- }
- }
- }
- else
- {
- if (((word >> 15) & 0x1) == 0)
- {
- if (((word >> 28) & 0x1) == 0)
- {
- if (((word >> 16) & 0x1) == 0)
- {
- if (((word >> 19) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx1x0xx0011010xxxxxxxxxx
- sadalp. */
- return 162;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101110xx1x0xx0011010xxxxxxxxxx
- uadalp. */
- return 211;
- }
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx01110xx1x1xx0011010xxxxxxxxxx
- aesmc. */
- return 667;
- }
- }
- else
- {
- if (((word >> 29) & 0x1) == 0)
- {
- if (((word >> 30) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0001110xx1xxxx1011010xxxxxxxxxx
- fcvtn. */
- return 172;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1001110xx1xxxx1011010xxxxxxxxxx
- fcvtn2. */
- return 173;
- }
- }
- else
- {
- if (((word >> 30) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0101110xx1xxxx1011010xxxxxxxxxx
- fcvtxn. */
- return 222;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1101110xx1xxxx1011010xxxxxxxxxx
- fcvtxn2. */
- return 223;
- }
}
}
}
else
{
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx011110xx1xxxxx011010xxxxxxxxxx
- fmaxnm. */
- return 834;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx111110xx1xxxxx011010xxxxxxxxxx
- fcvtxn. */
- return 510;
- }
- }
- }
- else
- {
- if (((word >> 19) & 0x1) == 0)
- {
- if (((word >> 28) & 0x1) == 0)
+ if (((word >> 19) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
@@ -15097,75 +15240,20 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx11110xx1x0xxx111010xxxxxxxxxx
- fcmlt. */
- return 493;
- }
- }
- else
- {
- if (((word >> 28) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
xxx01110xx1x1xxx111010xxxxxxxxxx
fcmlt. */
return 193;
}
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx11110xx1x1xxx111010xxxxxxxxxx
- fcmlt. */
- return 494;
- }
}
}
}
- }
- }
- else
- {
- if (((word >> 13) & 0x1) == 0)
- {
- if (((word >> 14) & 0x1) == 0)
+ else
{
- if (((word >> 15) & 0x1) == 0)
- {
- if (((word >> 28) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx01110xx1xxxxx000110xxxxxxxxxx
- rev16. */
- return 157;
- }
- else
- {
- if (((word >> 30) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0x11110xx1xxxxx000110xxxxxxxxxx
- fdiv. */
- return 824;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1x11110xx1xxxxx000110xxxxxxxxxx
- sha1su1. */
- return 670;
- }
- }
- }
- else
+ if (((word >> 13) & 0x1) == 0)
{
- if (((word >> 16) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
- if (((word >> 28) & 0x1) == 0)
+ if (((word >> 16) & 0x1) == 0)
{
if (((word >> 29) & 0x1) == 0)
{
@@ -15186,190 +15274,25 @@ aarch64_opcode_lookup_1 (uint32_t word)
}
else
{
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx011110xx1xxxx0100110xxxxxxxxxx
- cmeq. */
- return 477;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx111110xx1xxxx0100110xxxxxxxxxx
- cmle. */
- return 506;
- }
- }
- }
- else
- {
- if (((word >> 19) & 0x1) == 0)
- {
- if (((word >> 23) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0x11100x1x0xx1100110xxxxxxxxxx
- frintm. */
- return 178;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx1x11100x1x0xx1100110xxxxxxxxxx
- frintx. */
- return 226;
- }
- }
- else
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0x11101x1x0xx1100110xxxxxxxxxx
- frintz. */
- return 198;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx1x11101x1x0xx1100110xxxxxxxxxx
- frinti. */
- return 245;
- }
- }
- }
- else
- {
- if (((word >> 23) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0x11100x1x1xx1100110xxxxxxxxxx
- frintm. */
- return 179;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx1x11100x1x1xx1100110xxxxxxxxxx
- frintx. */
- return 227;
- }
- }
- else
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0x11101x1x1xx1100110xxxxxxxxxx
- frintz. */
- return 199;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx1x11101x1x1xx1100110xxxxxxxxxx
- frinti. */
- return 246;
- }
- }
- }
- }
- }
- }
- else
- {
- if (((word >> 15) & 0x1) == 0)
- {
- if (((word >> 28) & 0x1) == 0)
- {
- if (((word >> 19) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx1x0xxx010110xxxxxxxxxx
- cnt. */
- return 161;
- }
- else
- {
- if (((word >> 22) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101110x01x0xxx010110xxxxxxxxxx
- not. */
- return 236;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101110x11x0xxx010110xxxxxxxxxx
- rbit. */
- return 238;
- }
- }
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx01110xx1x1xxx010110xxxxxxxxxx
- aesd. */
- return 666;
- }
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx11110xx1xxxxx010110xxxxxxxxxx
- fmin. */
- return 832;
- }
- }
- else
- {
- if (((word >> 16) & 0x1) == 0)
- {
- if (((word >> 19) & 0x1) == 0)
- {
- if (((word >> 20) & 0x1) == 0)
+ if (((word >> 19) & 0x1) == 0)
{
- if (((word >> 28) & 0x1) == 0)
+ if (((word >> 23) & 0x1) == 0)
{
if (((word >> 29) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx001110xx100xx0110110xxxxxxxxxx
- fcmeq. */
- return 190;
+ xx0011100x1x0xx1100110xxxxxxxxxx
+ frintm. */
+ return 178;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx101110xx100xx0110110xxxxxxxxxx
- fcmle. */
- return 241;
+ xx1011100x1x0xx1100110xxxxxxxxxx
+ frintx. */
+ return 226;
}
}
else
@@ -15378,59 +15301,84 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx011110xx100xx0110110xxxxxxxxxx
- fcmeq. */
- return 491;
+ xx0011101x1x0xx1100110xxxxxxxxxx
+ frintz. */
+ return 198;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx111110xx100xx0110110xxxxxxxxxx
- fcmle. */
- return 521;
+ xx1011101x1x0xx1100110xxxxxxxxxx
+ frinti. */
+ return 245;
}
}
}
else
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 23) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0x1110xx110xx0110110xxxxxxxxxx
- faddp. */
- return 535;
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0011100x1x1xx1100110xxxxxxxxxx
+ frintm. */
+ return 179;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1011100x1x1xx1100110xxxxxxxxxx
+ frintx. */
+ return 227;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx1x1110xx110xx0110110xxxxxxxxxx
- faddp. */
- return 534;
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0011101x1x1xx1100110xxxxxxxxxx
+ frintz. */
+ return 199;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1011101x1x1xx1100110xxxxxxxxxx
+ frinti. */
+ return 246;
+ }
}
}
}
- else
+ }
+ else
+ {
+ if (((word >> 16) & 0x1) == 0)
{
- if (((word >> 28) & 0x1) == 0)
+ if (((word >> 19) & 0x1) == 0)
{
if (((word >> 29) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx001110xx1x1xx0110110xxxxxxxxxx
+ xx001110xx1x0xx0110110xxxxxxxxxx
fcmeq. */
- return 191;
+ return 190;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx101110xx1x1xx0110110xxxxxxxxxx
+ xx101110xx1x0xx0110110xxxxxxxxxx
fcmle. */
- return 242;
+ return 241;
}
}
else
@@ -15439,28 +15387,25 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx011110xx1x1xx0110110xxxxxxxxxx
+ xx001110xx1x1xx0110110xxxxxxxxxx
fcmeq. */
- return 492;
+ return 191;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx111110xx1x1xx0110110xxxxxxxxxx
+ xx101110xx1x1xx0110110xxxxxxxxxx
fcmle. */
- return 522;
+ return 242;
}
}
}
- }
- else
- {
- if (((word >> 19) & 0x1) == 0)
+ else
{
- if (((word >> 23) & 0x1) == 0)
+ if (((word >> 19) & 0x1) == 0)
{
- if (((word >> 28) & 0x1) == 0)
+ if (((word >> 23) & 0x1) == 0)
{
if (((word >> 29) & 0x1) == 0)
{
@@ -15485,28 +15430,6 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx0111100x1x0xx1110110xxxxxxxxxx
- scvtf. */
- return 487;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx1111100x1x0xx1110110xxxxxxxxxx
- ucvtf. */
- return 517;
- }
- }
- }
- else
- {
- if (((word >> 28) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
xx0011101x1x0xx1110110xxxxxxxxxx
frecpe. */
return 205;
@@ -15520,32 +15443,10 @@ aarch64_opcode_lookup_1 (uint32_t word)
return 252;
}
}
- else
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0111101x1x0xx1110110xxxxxxxxxx
- frecpe. */
- return 499;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx1111101x1x0xx1110110xxxxxxxxxx
- frsqrte. */
- return 527;
- }
- }
}
- }
- else
- {
- if (((word >> 23) & 0x1) == 0)
+ else
{
- if (((word >> 28) & 0x1) == 0)
+ if (((word >> 23) & 0x1) == 0)
{
if (((word >> 29) & 0x1) == 0)
{
@@ -15570,28 +15471,6 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx0111100x1x1xx1110110xxxxxxxxxx
- scvtf. */
- return 488;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx1111100x1x1xx1110110xxxxxxxxxx
- ucvtf. */
- return 518;
- }
- }
- }
- else
- {
- if (((word >> 28) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
xx0011101x1x1xx1110110xxxxxxxxxx
frecpe. */
return 206;
@@ -15605,136 +15484,15 @@ aarch64_opcode_lookup_1 (uint32_t word)
return 253;
}
}
- else
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0111101x1x1xx1110110xxxxxxxxxx
- frecpe. */
- return 500;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx1111101x1x1xx1110110xxxxxxxxxx
- frsqrte. */
- return 528;
- }
- }
- }
- }
- }
- }
- }
- }
- else
- {
- if (((word >> 14) & 0x1) == 0)
- {
- if (((word >> 15) & 0x1) == 0)
- {
- if (((word >> 28) & 0x1) == 0)
- {
- if (((word >> 16) & 0x1) == 0)
- {
- if (((word >> 20) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx10xxx0001110xxxxxxxxxx
- suqadd. */
- return 159;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101110xx10xxx0001110xxxxxxxxxx
- usqadd. */
- return 209;
- }
- }
- else
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx11xxx0001110xxxxxxxxxx
- saddlv. */
- return 27;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101110xx11xxx0001110xxxxxxxxxx
- uaddlv. */
- return 31;
- }
- }
- }
- else
- {
- if (((word >> 30) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0x01110xx1xxxx1001110xxxxxxxxxx
- shll. */
- return 218;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1x01110xx1xxxx1001110xxxxxxxxxx
- shll2. */
- return 219;
}
}
}
- else
- {
- if (((word >> 29) & 0x1) == 0)
- {
- if (((word >> 30) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0011110xx1xxxxx001110xxxxxxxxxx
- fsub. */
- return 828;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1011110xx1xxxxx001110xxxxxxxxxx
- suqadd. */
- return 474;
- }
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx111110xx1xxxxx001110xxxxxxxxxx
- usqadd. */
- return 503;
- }
- }
}
else
{
- if (((word >> 16) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
- if (((word >> 28) & 0x1) == 0)
+ if (((word >> 16) & 0x1) == 0)
{
if (((word >> 29) & 0x1) == 0)
{
@@ -15755,33 +15513,11 @@ aarch64_opcode_lookup_1 (uint32_t word)
}
else
{
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx011110xx1xxxx0101110xxxxxxxxxx
- abs. */
- return 479;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx111110xx1xxxx0101110xxxxxxxxxx
- neg. */
- return 507;
- }
- }
- }
- else
- {
- if (((word >> 19) & 0x1) == 0)
- {
- if (((word >> 20) & 0x1) == 0)
+ if (((word >> 19) & 0x1) == 0)
{
- if (((word >> 23) & 0x1) == 0)
+ if (((word >> 20) & 0x1) == 0)
{
- if (((word >> 28) & 0x1) == 0)
+ if (((word >> 23) & 0x1) == 0)
{
if (((word >> 29) & 0x1) == 0)
{
@@ -15806,28 +15542,6 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx0111100x100xx1101110xxxxxxxxxx
- fcvtms. */
- return 483;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx1111100x100xx1101110xxxxxxxxxx
- fcvtmu. */
- return 513;
- }
- }
- }
- else
- {
- if (((word >> 28) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
xx0011101x100xx1101110xxxxxxxxxx
fcvtzs. */
return 202;
@@ -15841,30 +15555,8 @@ aarch64_opcode_lookup_1 (uint32_t word)
return 249;
}
}
- else
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0111101x100xx1101110xxxxxxxxxx
- fcvtzs. */
- return 497;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx1111101x100xx1101110xxxxxxxxxx
- fcvtzu. */
- return 525;
- }
- }
}
- }
- else
- {
- if (((word >> 28) & 0x1) == 0)
+ else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
@@ -15872,21 +15564,10 @@ aarch64_opcode_lookup_1 (uint32_t word)
addv. */
return 30;
}
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx11110xx110xx1101110xxxxxxxxxx
- addp. */
- return 531;
- }
}
- }
- else
- {
- if (((word >> 23) & 0x1) == 0)
+ else
{
- if (((word >> 28) & 0x1) == 0)
+ if (((word >> 23) & 0x1) == 0)
{
if (((word >> 29) & 0x1) == 0)
{
@@ -15911,28 +15592,6 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx0111100x1x1xx1101110xxxxxxxxxx
- fcvtms. */
- return 484;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx1111100x1x1xx1101110xxxxxxxxxx
- fcvtmu. */
- return 514;
- }
- }
- }
- else
- {
- if (((word >> 28) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
xx0011101x1x1xx1101110xxxxxxxxxx
fcvtzs. */
return 203;
@@ -15946,147 +15605,37 @@ aarch64_opcode_lookup_1 (uint32_t word)
return 250;
}
}
- else
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 16) & 0x1) == 0)
+ {
+ if (((word >> 19) & 0x1) == 0)
+ {
+ if (((word >> 20) & 0x1) == 0)
{
if (((word >> 29) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx0111101x1x1xx1101110xxxxxxxxxx
- fcvtzs. */
- return 498;
+ xx001110xx100xx0111110xxxxxxxxxx
+ fabs. */
+ return 194;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx1111101x1x1xx1101110xxxxxxxxxx
- fcvtzu. */
- return 526;
+ xx101110xx100xx0111110xxxxxxxxxx
+ fneg. */
+ return 243;
}
}
- }
- }
- }
- }
- }
- else
- {
- if (((word >> 15) & 0x1) == 0)
- {
- if (((word >> 28) & 0x1) == 0)
- {
- if (((word >> 16) & 0x1) == 0)
- {
- if (((word >> 19) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx1x0xx0011110xxxxxxxxxx
- sqabs. */
- return 163;
- }
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101110xx1x0xx0011110xxxxxxxxxx
- sqneg. */
- return 212;
- }
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx01110xx1x1xx0011110xxxxxxxxxx
- aesimc. */
- return 668;
- }
- }
- else
- {
- if (((word >> 30) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0x01110xx1xxxx1011110xxxxxxxxxx
- fcvtl. */
- return 174;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1x01110xx1xxxx1011110xxxxxxxxxx
- fcvtl2. */
- return 175;
- }
- }
- }
- else
- {
- if (((word >> 29) & 0x1) == 0)
- {
- if (((word >> 30) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0011110xx1xxxxx011110xxxxxxxxxx
- fminnm. */
- return 836;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1011110xx1xxxxx011110xxxxxxxxxx
- sqabs. */
- return 475;
- }
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx111110xx1xxxxx011110xxxxxxxxxx
- sqneg. */
- return 504;
- }
- }
- }
- else
- {
- if (((word >> 16) & 0x1) == 0)
- {
- if (((word >> 19) & 0x1) == 0)
- {
- if (((word >> 20) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0x1110xx100xx0111110xxxxxxxxxx
- fabs. */
- return 194;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx1x1110xx100xx0111110xxxxxxxxxx
- fneg. */
- return 243;
- }
- }
- else
- {
- if (((word >> 23) & 0x1) == 0)
- {
- if (((word >> 28) & 0x1) == 0)
+ if (((word >> 23) & 0x1) == 0)
{
if (((word >> 29) & 0x1) == 0)
{
@@ -16111,28 +15660,6 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx0111100x110xx0111110xxxxxxxxxx
- fmaxp. */
- return 537;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx1111100x110xx0111110xxxxxxxxxx
- fmaxp. */
- return 536;
- }
- }
- }
- else
- {
- if (((word >> 28) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
xx0011101x110xx0111110xxxxxxxxxx
fminv. */
return 41;
@@ -16146,53 +15673,31 @@ aarch64_opcode_lookup_1 (uint32_t word)
return 40;
}
}
- else
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0111101x110xx0111110xxxxxxxxxx
- fminp. */
- return 541;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx1111101x110xx0111110xxxxxxxxxx
- fminp. */
- return 540;
- }
- }
}
}
- }
- else
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0x1110xx1x1xx0111110xxxxxxxxxx
- fabs. */
- return 195;
- }
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx1x1110xx1x1xx0111110xxxxxxxxxx
- fneg. */
- return 244;
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx001110xx1x1xx0111110xxxxxxxxxx
+ fabs. */
+ return 195;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101110xx1x1xx0111110xxxxxxxxxx
+ fneg. */
+ return 244;
+ }
}
}
- }
- else
- {
- if (((word >> 19) & 0x1) == 0)
+ else
{
- if (((word >> 28) & 0x1) == 0)
+ if (((word >> 19) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
@@ -16204,77 +15709,44 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx11110xx1x0xx1111110xxxxxxxxxx
- frecpx. */
- return 501;
- }
- }
- else
- {
- if (((word >> 28) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
xxx01110xx1x1xx1111110xxxxxxxxxx
fsqrt. */
return 255;
}
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx11110xx1x1xx1111110xxxxxxxxxx
- frecpx. */
- return 502;
- }
}
}
}
}
}
}
- }
- }
- else
- {
- if (((word >> 11) & 0x1) == 0)
- {
- if (((word >> 28) & 0x1) == 0)
+ else
{
- if (((word >> 12) & 0x1) == 0)
+ if (((word >> 11) & 0x1) == 0)
{
- if (((word >> 13) & 0x1) == 0)
+ if (((word >> 12) & 0x1) == 0)
{
- if (((word >> 14) & 0x1) == 0)
+ if (((word >> 13) & 0x1) == 0)
{
- if (((word >> 15) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx1xxxxx000001xxxxxxxxxx
- shadd. */
- return 262;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101110xx1xxxxx000001xxxxxxxxxx
- uhadd. */
- return 314;
- }
- }
- else
+ if (((word >> 14) & 0x1) == 0)
{
if (((word >> 29) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx1xxxxx100001xxxxxxxxxx
- add. */
- return 277;
+ if (((word >> 31) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110xx1xxxxx100001xxxxxxxxxx
+ add. */
+ return 277;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 1x001110xx1xxxxx100001xxxxxxxxxx
+ sha512h2. */
+ return 1991;
+ }
}
else
{
@@ -16285,39 +15757,28 @@ aarch64_opcode_lookup_1 (uint32_t word)
return 329;
}
}
- }
- else
- {
- if (((word >> 15) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx1xxxxx010001xxxxxxxxxx
- sshl. */
- return 269;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101110xx1xxxxx010001xxxxxxxxxx
- ushl. */
- return 321;
- }
- }
else
{
if (((word >> 23) & 0x1) == 0)
{
if (((word >> 29) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0011100x1xxxxx110001xxxxxxxxxx
- fmaxnm. */
- return 285;
+ if (((word >> 31) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x0011100x1xxxxx110001xxxxxxxxxx
+ fmaxnm. */
+ return 285;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 1x0011100x1xxxxx110001xxxxxxxxxx
+ sm3partw2. */
+ return 2004;
+ }
}
else
{
@@ -16349,31 +15810,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
}
}
}
- }
- else
- {
- if (((word >> 14) & 0x1) == 0)
+ else
{
- if (((word >> 15) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx1xxxxx001001xxxxxxxxxx
- shsub. */
- return 265;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101110xx1xxxxx001001xxxxxxxxxx
- uhsub. */
- return 317;
- }
- }
- else
+ if (((word >> 14) & 0x1) == 0)
{
if (((word >> 29) & 0x1) == 0)
{
@@ -16392,28 +15831,6 @@ aarch64_opcode_lookup_1 (uint32_t word)
return 333;
}
}
- }
- else
- {
- if (((word >> 15) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx1xxxxx011001xxxxxxxxxx
- smax. */
- return 273;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101110xx1xxxxx011001xxxxxxxxxx
- umax. */
- return 325;
- }
- }
else
{
if (((word >> 23) & 0x1) == 0)
@@ -16446,33 +15863,11 @@ aarch64_opcode_lookup_1 (uint32_t word)
}
}
}
- }
- else
- {
- if (((word >> 13) & 0x1) == 0)
+ else
{
- if (((word >> 14) & 0x1) == 0)
+ if (((word >> 13) & 0x1) == 0)
{
- if (((word >> 15) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx1xxxxx000101xxxxxxxxxx
- srhadd. */
- return 264;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101110xx1xxxxx000101xxxxxxxxxx
- urhadd. */
- return 316;
- }
- }
- else
+ if (((word >> 14) & 0x1) == 0)
{
if (((word >> 29) & 0x1) == 0)
{
@@ -16491,28 +15886,6 @@ aarch64_opcode_lookup_1 (uint32_t word)
return 331;
}
}
- }
- else
- {
- if (((word >> 15) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx1xxxxx010101xxxxxxxxxx
- srshl. */
- return 271;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101110xx1xxxxx010101xxxxxxxxxx
- urshl. */
- return 323;
- }
- }
else
{
if (((word >> 23) & 0x1) == 0)
@@ -16555,31 +15928,9 @@ aarch64_opcode_lookup_1 (uint32_t word)
}
}
}
- }
- else
- {
- if (((word >> 14) & 0x1) == 0)
+ else
{
- if (((word >> 15) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx1xxxxx001101xxxxxxxxxx
- cmgt. */
- return 267;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101110xx1xxxxx001101xxxxxxxxxx
- cmhi. */
- return 319;
- }
- }
- else
+ if (((word >> 14) & 0x1) == 0)
{
if (((word >> 29) & 0x1) == 0)
{
@@ -16598,28 +15949,6 @@ aarch64_opcode_lookup_1 (uint32_t word)
return 335;
}
}
- }
- else
- {
- if (((word >> 15) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx1xxxxx011101xxxxxxxxxx
- sabd. */
- return 275;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101110xx1xxxxx011101xxxxxxxxxx
- uabd. */
- return 327;
- }
- }
else
{
if (((word >> 23) & 0x1) == 0)
@@ -16664,184 +15993,690 @@ aarch64_opcode_lookup_1 (uint32_t word)
}
}
}
- }
- else
- {
- if (((word >> 29) & 0x1) == 0)
+ else
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 12) & 0x1) == 0)
{
- if (((word >> 4) & 0x1) == 0)
+ if (((word >> 13) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0011110xx1xxxxxxxxx01xxxxx0xxxx
- fccmp. */
- return 787;
+ if (((word >> 14) & 0x1) == 0)
+ {
+ if (((word >> 29) & 0x1) == 0)
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 0x001110xx1xxxxx100011xxxxxxxxxx
+ cmtst. */
+ return 278;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 1x001110xx1xxxxx100011xxxxxxxxxx
+ rax1. */
+ return 1995;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101110xx1xxxxx100011xxxxxxxxxx
+ cmeq. */
+ return 330;
+ }
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0011100x1xxxxx110011xxxxxxxxxx
+ fmla. */
+ return 287;
+ }
+ else
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x01011100x1xxxxx110011xxxxxxxxxx
+ fmlal2. */
+ return 2009;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x11011100x1xxxxx110011xxxxxxxxxx
+ fmlal2. */
+ return 2013;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0011101x1xxxxx110011xxxxxxxxxx
+ fmls. */
+ return 303;
+ }
+ else
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x01011101x1xxxxx110011xxxxxxxxxx
+ fmlsl2. */
+ return 2010;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x11011101x1xxxxx110011xxxxxxxxxx
+ fmlsl2. */
+ return 2014;
+ }
+ }
+ }
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0011110xx1xxxxxxxxx01xxxxx1xxxx
- fccmpe. */
- return 789;
+ if (((word >> 14) & 0x1) == 0)
+ {
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx001110xx1xxxxx101011xxxxxxxxxx
+ sminp. */
+ return 282;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101110xx1xxxxx101011xxxxxxxxxx
+ uminp. */
+ return 334;
+ }
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 29) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00011100x1xxxxx111011xxxxxxxxxx
+ fmlal. */
+ return 2007;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x10011100x1xxxxx111011xxxxxxxxxx
+ fmlal. */
+ return 2011;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1011100x1xxxxx111011xxxxxxxxxx
+ facge. */
+ return 344;
+ }
+ }
+ else
+ {
+ if (((word >> 29) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00011101x1xxxxx111011xxxxxxxxxx
+ fmlsl. */
+ return 2008;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x10011101x1xxxxx111011xxxxxxxxxx
+ fmlsl. */
+ return 2012;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1011101x1xxxxx111011xxxxxxxxxx
+ facgt. */
+ return 358;
+ }
+ }
+ }
}
}
else
{
- if (((word >> 12) & 0x1) == 0)
+ if (((word >> 13) & 0x1) == 0)
{
- if (((word >> 13) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
- if (((word >> 14) & 0x1) == 0)
+ if (((word >> 29) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x1011110xx1xxxxxx00001xxxxxxxxxx
- add. */
- return 559;
+ xx001110xx1xxxxx100111xxxxxxxxxx
+ mul. */
+ return 280;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x1011110xx1xxxxxx10001xxxxxxxxxx
- sshl. */
- return 557;
+ xx101110xx1xxxxx100111xxxxxxxxxx
+ pmul. */
+ return 332;
}
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1011110xx1xxxxxxx1001xxxxxxxxxx
- fcmeq. */
- return 549;
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx001110xx1xxxxx110111xxxxxxxxxx
+ fmulx. */
+ return 291;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101110xx1xxxxx110111xxxxxxxxxx
+ fmul. */
+ return 340;
+ }
}
}
else
{
- if (((word >> 13) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x1011110xx1xxxxxxx0101xxxxxxxxxx
- srshl. */
- return 558;
+ xxx01110xx1xxxxx101111xxxxxxxxxx
+ addp. */
+ return 284;
}
else
{
- if (((word >> 15) & 0x1) == 0)
+ if (((word >> 23) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1011110xx1xxxxx0x1101xxxxxxxxxx
- cmgt. */
- return 555;
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0011100x1xxxxx111111xxxxxxxxxx
+ frecps. */
+ return 297;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1011100x1xxxxx111111xxxxxxxxxx
+ fdiv. */
+ return 348;
+ }
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x1011110xx1xxxxx1x1101xxxxxxxxxx
- sqdmulh. */
- return 546;
+ xxx011101x1xxxxx111111xxxxxxxxxx
+ frsqrts. */
+ return 309;
}
}
}
}
}
- else
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 10) & 0x1) == 0)
+ {
+ if (((word >> 11) & 0x1) == 0)
+ {
+ if (((word >> 12) & 0x1) == 0)
{
- if (((word >> 12) & 0x1) == 0)
+ if (((word >> 13) & 0x1) == 0)
{
- if (((word >> 13) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
- if (((word >> 14) & 0x1) == 0)
+ if (((word >> 16) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx111110xx1xxxxxx00001xxxxxxxxxx
- sub. */
- return 580;
+ if (((word >> 17) & 0x1) == 0)
+ {
+ if (((word >> 18) & 0x1) == 0)
+ {
+ if (((word >> 19) & 0x1) == 0)
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx100000x00000xxxxxxxxxx
+ fcvtns. */
+ return 756;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx110000x00000xxxxxxxxxx
+ fcvtms. */
+ return 776;
+ }
+ }
+ else
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx101000x00000xxxxxxxxxx
+ fcvtps. */
+ return 772;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx111000x00000xxxxxxxxxx
+ fcvtzs. */
+ return 780;
+ }
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx1xx100x00000xxxxxxxxxx
+ fcvtas. */
+ return 764;
+ }
+ }
+ else
+ {
+ if (((word >> 18) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx1xx010x00000xxxxxxxxxx
+ scvtf. */
+ return 760;
+ }
+ else
+ {
+ if (((word >> 19) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx1x0110x00000xxxxxxxxxx
+ fmov. */
+ return 768;
+ }
+ else
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx101110x00000xxxxxxxxxx
+ fmov. */
+ return 784;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx111110x00000xxxxxxxxxx
+ fjcvtzs. */
+ return 786;
+ }
+ }
+ }
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx111110xx1xxxxxx10001xxxxxxxxxx
- ushl. */
- return 578;
+ if (((word >> 17) & 0x1) == 0)
+ {
+ if (((word >> 18) & 0x1) == 0)
+ {
+ if (((word >> 19) & 0x1) == 0)
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx100001x00000xxxxxxxxxx
+ fcvtnu. */
+ return 758;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx110001x00000xxxxxxxxxx
+ fcvtmu. */
+ return 778;
+ }
+ }
+ else
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx101001x00000xxxxxxxxxx
+ fcvtpu. */
+ return 774;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx111001x00000xxxxxxxxxx
+ fcvtzu. */
+ return 782;
+ }
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx1xx101x00000xxxxxxxxxx
+ fcvtau. */
+ return 766;
+ }
+ }
+ else
+ {
+ if (((word >> 18) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx1xx011x00000xxxxxxxxxx
+ ucvtf. */
+ return 762;
+ }
+ else
+ {
+ if (((word >> 19) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx1x0111x00000xxxxxxxxxx
+ fmov. */
+ return 770;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx1x1111x00000xxxxxxxxxx
+ fmov. */
+ return 785;
+ }
+ }
+ }
}
}
else
{
- if (((word >> 23) & 0x1) == 0)
+ if (((word >> 17) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx1111100x1xxxxxxx1001xxxxxxxxxx
- fcmge. */
- return 566;
+ if (((word >> 15) & 0x1) == 0)
+ {
+ if (((word >> 16) & 0x1) == 0)
+ {
+ if (((word >> 18) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx1xx000010000xxxxxxxxxx
+ fmov. */
+ return 799;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx1xx100010000xxxxxxxxxx
+ frintn. */
+ return 808;
+ }
+ }
+ else
+ {
+ if (((word >> 18) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx1xx001010000xxxxxxxxxx
+ fneg. */
+ return 803;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx1xx101010000xxxxxxxxxx
+ frintm. */
+ return 812;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 16) & 0x1) == 0)
+ {
+ if (((word >> 18) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx1xx000110000xxxxxxxxxx
+ fabs. */
+ return 801;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx1xx100110000xxxxxxxxxx
+ frintp. */
+ return 810;
+ }
+ }
+ else
+ {
+ if (((word >> 18) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx1xx001110000xxxxxxxxxx
+ fsqrt. */
+ return 805;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx1xx101110000xxxxxxxxxx
+ frintz. */
+ return 814;
+ }
+ }
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx1111101x1xxxxxxx1001xxxxxxxxxx
- fcmgt. */
- return 572;
+ if (((word >> 18) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx1xx01xx10000xxxxxxxxxx
+ fcvt. */
+ return 807;
+ }
+ else
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ if (((word >> 16) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx1xx110010000xxxxxxxxxx
+ frinta. */
+ return 816;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx1xx111010000xxxxxxxxxx
+ frintx. */
+ return 818;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx1xx11x110000xxxxxxxxxx
+ frinti. */
+ return 820;
+ }
+ }
}
}
}
else
{
- if (((word >> 13) & 0x1) == 0)
+ if (((word >> 3) & 0x1) == 0)
{
- if (((word >> 15) & 0x1) == 0)
+ if (((word >> 4) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx111110xx1xxxxx0x0101xxxxxxxxxx
- urshl. */
- return 579;
+ xxx11110xx1xxxxxxx1000xxxxx00xxx
+ fcmp. */
+ return 791;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx111110xx1xxxxx1x0101xxxxxxxxxx
- fabd. */
- return 570;
+ xxx11110xx1xxxxxxx1000xxxxx10xxx
+ fcmpe. */
+ return 793;
}
}
else
{
- if (((word >> 15) & 0x1) == 0)
+ if (((word >> 4) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx111110xx1xxxxx0x1101xxxxxxxxxx
- cmhi. */
- return 576;
+ xxx11110xx1xxxxxxx1000xxxxx01xxx
+ fcmp. */
+ return 795;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx111110xx1xxxxx1x1101xxxxxxxxxx
- sqrdmulh. */
- return 565;
+ xxx11110xx1xxxxxxx1000xxxxx11xxx
+ fcmpe. */
+ return 797;
+ }
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0x11110xx1xxxxxxxx100xxxxxxxxxx
+ fmov. */
+ return 848;
+ }
+ else
+ {
+ if (((word >> 13) & 0x1) == 0)
+ {
+ if (((word >> 14) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1x11110xx1xxxxxx00100xxxxxxxxxx
+ sqdmlal. */
+ return 416;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1x11110xx1xxxxxx10100xxxxxxxxxx
+ sqdmull. */
+ return 418;
}
}
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1x11110xx1xxxxxxx1100xxxxxxxxxx
+ sqdmlsl. */
+ return 417;
+ }
}
}
}
- }
- else
- {
- if (((word >> 28) & 0x1) == 0)
+ else
{
if (((word >> 12) & 0x1) == 0)
{
@@ -16851,40 +16686,51 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 15) & 0x1) == 0)
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 30) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx001110xx1xxxxx000011xxxxxxxxxx
- sqadd. */
- return 263;
+ x0x11110xx1xxxxx000010xxxxxxxxxx
+ fmul. */
+ return 822;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx101110xx1xxxxx000011xxxxxxxxxx
- uqadd. */
- return 315;
+ x1x11110xx1xxxxx000010xxxxxxxxxx
+ sha1h. */
+ return 669;
}
}
else
{
if (((word >> 29) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx1xxxxx100011xxxxxxxxxx
- cmtst. */
- return 278;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0011110xx1xxxxx100010xxxxxxxxxx
+ fnmul. */
+ return 838;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1011110xx1xxxxx100010xxxxxxxxxx
+ cmgt. */
+ return 476;
+ }
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx101110xx1xxxxx100011xxxxxxxxxx
- cmeq. */
- return 330;
+ xx111110xx1xxxxx100010xxxxxxxxxx
+ cmge. */
+ return 505;
}
}
}
@@ -16894,38 +16740,159 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 29) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx1xxxxx010011xxxxxxxxxx
- sqshl. */
- return 270;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0011110xx1xxxxx010010xxxxxxxxxx
+ fmax. */
+ return 830;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1011110xx1xxxxx010010xxxxxxxxxx
+ sqxtn. */
+ return 480;
+ }
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx101110xx1xxxxx010011xxxxxxxxxx
- uqshl. */
- return 322;
+ xx111110xx1xxxxx010010xxxxxxxxxx
+ uqxtn. */
+ return 509;
}
}
else
{
- if (((word >> 23) & 0x1) == 0)
+ if (((word >> 16) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx011100x1xxxxx110011xxxxxxxxxx
- fmla. */
- return 287;
+ if (((word >> 19) & 0x1) == 0)
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx011110xx100xx0110010xxxxxxxxxx
+ fcmgt. */
+ return 489;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111110xx100xx0110010xxxxxxxxxx
+ fcmge. */
+ return 519;
+ }
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0111100x110xx0110010xxxxxxxxxx
+ fmaxnmp. */
+ return 533;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1111100x110xx0110010xxxxxxxxxx
+ fmaxnmp. */
+ return 532;
+ }
+ }
+ else
+ {
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0111101x110xx0110010xxxxxxxxxx
+ fminnmp. */
+ return 539;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1111101x110xx0110010xxxxxxxxxx
+ fminnmp. */
+ return 538;
+ }
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx011110xx1x1xx0110010xxxxxxxxxx
+ fcmgt. */
+ return 490;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111110xx1x1xx0110010xxxxxxxxxx
+ fcmge. */
+ return 520;
+ }
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx011101x1xxxxx110011xxxxxxxxxx
- fmls. */
- return 303;
+ if (((word >> 19) & 0x1) == 0)
+ {
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx011110xx1x0xx1110010xxxxxxxxxx
+ fcvtas. */
+ return 485;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111110xx1x0xx1110010xxxxxxxxxx
+ fcvtau. */
+ return 515;
+ }
+ }
+ else
+ {
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx011110xx1x1xx1110010xxxxxxxxxx
+ fcvtas. */
+ return 486;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111110xx1x1xx1110010xxxxxxxxxx
+ fcvtau. */
+ return 516;
+ }
+ }
}
}
}
@@ -16938,38 +16905,126 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 29) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx1xxxxx001011xxxxxxxxxx
- sqsub. */
- return 266;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0011110xx1xxxxx001010xxxxxxxxxx
+ fadd. */
+ return 826;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1011110xx1xxxxx001010xxxxxxxxxx
+ sha256su0. */
+ return 671;
+ }
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx101110xx1xxxxx001011xxxxxxxxxx
- uqsub. */
- return 318;
+ xx111110xx1xxxxx001010xxxxxxxxxx
+ sqxtun. */
+ return 508;
}
}
else
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 16) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx001110xx1xxxxx101011xxxxxxxxxx
- sminp. */
- return 282;
+ xxx11110xx1xxxx0101010xxxxxxxxxx
+ cmlt. */
+ return 478;
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101110xx1xxxxx101011xxxxxxxxxx
- uminp. */
- return 334;
+ if (((word >> 19) & 0x1) == 0)
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0111100x1x0xx1101010xxxxxxxxxx
+ fcvtns. */
+ return 481;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1111100x1x0xx1101010xxxxxxxxxx
+ fcvtnu. */
+ return 511;
+ }
+ }
+ else
+ {
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0111101x1x0xx1101010xxxxxxxxxx
+ fcvtps. */
+ return 495;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1111101x1x0xx1101010xxxxxxxxxx
+ fcvtpu. */
+ return 523;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0111100x1x1xx1101010xxxxxxxxxx
+ fcvtns. */
+ return 482;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1111100x1x1xx1101010xxxxxxxxxx
+ fcvtnu. */
+ return 512;
+ }
+ }
+ else
+ {
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0111101x1x1xx1101010xxxxxxxxxx
+ fcvtps. */
+ return 496;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1111101x1x1xx1101010xxxxxxxxxx
+ fcvtpu. */
+ return 524;
+ }
+ }
+ }
}
}
}
@@ -16981,36 +17036,36 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx001110xx1xxxxx011011xxxxxxxxxx
- smin. */
- return 274;
+ xx011110xx1xxxxx011010xxxxxxxxxx
+ fmaxnm. */
+ return 834;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx101110xx1xxxxx011011xxxxxxxxxx
- umin. */
- return 326;
+ xx111110xx1xxxxx011010xxxxxxxxxx
+ fcvtxn. */
+ return 510;
}
}
else
{
- if (((word >> 23) & 0x1) == 0)
+ if (((word >> 19) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx011100x1xxxxx111011xxxxxxxxxx
- facge. */
- return 344;
+ xxx11110xx1x0xxx111010xxxxxxxxxx
+ fcmlt. */
+ return 493;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx011101x1xxxxx111011xxxxxxxxxx
- facgt. */
- return 358;
+ xxx11110xx1x1xxx111010xxxxxxxxxx
+ fcmlt. */
+ return 494;
}
}
}
@@ -17024,25 +17079,96 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 15) & 0x1) == 0)
{
- if (((word >> 22) & 0x1) == 0)
+ if (((word >> 30) & 0x1) == 0)
{
- if (((word >> 23) & 0x1) == 0)
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0x11110xx1xxxxx000110xxxxxxxxxx
+ fdiv. */
+ return 824;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1x11110xx1xxxxx000110xxxxxxxxxx
+ sha1su1. */
+ return 670;
+ }
+ }
+ else
+ {
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx011110xx1xxxxx100110xxxxxxxxxx
+ cmeq. */
+ return 477;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111110xx1xxxxx100110xxxxxxxxxx
+ cmle. */
+ return 506;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx1xxxxx010110xxxxxxxxxx
+ fmin. */
+ return 832;
+ }
+ else
+ {
+ if (((word >> 16) & 0x1) == 0)
+ {
+ if (((word >> 19) & 0x1) == 0)
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 20) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110001xxxxx000111xxxxxxxxxx
- and. */
- return 299;
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx011110xx100xx0110110xxxxxxxxxx
+ fcmeq. */
+ return 491;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111110xx100xx0110110xxxxxxxxxx
+ fcmle. */
+ return 521;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101110001xxxxx000111xxxxxxxxxx
- eor. */
- return 350;
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx011110xx110xx0110110xxxxxxxxxx
+ faddp. */
+ return 535;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111110xx110xx0110110xxxxxxxxxx
+ faddp. */
+ return 534;
+ }
}
}
else
@@ -17051,79 +17177,258 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx001110101xxxxx000111xxxxxxxxxx
- orr. */
- return 311;
+ xx011110xx1x1xx0110110xxxxxxxxxx
+ fcmeq. */
+ return 492;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx101110101xxxxx000111xxxxxxxxxx
- bit. */
- return 362;
+ xx111110xx1x1xx0110110xxxxxxxxxx
+ fcmle. */
+ return 522;
}
}
}
else
{
- if (((word >> 23) & 0x1) == 0)
+ if (((word >> 19) & 0x1) == 0)
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 23) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110011xxxxx000111xxxxxxxxxx
- bic. */
- return 300;
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0111100x1x0xx1110110xxxxxxxxxx
+ scvtf. */
+ return 487;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1111100x1x0xx1110110xxxxxxxxxx
+ ucvtf. */
+ return 517;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101110011xxxxx000111xxxxxxxxxx
- bsl. */
- return 351;
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0111101x1x0xx1110110xxxxxxxxxx
+ frecpe. */
+ return 499;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1111101x1x0xx1110110xxxxxxxxxx
+ frsqrte. */
+ return 527;
+ }
}
}
else
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 23) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110111xxxxx000111xxxxxxxxxx
- orn. */
- return 313;
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0111100x1x1xx1110110xxxxxxxxxx
+ scvtf. */
+ return 488;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1111100x1x1xx1110110xxxxxxxxxx
+ ucvtf. */
+ return 518;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101110111xxxxx000111xxxxxxxxxx
- bif. */
- return 363;
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0111101x1x1xx1110110xxxxxxxxxx
+ frecpe. */
+ return 500;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1111101x1x1xx1110110xxxxxxxxxx
+ frsqrte. */
+ return 528;
+ }
}
}
}
}
- else
+ }
+ }
+ else
+ {
+ if (((word >> 14) & 0x1) == 0)
+ {
+ if (((word >> 15) & 0x1) == 0)
{
if (((word >> 29) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx1xxxxx100111xxxxxxxxxx
- mul. */
- return 280;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0011110xx1xxxxx001110xxxxxxxxxx
+ fsub. */
+ return 828;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1011110xx1xxxxx001110xxxxxxxxxx
+ suqadd. */
+ return 474;
+ }
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx101110xx1xxxxx100111xxxxxxxxxx
- pmul. */
- return 332;
+ xx111110xx1xxxxx001110xxxxxxxxxx
+ usqadd. */
+ return 503;
+ }
+ }
+ else
+ {
+ if (((word >> 16) & 0x1) == 0)
+ {
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx011110xx1xxxx0101110xxxxxxxxxx
+ abs. */
+ return 479;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111110xx1xxxx0101110xxxxxxxxxx
+ neg. */
+ return 507;
+ }
+ }
+ else
+ {
+ if (((word >> 19) & 0x1) == 0)
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0111100x100xx1101110xxxxxxxxxx
+ fcvtms. */
+ return 483;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1111100x100xx1101110xxxxxxxxxx
+ fcvtmu. */
+ return 513;
+ }
+ }
+ else
+ {
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0111101x100xx1101110xxxxxxxxxx
+ fcvtzs. */
+ return 497;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1111101x100xx1101110xxxxxxxxxx
+ fcvtzu. */
+ return 525;
+ }
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx110xx1101110xxxxxxxxxx
+ addp. */
+ return 531;
+ }
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0111100x1x1xx1101110xxxxxxxxxx
+ fcvtms. */
+ return 484;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1111100x1x1xx1101110xxxxxxxxxx
+ fcvtmu. */
+ return 514;
+ }
+ }
+ else
+ {
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0111101x1x1xx1101110xxxxxxxxxx
+ fcvtzs. */
+ return 498;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1111101x1x1xx1101110xxxxxxxxxx
+ fcvtzu. */
+ return 526;
+ }
+ }
+ }
}
}
}
@@ -17133,124 +17438,270 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 29) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx1xxxxx010111xxxxxxxxxx
- sqrshl. */
- return 272;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0011110xx1xxxxx011110xxxxxxxxxx
+ fminnm. */
+ return 836;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1011110xx1xxxxx011110xxxxxxxxxx
+ sqabs. */
+ return 475;
+ }
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx101110xx1xxxxx010111xxxxxxxxxx
- uqrshl. */
- return 324;
+ xx111110xx1xxxxx011110xxxxxxxxxx
+ sqneg. */
+ return 504;
}
}
else
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 16) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx001110xx1xxxxx110111xxxxxxxxxx
- fmulx. */
- return 291;
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0111100x1xxxx0111110xxxxxxxxxx
+ fmaxp. */
+ return 537;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1111100x1xxxx0111110xxxxxxxxxx
+ fmaxp. */
+ return 536;
+ }
+ }
+ else
+ {
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0111101x1xxxx0111110xxxxxxxxxx
+ fminp. */
+ return 541;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1111101x1xxxx0111110xxxxxxxxxx
+ fminp. */
+ return 540;
+ }
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101110xx1xxxxx110111xxxxxxxxxx
- fmul. */
- return 340;
+ if (((word >> 19) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx1x0xx1111110xxxxxxxxxx
+ frecpx. */
+ return 501;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx1x1xx1111110xxxxxxxxxx
+ frecpx. */
+ return 502;
+ }
}
}
}
}
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 11) & 0x1) == 0)
+ {
+ if (((word >> 29) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ if (((word >> 4) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0011110xx1xxxxxxxxx01xxxxx0xxxx
+ fccmp. */
+ return 787;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0011110xx1xxxxxxxxx01xxxxx1xxxx
+ fccmpe. */
+ return 789;
+ }
+ }
else
{
- if (((word >> 14) & 0x1) == 0)
+ if (((word >> 12) & 0x1) == 0)
{
- if (((word >> 15) & 0x1) == 0)
+ if (((word >> 13) & 0x1) == 0)
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx001110xx1xxxxx001111xxxxxxxxxx
- cmge. */
- return 268;
+ x1011110xx1xxxxxx00001xxxxxxxxxx
+ add. */
+ return 559;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx101110xx1xxxxx001111xxxxxxxxxx
- cmhs. */
- return 320;
+ x1011110xx1xxxxxx10001xxxxxxxxxx
+ sshl. */
+ return 557;
}
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxx01110xx1xxxxx101111xxxxxxxxxx
- addp. */
- return 284;
+ x1011110xx1xxxxxxx1001xxxxxxxxxx
+ fcmeq. */
+ return 549;
}
}
else
{
- if (((word >> 15) & 0x1) == 0)
+ if (((word >> 13) & 0x1) == 0)
{
- if (((word >> 29) & 0x1) == 0)
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1011110xx1xxxxxxx0101xxxxxxxxxx
+ srshl. */
+ return 558;
+ }
+ else
+ {
+ if (((word >> 15) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx001110xx1xxxxx011111xxxxxxxxxx
- saba. */
- return 276;
+ x1011110xx1xxxxx0x1101xxxxxxxxxx
+ cmgt. */
+ return 555;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xx101110xx1xxxxx011111xxxxxxxxxx
- uaba. */
- return 328;
+ x1011110xx1xxxxx1x1101xxxxxxxxxx
+ sqdmulh. */
+ return 546;
}
}
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 12) & 0x1) == 0)
+ {
+ if (((word >> 13) & 0x1) == 0)
+ {
+ if (((word >> 14) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111110xx1xxxxxx00001xxxxxxxxxx
+ sub. */
+ return 580;
+ }
else
{
- if (((word >> 23) & 0x1) == 0)
- {
- if (((word >> 29) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0011100x1xxxxx111111xxxxxxxxxx
- frecps. */
- return 297;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx1011100x1xxxxx111111xxxxxxxxxx
- fdiv. */
- return 348;
- }
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx011101x1xxxxx111111xxxxxxxxxx
- frsqrts. */
- return 309;
- }
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111110xx1xxxxxx10001xxxxxxxxxx
+ ushl. */
+ return 578;
+ }
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1111100x1xxxxxxx1001xxxxxxxxxx
+ fcmge. */
+ return 566;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1111101x1xxxxxxx1001xxxxxxxxxx
+ fcmgt. */
+ return 572;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 13) & 0x1) == 0)
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111110xx1xxxxx0x0101xxxxxxxxxx
+ urshl. */
+ return 579;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111110xx1xxxxx1x0101xxxxxxxxxx
+ fabd. */
+ return 570;
+ }
+ }
+ else
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111110xx1xxxxx0x1101xxxxxxxxxx
+ cmhi. */
+ return 576;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111110xx1xxxxx1x1101xxxxxxxxxx
+ sqrdmulh. */
+ return 565;
}
}
}
@@ -17469,19 +17920,63 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 14) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx01111xxxxxxxx0000x0xxxxxxxxxx
- mla. */
- return 117;
+ if (((word >> 29) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0001111xxxxxxxx0000x0xxxxxxxxxx
+ fmlal. */
+ return 2015;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1001111xxxxxxxx0000x0xxxxxxxxxx
+ fmlal. */
+ return 2019;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101111xxxxxxxx0000x0xxxxxxxxxx
+ mla. */
+ return 117;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx01111xxxxxxxx0100x0xxxxxxxxxx
- mls. */
- return 120;
+ if (((word >> 29) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0001111xxxxxxxx0100x0xxxxxxxxxx
+ fmlsl. */
+ return 2016;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1001111xxxxxxxx0100x0xxxxxxxxxx
+ fmlsl. */
+ return 2020;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101111xxxxxxxx0100x0xxxxxxxxxx
+ mls. */
+ return 120;
+ }
}
}
else
@@ -17961,11 +18456,33 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 13) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx01111xxxxxxxx1000x0xxxxxxxxxx
- mul. */
- return 104;
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx001111xxxxxxxx1000x0xxxxxxxxxx
+ mul. */
+ return 104;
+ }
+ else
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0101111xxxxxxxx1000x0xxxxxxxxxx
+ fmlal2. */
+ return 2017;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1101111xxxxxxxx1000x0xxxxxxxxxx
+ fmlal2. */
+ return 2021;
+ }
+ }
}
else
{
@@ -18211,11 +18728,33 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 12) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx01111xxxxxxxx1100x0xxxxxxxxxx
- sqdmulh. */
- return 109;
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx001111xxxxxxxx1100x0xxxxxxxxxx
+ sqdmulh. */
+ return 109;
+ }
+ else
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0101111xxxxxxxx1100x0xxxxxxxxxx
+ fmlsl2. */
+ return 2018;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1101111xxxxxxxx1100x0xxxxxxxxxx
+ fmlsl2. */
+ return 2022;
+ }
+ }
}
else
{
@@ -18598,7 +19137,8 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode)
case 1174: value = 1175; break; /* dmb --> isb. */
case 1175: value = 1176; break; /* isb --> sys. */
case 1176: value = 1181; break; /* sys --> msr. */
- case 1181: return NULL; /* msr --> NULL. */
+ case 1181: value = 2023; break; /* msr --> cfinv. */
+ case 2023: return NULL; /* cfinv --> NULL. */
case 1182: value = 1183; break; /* sysl --> mrs. */
case 1183: return NULL; /* mrs --> NULL. */
case 434: value = 435; break; /* st4 --> st1. */
diff --git a/opcodes/aarch64-tbl.h b/opcodes/aarch64-tbl.h
index 41f7275..4d77eab 100644
--- a/opcodes/aarch64-tbl.h
+++ b/opcodes/aarch64-tbl.h
@@ -4288,7 +4288,66 @@ struct aarch64_opcode aarch64_opcode_table[] =
DOT_INSN ("sdot", 0xe009400, 0xbf20fc00, dotproduct, OP3 (Vd, Vn, Vm), QL_V3DOT, F_SIZEQ),
DOT_INSN ("udot", 0x2f00e000, 0xbf00f000, dotproduct, OP3 (Vd, Vn, Em), QL_V2DOT, F_SIZEQ),
DOT_INSN ("sdot", 0xf00e000, 0xbf00f000, dotproduct, OP3 (Vd, Vn, Em), QL_V2DOT, F_SIZEQ),
-
+/* Crypto SHA2 (optional in ARMv8.2-a). */
+ SHA2_INSN ("sha512h", 0xce608000, 0xffe0fc00, cryptosha2, OP3 (Fd, Fn, Vm), QL_SHA512UPT, 0),
+ SHA2_INSN ("sha512h2", 0xce608400, 0xffe0fc00, cryptosha2, OP3 (Fd, Fn, Vm), QL_SHA512UPT, 0),
+ SHA2_INSN ("sha512su0", 0xcec08000, 0xfffffc00, cryptosha2, OP2 (Vd, Vn), QL_V2SAME2D, 0),
+ SHA2_INSN ("sha512su1", 0xce608800, 0xffe0fc00, cryptosha2, OP3 (Vd, Vn, Vm), QL_V3SAME2D, 0),
+ /* Crypto SHA3 (optional in ARMv8.2-a). */
+ SHA3_INSN ("eor3", 0xce000000, 0xffe08000, cryptosha3, OP4 (Vd, Vn, Vm, Va), QL_V4SAME16B, 0),
+ SHA3_INSN ("rax1", 0xce608c00, 0xffe0fc00, cryptosha3, OP3 (Vd, Vn, Vm), QL_V3SAME2D, 0),
+ SHA3_INSN ("xar", 0xce800000, 0xffe00000, cryptosha3, OP4 (Vd, Vn, Vm, IMM), QL_XAR, 0),
+ SHA3_INSN ("bcax", 0xce200000, 0xffe08000, cryptosha3, OP4 (Vd, Vn, Vm, Va), QL_V4SAME16B, 0),
+ /* Crypto SM3 (optional in ARMv8.2-a). */
+ SM4_INSN ("sm3ss1", 0xce400000, 0xffe08000, cryptosm3, OP4 (Vd, Vn, Vm, Va), QL_V4SAME4S, 0),
+ SM4_INSN ("sm3tt1a", 0xce408000, 0xffe0cc00, cryptosm3, OP3 (Vd, Vn, Em), QL_SM3TT, 0),
+ SM4_INSN ("sm3tt1b", 0xce408400, 0xffe0cc00, cryptosm3, OP3 (Vd, Vn, Em), QL_SM3TT, 0),
+ SM4_INSN ("sm3tt2a", 0xce408800, 0xffe0cc00, cryptosm3, OP3 (Vd, Vn, Em), QL_SM3TT, 0),
+ SM4_INSN ("sm3tt2b", 0xce408c00, 0xffe0cc00, cryptosm3, OP3 (Vd, Vn, Em), QL_SM3TT, 0),
+ SM4_INSN ("sm3partw1", 0xce60c000, 0xffe0fc00, cryptosm3, OP3 (Vd, Vn, Vm), QL_V3SAME4S, 0),
+ SM4_INSN ("sm3partw2", 0xce60c400, 0xffe0fc00, cryptosm3, OP3 (Vd, Vn, Vm), QL_V3SAME4S, 0),
+ /* Crypto SM4 (optional in ARMv8.2-a). */
+ SM4_INSN ("sm4e", 0xcec08400, 0xfffffc00, cryptosm4, OP2 (Vd, Vn), QL_V2SAME4S, 0),
+ SM4_INSN ("sm4ekey", 0xce60c800, 0xffe0fc00, cryptosm4, OP3 (Vd, Vn, Vm), QL_V3SAME4S, 0),
+ /* Crypto FP16 (optional in ARMv8.2-a). */
+ FP16_V8_2_INSN ("fmlal", 0xe20ec00, 0xffa0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3FML2S, 0),
+ FP16_V8_2_INSN ("fmlsl", 0xea0ec00, 0xffa0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3FML2S, 0),
+ FP16_V8_2_INSN ("fmlal2", 0x2e20cc00, 0xffa0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3FML2S, 0),
+ FP16_V8_2_INSN ("fmlsl2", 0x2ea0cc00, 0xffa0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3FML2S, 0),
+
+ FP16_V8_2_INSN ("fmlal", 0x4e20ec00, 0xffa0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3FML4S, 0),
+ FP16_V8_2_INSN ("fmlsl", 0x4ea0ec00, 0xffa0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3FML4S, 0),
+ FP16_V8_2_INSN ("fmlal2", 0x6e20cc00, 0xffa0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3FML4S, 0),
+ FP16_V8_2_INSN ("fmlsl2", 0x6ea0cc00, 0xffa0fc00, asimdsame, OP3 (Vd, Vn, Vm), QL_V3FML4S, 0),
+
+ FP16_V8_2_INSN ("fmlal", 0xf800000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em), QL_V2FML2S, 0),
+ FP16_V8_2_INSN ("fmlsl", 0xf804000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em), QL_V2FML2S, 0),
+ FP16_V8_2_INSN ("fmlal2", 0x2f808000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em), QL_V2FML2S, 0),
+ FP16_V8_2_INSN ("fmlsl2", 0x2f80c000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em), QL_V2FML2S, 0),
+
+ FP16_V8_2_INSN ("fmlal", 0x4f800000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em), QL_V2FML4S, 0),
+ FP16_V8_2_INSN ("fmlsl", 0x4f804000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em), QL_V2FML4S, 0),
+ FP16_V8_2_INSN ("fmlal2", 0x6f808000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em), QL_V2FML4S, 0),
+ FP16_V8_2_INSN ("fmlsl2", 0x6f80c000, 0xffc0f400, asimdelem, OP3 (Vd, Vn, Em), QL_V2FML4S, 0),
+ /* System extensions ARMv8.4-a. */
+ V8_4_INSN ("cfinv", 0xd500401f, 0xffffffff, ic_system, OP0 (), {}, 0),
+ V8_4_INSN ("rmif", 0xba000400, 0xffe07c10, ic_system, OP3 (Rn, IMM_2, MASK), QL_RMIF, 0),
+ V8_4_INSN ("setf8", 0x3a00080d, 0xfffffc1f, ic_system, OP1 (Rn), QL_SETF, 0),
+ V8_4_INSN ("setf16", 0x3a00480d, 0xfffffc1f, ic_system, OP1 (Rn), QL_SETF, 0),
+ /* Memory access instructions ARMv8.4-a. */
+ V8_4_INSN ("stlurb" , 0x19000000, 0xffe00c00, ldst_unscaled, OP2 (Rt, ADDR_OFFSET), QL_STLW, 0),
+ V8_4_INSN ("ldapurb", 0x19400000, 0xffe00c00, ldst_unscaled, OP2 (Rt, ADDR_OFFSET), QL_STLW, 0),
+ V8_4_INSN ("ldapursb", 0x19c00000, 0xffe00c00, ldst_unscaled, OP2 (Rt, ADDR_OFFSET), QL_STLW, 0),
+ V8_4_INSN ("ldapursb", 0x19800000, 0xffe00c00, ldst_unscaled, OP2 (Rt, ADDR_OFFSET), QL_STLX, 0),
+ V8_4_INSN ("stlurh", 0x59000000, 0xffe00c00, ldst_unscaled, OP2 (Rt, ADDR_OFFSET), QL_STLW, 0),
+ V8_4_INSN ("ldapurh", 0x59400000, 0xffe00c00, ldst_unscaled, OP2 (Rt, ADDR_OFFSET), QL_STLW, 0),
+ V8_4_INSN ("ldapursh", 0x59c00000, 0xffe00c00, ldst_unscaled, OP2 (Rt, ADDR_OFFSET), QL_STLW, 0),
+ V8_4_INSN ("ldapursh", 0x59800000, 0xffe00c00, ldst_unscaled, OP2 (Rt, ADDR_OFFSET), QL_STLX, 0),
+ V8_4_INSN ("stlur", 0x99000000, 0xffe00c00, ldst_unscaled, OP2 (Rt, ADDR_OFFSET), QL_STLW, 0),
+ V8_4_INSN ("ldapur", 0x99400000, 0xffe00c00, ldst_unscaled, OP2 (Rt, ADDR_OFFSET), QL_STLW, 0),
+ V8_4_INSN ("ldapursw", 0x99800000, 0xffe00c00, ldst_unscaled, OP2 (Rt, ADDR_OFFSET), QL_STLX, 0),
+ V8_4_INSN ("stlur", 0xd9000000, 0xffe00c00, ldst_unscaled, OP2 (Rt, ADDR_OFFSET), QL_STLX, 0),
+ V8_4_INSN ("ldapur", 0xd9400000, 0xffe00c00, ldst_unscaled, OP2 (Rt, ADDR_OFFSET), QL_STLX, 0),
{0, 0, 0, 0, 0, 0, {}, {}, 0, 0, NULL},
};