X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=opcodes%2Faarch64-dis-2.c;h=3473cfb8243958cf32b50e1e468b30680404741e;hb=40bd13ced9c03c74af9d55a98d6e06ddcf11429c;hp=3dccd6d31c1c8ac843a7321bc78909c1ba3bb9e7;hpb=28ed815ad2b0cb93eede83022269d6a60b9cdf31;p=binutils-gdb.git diff --git a/opcodes/aarch64-dis-2.c b/opcodes/aarch64-dis-2.c index 3dccd6d31c1..3473cfb8243 100644 --- a/opcodes/aarch64-dis-2.c +++ b/opcodes/aarch64-dis-2.c @@ -1,5 +1,5 @@ /* This file is automatically generated by aarch64-gen. Do not edit! */ -/* Copyright (C) 2012-2019 Free Software Foundation, Inc. +/* Copyright (C) 2012-2020 Free Software Foundation, Inc. Contributed by ARM Ltd. This file is part of the GNU opcodes library. @@ -2368,7 +2368,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00011001000xxxxxxxxx00xxxxxxxxxx stlurb. */ - return 2086; + return 2377; } else { @@ -2376,7 +2376,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 10011001000xxxxxxxxx00xxxxxxxxxx stlur. */ - return 2094; + return 2385; } } else @@ -2387,7 +2387,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01011001000xxxxxxxxx00xxxxxxxxxx stlurh. */ - return 2090; + return 2381; } else { @@ -2395,7 +2395,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 11011001000xxxxxxxxx00xxxxxxxxxx stlur. */ - return 2097; + return 2388; } } } @@ -2475,7 +2475,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00011001010xxxxxxxxx00xxxxxxxxxx ldapurb. */ - return 2087; + return 2378; } else { @@ -2483,7 +2483,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 10011001010xxxxxxxxx00xxxxxxxxxx ldapur. */ - return 2095; + return 2386; } } else @@ -2494,7 +2494,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01011001010xxxxxxxxx00xxxxxxxxxx ldapurh. */ - return 2091; + return 2382; } else { @@ -2502,7 +2502,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 11011001010xxxxxxxxx00xxxxxxxxxx ldapur. */ - return 2098; + return 2389; } } } @@ -2585,7 +2585,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00011001100xxxxxxxxx00xxxxxxxxxx ldapursb. */ - return 2089; + return 2380; } else { @@ -2593,7 +2593,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 10011001100xxxxxxxxx00xxxxxxxxxx ldapursw. */ - return 2096; + return 2387; } } else @@ -2602,7 +2602,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1011001100xxxxxxxxx00xxxxxxxxxx ldapursh. */ - return 2093; + return 2384; } } else @@ -2613,7 +2613,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011001110xxxxxxxxx00xxxxxxxxxx ldapursb. */ - return 2088; + return 2379; } else { @@ -2621,7 +2621,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1011001110xxxxxxxxx00xxxxxxxxxx ldapursh. */ - return 2092; + return 2383; } } } @@ -3107,7 +3107,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010x00xxxxxx0xx10xxxxxxxxxx setf8. */ - return 2084; + return 2375; } else { @@ -3115,7 +3115,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010x00xxxxxx1xx10xxxxxxxxxx setf16. */ - return 2085; + return 2376; } } else @@ -3261,7 +3261,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010000xxxxxxxxx01xxxxxxxxxx rmif. */ - return 2083; + return 2374; } else { @@ -3799,7 +3799,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx000000000xxxxxxxxxxxxx add. */ - return 1275; + return 1276; } else { @@ -3807,7 +3807,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx010000000xxxxxxxxxxxxx mul. */ - return 1744; + return 1745; } } else @@ -3818,7 +3818,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx001000000xxxxxxxxxxxxx smax. */ - return 1823; + return 1824; } else { @@ -3826,7 +3826,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx011000000xxxxxxxxxxxxx orr. */ - return 1755; + return 1756; } } } @@ -3838,7 +3838,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0x0100000xxxxxxxxxxxxx sdiv. */ - return 1814; + return 1815; } else { @@ -3846,7 +3846,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0x1100000xxxxxxxxxxxxx sabd. */ - return 1805; + return 1806; } } } @@ -3860,7 +3860,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0x0010000xxxxxxxxxxxxx smulh. */ - return 1828; + return 1829; } else { @@ -3870,7 +3870,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx001010000xxxxxxxxxxxxx smin. */ - return 1826; + return 1827; } else { @@ -3878,7 +3878,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx011010000xxxxxxxxxxxxx and. */ - return 1283; + return 1284; } } } @@ -3888,7 +3888,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0xx110000xxxxxxxxxxxxx sdivr. */ - return 1815; + return 1816; } } } @@ -3904,7 +3904,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0x0001000xxxxxxxxxxxxx sub. */ - return 1944; + return 1945; } else { @@ -3914,7 +3914,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx001001000xxxxxxxxxxxxx umax. */ - return 1972; + return 1973; } else { @@ -3922,7 +3922,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx011001000xxxxxxxxxxxxx eor. */ - return 1370; + return 1371; } } } @@ -3934,7 +3934,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0x0101000xxxxxxxxxxxxx udiv. */ - return 1966; + return 1967; } else { @@ -3942,7 +3942,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0x1101000xxxxxxxxxxxxx uabd. */ - return 1957; + return 1958; } } } @@ -3958,7 +3958,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx000011000xxxxxxxxxxxxx subr. */ - return 1946; + return 1947; } else { @@ -3966,7 +3966,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx010011000xxxxxxxxxxxxx umulh. */ - return 1977; + return 1978; } } else @@ -3977,7 +3977,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx001011000xxxxxxxxxxxxx umin. */ - return 1975; + return 1976; } else { @@ -3985,7 +3985,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx011011000xxxxxxxxxxxxx bic. */ - return 1295; + return 1296; } } } @@ -3995,7 +3995,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0xx111000xxxxxxxxxxxxx udivr. */ - return 1967; + return 1968; } } } @@ -4008,7 +4008,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x00x0xxxxx000xxxxxxxxxxxxx ld1sb. */ - return 1557; + return 1558; } else { @@ -4016,48 +4016,81 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x01x0xxxxx000xxxxxxxxxxxxx ld1sh. */ - return 1568; + return 1569; } } } else { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x00x0xxxxx000xxxxxxxxxxxxx - ld1sb. */ - return 1561; - } - else + if (((word >> 31) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { if (((word >> 10) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 010001x01x0xxxxx000xx0xxxxxxxxxx - sdot. */ - return 1816; + if (((word >> 11) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx000000xxxxxxxxxx + sdot. */ + return 1817; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx000010xxxxxxxxxx + sqdmlalbt. */ + return 2167; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 010001x01x0xxxxx000xx1xxxxxxxxxx - udot. */ - return 1968; + if (((word >> 11) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx000001xxxxxxxxxx + udot. */ + return 1969; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx000011xxxxxxxxxx + sqdmlslbt. */ + return 2174; + } } } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx0001xxxxxxxxxxxx + cdot. */ + return 2056; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x00x0xxxxx000xxxxxxxxxxxxx + ld1sb. */ + return 1562; + } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 110001x01x0xxxxx000xxxxxxxxxxxxx ld1sh. */ - return 1572; + return 1573; } } } @@ -4078,7 +4111,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx000000xxxxxxxxxx add. */ - return 1273; + return 1274; } else { @@ -4086,7 +4119,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx000100xxxxxxxxxx sqadd. */ - return 1830; + return 1831; } } else @@ -4095,7 +4128,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx000x10xxxxxxxxxx sqsub. */ - return 1860; + return 1861; } } else @@ -4108,7 +4141,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx000001xxxxxxxxxx sub. */ - return 1942; + return 1943; } else { @@ -4116,7 +4149,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx000101xxxxxxxxxx uqadd. */ - return 1978; + return 1979; } } else @@ -4125,7 +4158,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx000x11xxxxxxxxxx uqsub. */ - return 2008; + return 2009; } } } @@ -4137,7 +4170,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x00x1xxxxx000xxxxxxxxxxxxx prfb. */ - return 1763; + return 1764; } else { @@ -4145,60 +4178,52 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x01x1xxxxx000xxxxxxxxxxxxx ld1sh. */ - return 1569; + return 1570; } } } else { if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x00x1xxxxx000xxxxxxxxxxxxx - prfb. */ - return 1764; - } - else { if (((word >> 31) & 0x1) == 0) { if (((word >> 10) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 010001x0101xxxxx000xx0xxxxxxxxxx - sdot. */ - return 1817; + 010001x00x1xxxxx000x00xxxxxxxxxx + sqrdmlah. */ + return 2192; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 010001x0111xxxxx000xx0xxxxxxxxxx - sdot. */ - return 1818; + 010001x00x1xxxxx000x10xxxxxxxxxx + mla. */ + return 2099; } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 010001x0101xxxxx000xx1xxxxxxxxxx - udot. */ - return 1969; + 010001x00x1xxxxx000x01xxxxxxxxxx + sqrdmlsh. */ + return 2196; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 010001x0111xxxxx000xx1xxxxxxxxxx - udot. */ - return 1970; + 010001x00x1xxxxx000x11xxxxxxxxxx + mls. */ + return 2102; } } } @@ -4206,219 +4231,1456 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 110001x01x1xxxxx000xxxxxxxxxxxxx - ld1sh. */ - return 1573; + 110001x00x1xxxxx000xxxxxxxxxxxxx + prfb. */ + return 1765; } } - } - } - } - else - { - if (((word >> 30) & 0x1) == 0) - { - if (((word >> 31) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) + else { - if (((word >> 16) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - if (((word >> 18) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx0000x0100xxxxxxxxxxxxx - asr. */ - return 1291; + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx000000xxxxxxxxxx + sdot. */ + return 1818; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx000000xxxxxxxxxx + sdot. */ + return 1819; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx0100x0100xxxxxxxxxxxxx - asr. */ - return 1289; + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx000100xxxxxxxxxx + sqrdmlah. */ + return 2193; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx000100xxxxxxxxxx + sqrdmlah. */ + return 2194; + } } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx0x10x0100xxxxxxxxxxxxx - asr. */ - return 1290; - } - } - else - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx00x1x0100xxxxxxxxxxxxx - asrd. */ - return 1292; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx01x1x0100xxxxxxxxxxxxx - asrr. */ - return 1293; - } - } - } - else - { - if (((word >> 17) & 0x1) == 0) - { - if (((word >> 18) & 0x1) == 0) - { - if (((word >> 19) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx000001100xxxxxxxxxxxxx - lsr. */ - return 1735; + 010001x0101xxxxx000010xxxxxxxxxx + mla. */ + return 2100; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx010001100xxxxxxxxxxxxx - lsr. */ - return 1733; + 010001x0111xxxxx000010xxxxxxxxxx + mla. */ + return 2101; } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx0x1001100xxxxxxxxxxxxx - lsr. */ - return 1734; + 010001x01x1xxxxx000110xxxxxxxxxx + usdot. */ + return 2395; } } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx0xx101100xxxxxxxxxxxxx - lsrr. */ - return 1736; - } } else { - if (((word >> 18) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx000011100xxxxxxxxxxxxx - lsl. */ - return 1729; + 010001x0101xxxxx000001xxxxxxxxxx + udot. */ + return 1970; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx010011100xxxxxxxxxxxxx - lsl. */ - return 1727; + 010001x0111xxxxx000001xxxxxxxxxx + udot. */ + return 1971; } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx0x1011100xxxxxxxxxxxxx - lsl. */ - return 1728; + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx000101xxxxxxxxxx + sqrdmlsh. */ + return 2197; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx000101xxxxxxxxxx + sqrdmlsh. */ + return 2198; + } } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx0xx111100xxxxxxxxxxxxx - lslr. */ - return 1730; + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx000011xxxxxxxxxx + mls. */ + return 2103; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx000011xxxxxxxxxx + mls. */ + return 2104; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x01x1xxxxx000111xxxxxxxxxx + sudot. */ + return 2396; + } } } } - } - else - { - if (((word >> 10) & 0x1) == 0) + else { - if (((word >> 12) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx1xxxxx1000x0xxxxxxxxxx - asr. */ - return 1287; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx1xxxxx1001x0xxxxxxxxxx - asr. */ - return 1288; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x01x1xxxxx000xxxxxxxxxxxxx + ld1sh. */ + return 1574; } - else + } + } + } + } + else + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 16) & 0x1) == 0) + { + if (((word >> 17) & 0x1) == 0) { - if (((word >> 11) & 0x1) == 0) + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 19) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx000000100xxxxxxxxxxxxx + asr. */ + return 1292; + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx010000100xxxxxxxxxxxxx + asr. */ + return 1290; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx010000100xxxxxxxxxxxxx + shadd. */ + return 2133; + } + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx001000100xxxxxxxxxxxxx + sqshl. */ + return 2211; + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx011000100xxxxxxxxxxxxx + asr. */ + return 1291; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx011000100xxxxxxxxxxxxx + sqadd. */ + return 2162; + } + } + } + } + else + { + if (((word >> 19) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx000100100xxxxxxxxxxxxx + asrd. */ + return 1293; + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx010100100xxxxxxxxxxxxx + asrr. */ + return 1294; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx010100100xxxxxxxxxxxxx + srhadd. */ + return 2224; + } + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx001100100xxxxxxxxxxxxx + srshr. */ + return 2228; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx001100100xxxxxxxxxxxxx + sqshlr. */ + return 2212; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx011100100xxxxxxxxxxxxx + suqadd. */ + return 2248; + } + } + } + } + else + { + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 19) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx000010100xxxxxxxxxxxxx + srshl. */ + return 2226; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx010010100xxxxxxxxxxxxx + shsub. */ + return 2136; + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx001010100xxxxxxxxxxxxx + sqrshl. */ + return 2204; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx011010100xxxxxxxxxxxxx + sqsub. */ + return 2218; + } + } + } + else + { + if (((word >> 19) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx000110100xxxxxxxxxxxxx + sqshl. */ + return 2210; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx000110100xxxxxxxxxxxxx + srshlr. */ + return 2227; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx010110100xxxxxxxxxxxxx + shsubr. */ + return 2137; + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx001110100xxxxxxxxxxxxx + sqrshlr. */ + return 2205; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx011110100xxxxxxxxxxxxx + sqsubr. */ + return 2219; + } + } + } + } + } + else + { + if (((word >> 17) & 0x1) == 0) + { + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 19) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx000001100xxxxxxxxxxxxx + lsr. */ + return 1736; + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx010001100xxxxxxxxxxxxx + lsr. */ + return 1734; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx010001100xxxxxxxxxxxxx + uhadd. */ + return 2261; + } + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx001001100xxxxxxxxxxxxx + uqshl. */ + return 2291; + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx011001100xxxxxxxxxxxxx + lsr. */ + return 1735; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx011001100xxxxxxxxxxxxx + uqadd. */ + return 2285; + } + } + } + } + else + { + if (((word >> 19) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0x0101100xxxxxxxxxxxxx + lsrr. */ + return 1737; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0x0101100xxxxxxxxxxxxx + urhadd. */ + return 2300; + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx001101100xxxxxxxxxxxxx + urshr. */ + return 2303; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx001101100xxxxxxxxxxxxx + uqshlr. */ + return 2292; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx011101100xxxxxxxxxxxxx + usqadd. */ + return 2308; + } + } + } + } + else + { + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 19) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx000011100xxxxxxxxxxxxx + lsl. */ + return 1730; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx000011100xxxxxxxxxxxxx + urshl. */ + return 2301; + } + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx010011100xxxxxxxxxxxxx + lsl. */ + return 1728; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx010011100xxxxxxxxxxxxx + uhsub. */ + return 2262; + } + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx001011100xxxxxxxxxxxxx + uqrshl. */ + return 2286; + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx011011100xxxxxxxxxxxxx + lsl. */ + return 1729; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx011011100xxxxxxxxxxxxx + uqsub. */ + return 2295; + } + } + } + } + else + { + if (((word >> 19) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx000111100xxxxxxxxxxxxx + uqshl. */ + return 2290; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx000111100xxxxxxxxxxxxx + urshlr. */ + return 2302; + } + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx010111100xxxxxxxxxxxxx + lslr. */ + return 1731; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx010111100xxxxxxxxxxxxx + uhsubr. */ + return 2263; + } + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx001111100xxxxxxxxxxxxx + sqshlu. */ + return 2213; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx001111100xxxxxxxxxxxxx + uqrshlr. */ + return 2287; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx011111100xxxxxxxxxxxxx + uqsubr. */ + return 2296; + } + } + } + } + } + } + else + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx1000x0xxxxxxxxxx + asr. */ + return 1288; + } + else + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0x01xxxxx1000x0xxxxxxxxxx + smlalb. */ + return 2141; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0x11xxxxx1000x0xxxxxxxxxx + smlalb. */ + return 2142; + } + } + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx1001x0xxxxxxxxxx + asr. */ + return 1289; + } + else + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0x01xxxxx1001x0xxxxxxxxxx + umlalb. */ + return 2266; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0x11xxxxx1001x0xxxxxxxxxx + umlalb. */ + return 2267; + } + } + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx100001xxxxxxxxxx + lsr. */ + return 1732; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx100011xxxxxxxxxx + lsl. */ + return 1726; + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0x01xxxxx1000x1xxxxxxxxxx + smlalt. */ + return 2144; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0x11xxxxx1000x1xxxxxxxxxx + smlalt. */ + return 2145; + } + } + } + else + { + if (((word >> 30) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx100101xxxxxxxxxx + lsr. */ + return 1733; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx100111xxxxxxxxxx + lsl. */ + return 1727; + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0x01xxxxx1001x1xxxxxxxxxx + umlalt. */ + return 2269; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0x11xxxxx1001x1xxxxxxxxxx + umlalt. */ + return 2270; + } + } + } + } + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1x0001x0000xxxxx100xxxxxxxxxxxxx + ldnt1sb. */ + return 2093; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1x0001x0100xxxxx100xxxxxxxxxxxxx + ldnt1sh. */ + return 2094; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x0001xxxxx100xxxxxxxxxxxxx + ld1sb. */ + return 1564; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x0001xxxxx100xxxxxxxxxxxxx + ld1sb. */ + return 1568; + } + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x0101xxxxx100xxxxxxxxxxxxx + ld1sh. */ + return 1577; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x0101xxxxx100xxxxxxxxxxxxx + ld1sh. */ + return 1580; + } + } + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x001xxxxxx100xxxxxxxxxxxxx + ld1rb. */ + return 1534; + } + else + { + if (((word >> 21) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x0010xxxxx100xxxxxxxxxxxxx + ld1sb. */ + return 1563; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x0011xxxxx100xxxxxxxxxxxxx + prfb. */ + return 1766; + } + } + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x011xxxxxx100xxxxxxxxxxxxx + ld1rsw. */ + return 1555; + } + else + { + if (((word >> 21) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x0110xxxxx100xxxxxxxxxxxxx + ld1sh. */ + return 1575; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x0111xxxxx100xxxxxxxxxxxxx + ld1sh. */ + return 1576; + } + } + } + } + } + } + } + else + { + if (((word >> 15) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0xxxxx010xxxxxxxxxxxxx + mla. */ + return 1739; + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x00x0xxxxx010xxxxxxxxxxxxx + ld1b. */ + return 1500; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x01x0xxxxx010xxxxxxxxxxxxx + ld1h. */ + return 1520; + } + } + } + else + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx010000xxxxxxxxxx + smlalb. */ + return 2143; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx010100xxxxxxxxxx + smlslb. */ + return 2149; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx010010xxxxxxxxxx + umlalb. */ + return 2268; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx010110xxxxxxxxxx + umlslb. */ + return 2274; + } + } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx010001xxxxxxxxxx + smlalt. */ + return 2146; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx010101xxxxxxxxxx + smlslt. */ + return 2152; + } + } + else { if (((word >> 12) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx1xxxxx100001xxxxxxxxxx - lsr. */ - return 1731; + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx010011xxxxxxxxxx + umlalt. */ + return 2271; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx010111xxxxxxxxxx + umlslt. */ + return 2277; + } + } + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x00x0xxxxx010xxxxxxxxxxxxx + ld1b. */ + return 1505; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x01x0xxxxx010xxxxxxxxxxxxx + ld1h. */ + return 1525; + } + } + } + } + else + { + if (((word >> 30) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx010000xxxxxxxxxx + index. */ + return 1491; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx010001xxxxxxxxxx + index. */ + return 1492; + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0001xxxxx01010xxxxxxxxxxx + addvl. */ + return 1278; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0101xxxxx01010xxxxxxxxxxx + rdvl. */ + return 1800; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0x11xxxxx01010xxxxxxxxxxx + addpl. */ + return 1277; + } + } + } + else + { + if (((word >> 10) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx010x10xxxxxxxxxx + index. */ + return 1493; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx010x11xxxxxxxxxx + index. */ + return 1490; + } + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x00x1xxxxx010xxxxxxxxxxxxx + prfw. */ + return 1784; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x01x1xxxxx010xxxxxxxxxxxxx + ld1h. */ + return 1521; + } + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x00x1xxxxx010xxxxxxxxxxxxx + prfw. */ + return 1786; + } + else + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx010xxxxxxxxxxxxx + cdot. */ + return 2058; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx010xxxxxxxxxxxxx + cdot. */ + return 2057; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x01x1xxxxx010xxxxxxxxxxxxx + ld1h. */ + return 1526; + } + } + } + } + } + else + { + if (((word >> 30) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0xxxxx110xxxxxxxxxxxxx + mad. */ + return 1738; + } + else + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0x010xxxx110x00xxxxxxxxxx + sqincw. */ + return 1858; + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x00110xxxx110x00xxxxxxxxxx + sqinch. */ + return 1852; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x01110xxxx110x00xxxxxxxxxx + sqincd. */ + return 1849; + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx1xxxxx100101xxxxxxxxxx - lsr. */ - return 1732; + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0x011xxxx110x00xxxxxxxxxx + incw. */ + return 1488; + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x00111xxxx110x00xxxxxxxxxx + inch. */ + return 1484; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x01111xxxx110x00xxxxxxxxxx + incd. */ + return 1482; + } + } } } else { - if (((word >> 12) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx1xxxxx100011xxxxxxxxxx - lsl. */ - return 1725; + 000001x0x01xxxxx110x10xxxxxxxxxx + sqdecw. */ + return 1844; + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0011xxxxx110x10xxxxxxxxxx + sqdech. */ + return 1838; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0111xxxxx110x10xxxxxxxxxx + sqdecd. */ + return 1835; + } + } + } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0x010xxxx110x01xxxxxxxxxx + uqincw. */ + return 2006; + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x00110xxxx110x01xxxxxxxxxx + uqinch. */ + return 2000; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x01110xxxx110x01xxxxxxxxxx + uqincd. */ + return 1997; + } + } } else + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0x011xxxx110x01xxxxxxxxxx + decw. */ + return 1363; + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x00111xxxx110x01xxxxxxxxxx + dech. */ + return 1359; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x01111xxxx110x01xxxxxxxxxx + decd. */ + return 1357; + } + } + } + } + else + { + if (((word >> 22) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx1xxxxx100111xxxxxxxxxx - lsl. */ - return 1726; + 000001x0x01xxxxx110x11xxxxxxxxxx + uqdecw. */ + return 1992; + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0011xxxxx110x11xxxxxxxxxx + uqdech. */ + return 1986; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0111xxxxx110x11xxxxxxxxxx + uqdecd. */ + return 1983; + } } } } @@ -4428,21 +5690,43 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 22) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 21) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x000xxxxxx100xxxxxxxxxxxxx - ld1sb. */ - return 1563; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x0000xxxxx110xxxxxxxxxxxxx + prfb. */ + return 1763; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x0100xxxxx110xxxxxxxxxxxxx + prfh. */ + return 1778; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x010xxxxxx100xxxxxxxxxxxxx - ld1sh. */ - return 1576; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x0001xxxxx110xxxxxxxxxxxxx + ld1b. */ + return 1507; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x0101xxxxx110xxxxxxxxxxxxx + ld1h. */ + return 1529; + } } } else @@ -4451,17 +5735,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x001xxxxxx100xxxxxxxxxxxxx + 100001x001xxxxxx110xxxxxxxxxxxxx ld1rb. */ - return 1533; + return 1536; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x011xxxxxx100xxxxxxxxxxxxx - ld1rsw. */ - return 1554; + 100001x011xxxxxx110xxxxxxxxxxxxx + ld1rh. */ + return 1540; } } } @@ -4469,25 +5753,6 @@ aarch64_opcode_lookup_1 (uint32_t word) else { if (((word >> 21) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x00x0xxxxx100xxxxxxxxxxxxx - ld1sb. */ - return 1562; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x01x0xxxxx100xxxxxxxxxxxxx - ld1sh. */ - return 1574; - } - } - else { if (((word >> 22) & 0x1) == 0) { @@ -4495,17 +5760,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x10001x0001xxxxx100xxxxxxxxxxxxx - ld1sb. */ - return 1567; + x10001x0000xxxxx110xxxxxxxxxxxxx + ldnt1b. */ + return 2089; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x10001x0101xxxxx100xxxxxxxxxxxxx - ld1sh. */ - return 1579; + x10001x0100xxxxx110xxxxxxxxxxxxx + ldnt1h. */ + return 2092; } } else @@ -4514,154 +5779,267 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x10001x0011xxxxx100xxxxxxxxxxxxx - prfb. */ - return 1765; + x10001x0010xxxxx110xxxxxxxxxxxxx + ld1b. */ + return 1506; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x10001x0111xxxxx100xxxxxxxxxxxxx - ld1sh. */ - return 1575; + x10001x0110xxxxx110xxxxxxxxxxxxx + ld1h. */ + return 1527; } } } - } - } - } - else - { - if (((word >> 15) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) - { - if (((word >> 30) & 0x1) == 0) + else { - if (((word >> 31) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx0xxxxx010xxxxxxxxxxxxx - mla. */ - return 1738; - } - else + if (((word >> 22) & 0x1) == 0) { if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x00x0xxxxx010xxxxxxxxxxxxx + x10001x0001xxxxx110xxxxxxxxxxxxx ld1b. */ - return 1499; + return 1512; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x01x0xxxxx010xxxxxxxxxxxxx - ld1h. */ - return 1519; + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx1100x0xxxxxxxxxx + smullb. */ + return 2154; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx1101x0xxxxxxxxxx + umullb. */ + return 2279; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx1100x1xxxxxxxxxx + smullt. */ + return 2157; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx1101x1xxxxxxxxxx + umullt. */ + return 2282; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x0101xxxxx110xxxxxxxxxxxxx + ld1h. */ + return 1533; + } } } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x00x0xxxxx010xxxxxxxxxxxxx - ld1b. */ - return 1504; - } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x01x0xxxxx010xxxxxxxxxxxxx - ld1h. */ - return 1524; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x0011xxxxx110xxxxxxxxxxxxx + prfw. */ + return 1787; + } + else + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx1100x0xxxxxxxxxx + smullb. */ + return 2155; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx1101x0xxxxxxxxxx + umullb. */ + return 2280; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx1100x1xxxxxxxxxx + smullt. */ + return 2158; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx1101x1xxxxxxxxxx + umullt. */ + return 2283; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x0111xxxxx110xxxxxxxxxxxxx + ld1h. */ + return 1528; + } + } } } } - else + } + } + } + else + { + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 15) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) { if (((word >> 30) & 0x1) == 0) { if (((word >> 31) & 0x1) == 0) { - if (((word >> 11) & 0x1) == 0) + if (((word >> 17) & 0x1) == 0) { - if (((word >> 12) & 0x1) == 0) + if (((word >> 19) & 0x1) == 0) { - if (((word >> 10) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx1xxxxx010000xxxxxxxxxx - index. */ - return 1490; + if (((word >> 16) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx000x00001xxxxxxxxxxxxx + saddv. */ + return 1807; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx000x01001xxxxxxxxxxxxx + uaddv. */ + return 1959; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx1xxxxx010001xxxxxxxxxx - index. */ - return 1491; + 000001x0xx010x0x001xxxxxxxxxxxxx + movprfx. */ + return 1742; } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 16) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0001xxxxx01010xxxxxxxxxxx - addvl. */ - return 1277; + 000001x0xx001x00001xxxxxxxxxxxxx + smaxv. */ + return 1825; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0101xxxxx01010xxxxxxxxxxx - rdvl. */ - return 1799; + 000001x0xx011x00001xxxxxxxxxxxxx + orv. */ + return 1759; + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx001x01001xxxxxxxxxxxxx + umaxv. */ + return 1974; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx011x01001xxxxxxxxxxxxx + eorv. */ + return 1374; } } + } + } + else + { + if (((word >> 16) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx00xx10001xxxxxxxxxxxxx + sminv. */ + return 1828; + } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0x11xxxxx01010xxxxxxxxxxx - addpl. */ - return 1276; + 000001x0xx01xx10001xxxxxxxxxxxxx + andv. */ + return 1287; } } - } - else - { - if (((word >> 10) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx1xxxxx010x10xxxxxxxxxx - index. */ - return 1492; - } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx1xxxxx010x11xxxxxxxxxx - index. */ - return 1489; + 000001x0xx0xxx11001xxxxxxxxxxxxx + uminv. */ + return 1977; } } } @@ -4671,215 +6049,108 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x00x1xxxxx010xxxxxxxxxxxxx - prfw. */ - return 1783; + 100001x00x0xxxxx001xxxxxxxxxxxxx + ldff1sb. */ + return 1658; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x01x1xxxxx010xxxxxxxxxxxxx - ld1h. */ - return 1520; + 100001x01x0xxxxx001xxxxxxxxxxxxx + ldff1sh. */ + return 1669; } } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x00x1xxxxx010xxxxxxxxxxxxx - prfw. */ - return 1785; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx0010xxxxxxxxxxxx + cmla. */ + return 2059; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx0011xxxxxxxxxxxx + sqrdcmlah. */ + return 2191; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x01x1xxxxx010xxxxxxxxxxxxx - ld1h. */ - return 1525; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x00x0xxxxx001xxxxxxxxxxxxx + ldff1sb. */ + return 1665; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x01x0xxxxx001xxxxxxxxxxxxx + ldff1sh. */ + return 1675; + } } } } - } - else - { - if (((word >> 30) & 0x1) == 0) + else { - if (((word >> 31) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { - if (((word >> 21) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx0xxxxx110xxxxxxxxxxxxx - mad. */ - return 1737; - } - else + if (((word >> 31) & 0x1) == 0) { if (((word >> 10) & 0x1) == 0) { if (((word >> 11) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0x010xxxx110x00xxxxxxxxxx - sqincw. */ - return 1857; - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x00110xxxx110x00xxxxxxxxxx - sqinch. */ - return 1851; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x01110xxxx110x00xxxxxxxxxx - sqincd. */ - return 1848; - } - } - } - else - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0x011xxxx110x00xxxxxxxxxx - incw. */ - return 1487; - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x00111xxxx110x00xxxxxxxxxx - inch. */ - return 1483; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x01111xxxx110x00xxxxxxxxxx - incd. */ - return 1481; - } - } - } - } - else { if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0x01xxxxx110x10xxxxxxxxxx - sqdecw. */ - return 1843; - } - else { if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0011xxxxx110x10xxxxxxxxxx - sqdech. */ - return 1837; + 000001x0001xxxxx001x00xxxxxxxxxx + and. */ + return 1282; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0111xxxxx110x10xxxxxxxxxx - sqdecd. */ - return 1834; + 000001x0101xxxxx001x00xxxxxxxxxx + eor. */ + return 1369; } } - } - } - else - { - if (((word >> 11) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) + else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0x010xxxx110x01xxxxxxxxxx - uqincw. */ - return 2005; + 000001x0011xxxxx001x00xxxxxxxxxx + orr. */ + return 1754; } else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x00110xxxx110x01xxxxxxxxxx - uqinch. */ - return 1999; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x01110xxxx110x01xxxxxxxxxx - uqincd. */ - return 1996; - } - } - } - else - { - if (((word >> 22) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0x011xxxx110x01xxxxxxxxxx - decw. */ - return 1362; - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x00111xxxx110x01xxxxxxxxxx - dech. */ - return 1358; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x01111xxxx110x01xxxxxxxxxx - decd. */ - return 1356; - } + 000001x0111xxxxx001x00xxxxxxxxxx + bic. */ + return 1295; } } } @@ -4889,73 +6160,70 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0x01xxxxx110x11xxxxxxxxxx - uqdecw. */ - return 1991; + 000001x0x01xxxxx001x10xxxxxxxxxx + eor3. */ + return 2062; } else { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0011xxxxx110x11xxxxxxxxxx - uqdech. */ - return 1985; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0111xxxxx110x11xxxxxxxxxx - uqdecd. */ - return 1982; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0x11xxxxx001x10xxxxxxxxxx + bcax. */ + return 2051; } } } - } - } - else - { - if (((word >> 22) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x0000xxxxx110xxxxxxxxxxxxx - prfb. */ - return 1762; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x0100xxxxx110xxxxxxxxxxxxx - prfh. */ - return 1777; - } - } else { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x0001xxxxx110xxxxxxxxxxxxx - ld1b. */ - return 1506; - } - else + if (((word >> 11) & 0x1) == 0) { /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x0101xxxxx110xxxxxxxxxxxxx - ld1h. */ - return 1528; + 10987654321098765432109876543210 + 000001x0xx1xxxxx001x01xxxxxxxxxx + xar. */ + return 2324; + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0001xxxxx001x11xxxxxxxxxx + bsl. */ + return 2052; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0101xxxxx001x11xxxxxxxxxx + bsl2n. */ + return 2054; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0011xxxxx001x11xxxxxxxxxx + bsl1n. */ + return 2053; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0111xxxxx001x11xxxxxxxxxx + nbsl. */ + return 2109; + } + } } } } @@ -4965,337 +6233,430 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x001xxxxxx110xxxxxxxxxxxxx - ld1rb. */ - return 1535; + 100001x00x1xxxxx001xxxxxxxxxxxxx + prfh. */ + return 1777; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x011xxxxxx110xxxxxxxxxxxxx - ld1rh. */ - return 1539; + 100001x01x1xxxxx001xxxxxxxxxxxxx + ldff1sh. */ + return 1670; } } } - } - else - { - if (((word >> 21) & 0x1) == 0) + else { if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x10001x00x0xxxxx110xxxxxxxxxxxxx - ld1b. */ - return 1505; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x01x0xxxxx110xxxxxxxxxxxxx - ld1h. */ - return 1526; - } - } - else - { - if (((word >> 22) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x0001xxxxx110xxxxxxxxxxxxx - ld1b. */ - return 1511; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x0101xxxxx110xxxxxxxxxxxxx - ld1h. */ - return 1532; - } + x10001x00x1xxxxx001xxxxxxxxxxxxx + prfh. */ + return 1779; } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x0011xxxxx110xxxxxxxxxxxxx - prfw. */ - return 1786; + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx0010x0xxxxxxxxxx + sqdmlalb. */ + return 2164; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx0010x0xxxxxxxxxx + sqdmlalb. */ + return 2165; + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx0011x0xxxxxxxxxx + sqdmlslb. */ + return 2171; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx0011x0xxxxxxxxxx + sqdmlslb. */ + return 2172; + } + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx0010x1xxxxxxxxxx + sqdmlalt. */ + return 2168; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx0010x1xxxxxxxxxx + sqdmlalt. */ + return 2169; + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx0011x1xxxxxxxxxx + sqdmlslt. */ + return 2175; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx0011x1xxxxxxxxxx + sqdmlslt. */ + return 2176; + } + } + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x10001x0111xxxxx110xxxxxxxxxxxxx - ld1h. */ - return 1527; + 110001x01x1xxxxx001xxxxxxxxxxxxx + ldff1sh. */ + return 1676; } } } } } - } - } - else - { - if (((word >> 14) & 0x1) == 0) - { - if (((word >> 15) & 0x1) == 0) + else { - if (((word >> 21) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) + if (((word >> 21) & 0x1) == 0) { - if (((word >> 17) & 0x1) == 0) + if (((word >> 16) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) + if (((word >> 17) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) + if (((word >> 18) & 0x1) == 0) { - if (((word >> 16) & 0x1) == 0) + if (((word >> 19) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx000x00001xxxxxxxxxxxxx - saddv. */ - return 1806; + 000001x0xx0x0000101xxxxxxxxxxxxx + sxtb. */ + return 1950; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx000x01001xxxxxxxxxxxxx - uaddv. */ - return 1958; + 000001x0xx0x1000101xxxxxxxxxxxxx + cls. */ + return 1315; } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx010x0x001xxxxxxxxxxxxx - movprfx. */ - return 1741; + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0x0100101xxxxxxxxxxxxx + sxtw. */ + return 1952; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0x1100101xxxxxxxxxxxxx + fabs. */ + return 1377; + } } } else { - if (((word >> 16) & 0x1) == 0) + if (((word >> 18) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) + if (((word >> 19) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx001x00001xxxxxxxxxxxxx - smaxv. */ - return 1824; + 000001x0xx0x0010101xxxxxxxxxxxxx + sxth. */ + return 1951; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0x1010101xxxxxxxxxxxxx + cnt. */ + return 1344; + } + } + else + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0x0110101xxxxxxxxxxxxx + abs. */ + return 1273; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0x1110101xxxxxxxxxxxxx + not. */ + return 1751; + } + } + } + } + else + { + if (((word >> 17) & 0x1) == 0) + { + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0x0001101xxxxxxxxxxxxx + uxtb. */ + return 2013; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0x1001101xxxxxxxxxxxxx + clz. */ + return 1316; + } + } + else + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0x0101101xxxxxxxxxxxxx + uxtw. */ + return 2015; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx011x00001xxxxxxxxxxxxx - orv. */ - return 1758; + 000001x0xx0x1101101xxxxxxxxxxxxx + fneg. */ + return 1454; } } - else + } + else + { + if (((word >> 18) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) + if (((word >> 19) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx001x01001xxxxxxxxxxxxx - umaxv. */ - return 1973; + 000001x0xx0x0011101xxxxxxxxxxxxx + uxth. */ + return 2014; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx011x01001xxxxxxxxxxxxx - eorv. */ - return 1373; + 000001x0xx0x1011101xxxxxxxxxxxxx + cnot. */ + return 1343; } } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0xx111101xxxxxxxxxxxxx + neg. */ + return 1748; + } } } - else + } + else + { + if (((word >> 12) & 0x1) == 0) { - if (((word >> 16) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx00xx10001xxxxxxxxxxxxx - sminv. */ - return 1827; + 000001x0001xxxxx1010xxxxxxxxxxxx + adr. */ + return 1279; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx01xx10001xxxxxxxxxxxxx - andv. */ - return 1286; + 000001x0011xxxxx1010xxxxxxxxxxxx + adr. */ + return 1280; } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx0xxx11001xxxxxxxxxxxxx - uminv. */ - return 1976; + 000001x01x1xxxxx1010xxxxxxxxxxxx + adr. */ + return 1281; } } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x00x0xxxxx001xxxxxxxxxxxxx - ldff1sb. */ - return 1657; - } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x01x0xxxxx001xxxxxxxxxxxxx - ldff1sh. */ - return 1668; + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx101100xxxxxxxxxx + ftssel. */ + return 1480; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx101110xxxxxxxxxx + fexpa. */ + return 1424; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx1011x1xxxxxxxxxx + movprfx. */ + return 1741; + } } } } else { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x00x0xxxxx001xxxxxxxxxxxxx - ldff1sb. */ - return 1664; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x01x0xxxxx001xxxxxxxxxxxxx - ldff1sh. */ - return 1674; - } - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - if (((word >> 30) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) + if (((word >> 21) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0001xxxxx001xxxxxxxxxxxxx - and. */ - return 1281; + 100001x0000xxxxx101xxxxxxxxxxxxx + ldnt1b. */ + return 2088; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0011xxxxx001xxxxxxxxxxxxx - orr. */ - return 1753; + 100001x0100xxxxx101xxxxxxxxxxxxx + ldnt1h. */ + return 2091; } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x00x1xxxxx001xxxxxxxxxxxxx - prfh. */ - return 1776; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x00x1xxxxx001xxxxxxxxxxxxx - prfh. */ - return 1778; - } - } - else - { - if (((word >> 30) & 0x1) == 0) - { - if (((word >> 31) & 0x1) == 0) - { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0101xxxxx001xxxxxxxxxxxxx - eor. */ - return 1368; + 100001x0001xxxxx101xxxxxxxxxxxxx + ldff1sb. */ + return 1667; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0111xxxxx001xxxxxxxxxxxxx - bic. */ - return 1294; + 100001x0101xxxxx101xxxxxxxxxxxxx + ldff1sh. */ + return 1679; } } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x001xxxxxx101xxxxxxxxxxxxx + ld1rb. */ + return 1535; + } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x01x1xxxxx001xxxxxxxxxxxxx - ldff1sh. */ - return 1669; + 100001x011xxxxxx101xxxxxxxxxxxxx + ld1rh. */ + return 1539; } } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x01x1xxxxx001xxxxxxxxxxxxx - ldff1sh. */ - return 1675; - } } } - } - else - { - if (((word >> 30) & 0x1) == 0) + else { - if (((word >> 31) & 0x1) == 0) + if (((word >> 21) & 0x1) == 0) { - if (((word >> 21) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { if (((word >> 16) & 0x1) == 0) { @@ -5307,302 +6668,462 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx0x0000101xxxxxxxxxxxxx - sxtb. */ - return 1949; + 010001x0xx0x0000101xxxxxxxxxxxxx + urecpe. */ + return 2299; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx0x1000101xxxxxxxxxxxxx - cls. */ - return 1314; + 010001x0xx0x1000101xxxxxxxxxxxxx + sqabs. */ + return 2161; } } else + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx00x100101xxxxxxxxxxxxx + sadalp. */ + return 2125; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx01x100101xxxxxxxxxxxxx + smaxp. */ + return 2139; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxx10101xxxxxxxxxxxxx + sminp. */ + return 2140; + } + } + else + { + if (((word >> 17) & 0x1) == 0) + { + if (((word >> 18) & 0x1) == 0) { if (((word >> 19) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx000001101xxxxxxxxxxxxx + ursqrte. */ + return 2304; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx010001101xxxxxxxxxxxxx + addp. */ + return 2050; + } + } + else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx0x0100101xxxxxxxxxxxxx - sxtw. */ - return 1951; + 010001x0xx0x1001101xxxxxxxxxxxxx + sqneg. */ + return 2188; + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx00x101101xxxxxxxxxxxxx + uadalp. */ + return 2256; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx0x1100101xxxxxxxxxxxxx - fabs. */ - return 1376; + 010001x0xx01x101101xxxxxxxxxxxxx + umaxp. */ + return 2264; } } } else { - if (((word >> 18) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxx11101xxxxxxxxxxxxx + uminp. */ + return 2265; + } + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x00x0xxxxx101xxxxxxxxxxxxx + ldff1sb. */ + return 1666; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x01x0xxxxx101xxxxxxxxxxxxx + ldff1sh. */ + return 1677; + } + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x0001xxxxx101xxxxxxxxxxxxx + ldff1sb. */ + return 1668; + } + else + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx0x0010101xxxxxxxxxxxxx - sxth. */ - return 1950; + 010001x0101xxxxx1010x0xxxxxxxxxx + smlslb. */ + return 2147; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx0x1010101xxxxxxxxxxxxx - cnt. */ - return 1343; + 010001x0101xxxxx1011x0xxxxxxxxxx + umlslb. */ + return 2272; } } else { - if (((word >> 19) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx0x0110101xxxxxxxxxxxxx - abs. */ - return 1272; + 010001x0101xxxxx1010x1xxxxxxxxxx + smlslt. */ + return 2150; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx0x1110101xxxxxxxxxxxxx - not. */ - return 1750; + 010001x0101xxxxx1011x1xxxxxxxxxx + umlslt. */ + return 2275; } } } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x0101xxxxx101xxxxxxxxxxxxx + ldff1sh. */ + return 1680; + } + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x0011xxxxx101xxxxxxxxxxxxx + prfh. */ + return 1780; } else { - if (((word >> 17) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - if (((word >> 18) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx0x0001101xxxxxxxxxxxxx - uxtb. */ - return 2012; + 010001x0111xxxxx1010x0xxxxxxxxxx + smlslb. */ + return 2148; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx0x1001101xxxxxxxxxxxxx - clz. */ - return 1315; + 010001x0111xxxxx1011x0xxxxxxxxxx + umlslb. */ + return 2273; } } else { - if (((word >> 19) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx0x0101101xxxxxxxxxxxxx - uxtw. */ - return 2014; + 010001x0111xxxxx1010x1xxxxxxxxxx + smlslt. */ + return 2151; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx0x1101101xxxxxxxxxxxxx - fneg. */ - return 1453; + 010001x0111xxxxx1011x1xxxxxxxxxx + umlslt. */ + return 2276; } } } else { - if (((word >> 18) & 0x1) == 0) - { - if (((word >> 19) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx0x0011101xxxxxxxxxxxxx - uxth. */ - return 2013; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx0x1011101xxxxxxxxxxxxx - cnot. */ - return 1342; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx0xx111101xxxxxxxxxxxxx - neg. */ - return 1747; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x0111xxxxx101xxxxxxxxxxxxx + ldff1sh. */ + return 1678; } } } + } + } + } + } + else + { + if (((word >> 15) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0xxxxx011xxxxxxxxxxxxx + mls. */ + return 1740; + } else { - if (((word >> 12) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x00x0xxxxx011xxxxxxxxxxxxx + ldff1b. */ + return 1624; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x01x0xxxxx011xxxxxxxxxxxxx + ldff1h. */ + return 1644; + } + } + } + else + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0001xxxxx1010xxxxxxxxxxxx - adr. */ - return 1278; + 010001x0xx0xxxxx011000xxxxxxxxxx + sqdmlalb. */ + return 2166; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0011xxxxx1010xxxxxxxxxxxx - adr. */ - return 1279; + 010001x0xx0xxxxx011100xxxxxxxxxx + sqrdmlah. */ + return 2195; } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x01x1xxxxx1010xxxxxxxxxxxx - adr. */ - return 1280; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx011010xxxxxxxxxx + sqdmlslb. */ + return 2173; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx011110xxxxxxxxxx + usdot. */ + return 2394; + } } } else { - if (((word >> 10) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - if (((word >> 11) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx1xxxxx101100xxxxxxxxxx - ftssel. */ - return 1479; + 010001x0xx0xxxxx011001xxxxxxxxxx + sqdmlalt. */ + return 2170; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx1xxxxx101110xxxxxxxxxx - fexpa. */ - return 1423; + 010001x0xx0xxxxx011101xxxxxxxxxx + sqrdmlsh. */ + return 2199; } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx1xxxxx1011x1xxxxxxxxxx - movprfx. */ - return 1740; + 010001x0xx0xxxxx011x11xxxxxxxxxx + sqdmlslt. */ + return 2177; } } } - } - else - { - if (((word >> 22) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x000xxxxxx101xxxxxxxxxxxxx - ldff1sb. */ - return 1666; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x010xxxxxx101xxxxxxxxxxxxx - ldff1sh. */ - return 1678; - } - } else { if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x001xxxxxx101xxxxxxxxxxxxx - ld1rb. */ - return 1534; + 110001x00x0xxxxx011xxxxxxxxxxxxx + ldff1b. */ + return 1633; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x011xxxxxx101xxxxxxxxxxxxx - ld1rh. */ - return 1538; + 110001x01x0xxxxx011xxxxxxxxxxxxx + ldff1h. */ + return 1652; } } } } else { - if (((word >> 21) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x00x0xxxxx101xxxxxxxxxxxxx - ldff1sb. */ - return 1665; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x01x0xxxxx101xxxxxxxxxxxxx - ldff1sh. */ - return 1676; - } - } - else + if (((word >> 30) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x0001xxxxx101xxxxxxxxxxxxx - ldff1sb. */ - return 1667; + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx011000xxxxxxxxxx + mul. */ + return 2108; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx011100xxxxxxxxxx + sqdmulh. */ + return 2181; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx011x10xxxxxxxxxx + smulh. */ + return 2153; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x0101xxxxx101xxxxxxxxxxxxx - ldff1sh. */ - return 1679; + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx011001xxxxxxxxxx + pmul. */ + return 2111; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx011101xxxxxxxxxx + sqrdmulh. */ + return 2203; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx011x11xxxxxxxxxx + umulh. */ + return 2278; + } } } else @@ -5611,119 +7132,83 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x10001x0011xxxxx101xxxxxxxxxxxxx - prfh. */ - return 1779; + 100001x00x1xxxxx011xxxxxxxxxxxxx + prfd. */ + return 1770; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x10001x0111xxxxx101xxxxxxxxxxxxx - ldff1sh. */ - return 1677; + 100001x01x1xxxxx011xxxxxxxxxxxxx + ldff1h. */ + return 1645; } } } - } - } - } - else - { - if (((word >> 15) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) - { - if (((word >> 30) & 0x1) == 0) + else { - if (((word >> 31) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx0xxxxx011xxxxxxxxxxxxx - mls. */ - return 1739; + x10001x00x1xxxxx011xxxxxxxxxxxxx + prfd. */ + return 1772; } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x00x0xxxxx011xxxxxxxxxxxxx - ldff1b. */ - return 1623; + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx0110xxxxxxxxxxxx + cmla. */ + return 2060; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx0110xxxxxxxxxxxx + cmla. */ + return 2061; + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx0111xxxxxxxxxxxx + sqrdcmlah. */ + return 2189; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx0111xxxxxxxxxxxx + sqrdcmlah. */ + return 2190; + } + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x01x0xxxxx011xxxxxxxxxxxxx + 110001x01x1xxxxx011xxxxxxxxxxxxx ldff1h. */ - return 1643; + return 1653; } } } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x00x0xxxxx011xxxxxxxxxxxxx - ldff1b. */ - return 1632; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x01x0xxxxx011xxxxxxxxxxxxx - ldff1h. */ - return 1651; - } - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - if (((word >> 30) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x00001x00x1xxxxx011xxxxxxxxxxxxx - prfd. */ - return 1769; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x00x1xxxxx011xxxxxxxxxxxxx - prfd. */ - return 1771; - } - } - else - { - if (((word >> 30) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x00001x01x1xxxxx011xxxxxxxxxxxxx - ldff1h. */ - return 1644; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x01x1xxxxx011xxxxxxxxxxxxx - ldff1h. */ - return 1652; - } - } } } else @@ -5738,7 +7223,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0xxxxx111xxxxxxxxxxxxx msb. */ - return 1742; + return 1743; } else { @@ -5758,7 +7243,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00010xxxx111000xxxxxxxxxx cntb. */ - return 1344; + return 1345; } else { @@ -5766,7 +7251,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01010xxxx111000xxxxxxxxxx cntw. */ - return 1348; + return 1349; } } else @@ -5777,7 +7262,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00110xxxx111000xxxxxxxxxx cnth. */ - return 1346; + return 1347; } else { @@ -5785,7 +7270,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01110xxxx111000xxxxxxxxxx cntd. */ - return 1345; + return 1346; } } } @@ -5799,7 +7284,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00011xxxx111000xxxxxxxxxx incb. */ - return 1480; + return 1481; } else { @@ -5807,7 +7292,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01011xxxx111000xxxxxxxxxx incw. */ - return 1488; + return 1489; } } else @@ -5818,7 +7303,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00111xxxx111000xxxxxxxxxx inch. */ - return 1484; + return 1485; } else { @@ -5826,7 +7311,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01111xxxx111000xxxxxxxxxx incd. */ - return 1482; + return 1483; } } } @@ -5843,7 +7328,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00010xxxx111100xxxxxxxxxx sqincb. */ - return 1847; + return 1848; } else { @@ -5851,7 +7336,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01010xxxx111100xxxxxxxxxx sqincw. */ - return 1859; + return 1860; } } else @@ -5862,7 +7347,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00110xxxx111100xxxxxxxxxx sqinch. */ - return 1853; + return 1854; } else { @@ -5870,7 +7355,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01110xxxx111100xxxxxxxxxx sqincd. */ - return 1850; + return 1851; } } } @@ -5884,7 +7369,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00011xxxx111100xxxxxxxxxx sqincb. */ - return 1846; + return 1847; } else { @@ -5892,7 +7377,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01011xxxx111100xxxxxxxxxx sqincw. */ - return 1858; + return 1859; } } else @@ -5903,7 +7388,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00111xxxx111100xxxxxxxxxx sqinch. */ - return 1852; + return 1853; } else { @@ -5911,7 +7396,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01111xxxx111100xxxxxxxxxx sqincd. */ - return 1849; + return 1850; } } } @@ -5929,7 +7414,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00010xxxx111x10xxxxxxxxxx sqdecb. */ - return 1833; + return 1834; } else { @@ -5937,7 +7422,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01010xxxx111x10xxxxxxxxxx sqdecw. */ - return 1845; + return 1846; } } else @@ -5948,7 +7433,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00110xxxx111x10xxxxxxxxxx sqdech. */ - return 1839; + return 1840; } else { @@ -5956,7 +7441,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01110xxxx111x10xxxxxxxxxx sqdecd. */ - return 1836; + return 1837; } } } @@ -5970,7 +7455,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00011xxxx111x10xxxxxxxxxx sqdecb. */ - return 1832; + return 1833; } else { @@ -5978,7 +7463,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01011xxxx111x10xxxxxxxxxx sqdecw. */ - return 1844; + return 1845; } } else @@ -5989,7 +7474,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00111xxxx111x10xxxxxxxxxx sqdech. */ - return 1838; + return 1839; } else { @@ -5997,7 +7482,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01111xxxx111x10xxxxxxxxxx sqdecd. */ - return 1835; + return 1836; } } } @@ -6017,7 +7502,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0001xxxxx111001xxxxxxxxxx decb. */ - return 1355; + return 1356; } else { @@ -6025,7 +7510,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0101xxxxx111001xxxxxxxxxx decw. */ - return 1363; + return 1364; } } else @@ -6036,7 +7521,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0011xxxxx111001xxxxxxxxxx dech. */ - return 1359; + return 1360; } else { @@ -6044,7 +7529,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0111xxxxx111001xxxxxxxxxx decd. */ - return 1357; + return 1358; } } } @@ -6060,7 +7545,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00010xxxx111101xxxxxxxxxx uqincb. */ - return 1994; + return 1995; } else { @@ -6068,7 +7553,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01010xxxx111101xxxxxxxxxx uqincw. */ - return 2006; + return 2007; } } else @@ -6079,7 +7564,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00110xxxx111101xxxxxxxxxx uqinch. */ - return 2000; + return 2001; } else { @@ -6087,7 +7572,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01110xxxx111101xxxxxxxxxx uqincd. */ - return 1997; + return 1998; } } } @@ -6101,7 +7586,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00011xxxx111101xxxxxxxxxx uqincb. */ - return 1995; + return 1996; } else { @@ -6109,7 +7594,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01011xxxx111101xxxxxxxxxx uqincw. */ - return 2007; + return 2008; } } else @@ -6120,7 +7605,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00111xxxx111101xxxxxxxxxx uqinch. */ - return 2001; + return 2002; } else { @@ -6128,7 +7613,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01111xxxx111101xxxxxxxxxx uqincd. */ - return 1998; + return 1999; } } } @@ -6146,7 +7631,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00010xxxx111x11xxxxxxxxxx uqdecb. */ - return 1980; + return 1981; } else { @@ -6154,7 +7639,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01010xxxx111x11xxxxxxxxxx uqdecw. */ - return 1992; + return 1993; } } else @@ -6165,7 +7650,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00110xxxx111x11xxxxxxxxxx uqdech. */ - return 1986; + return 1987; } else { @@ -6173,7 +7658,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01110xxxx111x11xxxxxxxxxx uqdecd. */ - return 1983; + return 1984; } } } @@ -6187,7 +7672,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00011xxxx111x11xxxxxxxxxx uqdecb. */ - return 1981; + return 1982; } else { @@ -6195,7 +7680,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01011xxxx111x11xxxxxxxxxx uqdecw. */ - return 1993; + return 1994; } } else @@ -6206,7 +7691,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00111xxxx111x11xxxxxxxxxx uqdech. */ - return 1987; + return 1988; } else { @@ -6214,7 +7699,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01111xxxx111x11xxxxxxxxxx uqdecd. */ - return 1984; + return 1985; } } } @@ -6234,7 +7719,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x0000xxxxx111xxxxxxxxxxxxx prfb. */ - return 1766; + return 1767; } else { @@ -6242,7 +7727,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x0100xxxxx111xxxxxxxxxxxxx prfh. */ - return 1780; + return 1781; } } else @@ -6253,7 +7738,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x0001xxxxx111xxxxxxxxxxxxx ldff1b. */ - return 1634; + return 1635; } else { @@ -6261,7 +7746,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x0101xxxxx111xxxxxxxxxxxxx ldff1h. */ - return 1655; + return 1656; } } } @@ -6273,7 +7758,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x001xxxxxx111xxxxxxxxxxxxx ld1rb. */ - return 1536; + return 1537; } else { @@ -6281,7 +7766,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x011xxxxxx111xxxxxxxxxxxxx ld1rh. */ - return 1540; + return 1541; } } } @@ -6298,7 +7783,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10001x0000xxxxx111xxxxxxxxxxxxx prfb. */ - return 1768; + return 1769; } else { @@ -6306,7 +7791,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10001x0100xxxxx111xxxxxxxxxxxxx prfh. */ - return 1782; + return 1783; } } else @@ -6317,7 +7802,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10001x0010xxxxx111xxxxxxxxxxxxx ldff1b. */ - return 1633; + return 1634; } else { @@ -6325,48 +7810,191 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10001x0110xxxxx111xxxxxxxxxxxxx ldff1h. */ - return 1653; + return 1654; } } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x0001xxxxx111xxxxxxxxxxxxx - ldff1b. */ - return 1635; + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x00x1xxxxx111x00xxxxxxxxxx + sqdmulh. */ + return 2178; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x00x1xxxxx111x10xxxxxxxxxx + mul. */ + return 2105; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x00x1xxxxx111xx1xxxxxxxxxx + sqrdmulh. */ + return 2200; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x0101xxxxx111xxxxxxxxxxxxx - ldff1h. */ - return 1656; + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x0001xxxxx111xxxxxxxxxxxxx + ldff1b. */ + return 1636; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x0011xxxxx111xxxxxxxxxxxxx + prfd. */ + return 1773; + } } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x0011xxxxx111xxxxxxxxxxxxx - prfd. */ - return 1772; + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx1110x0xxxxxxxxxx + sqdmullb. */ + return 2182; + } + else + { + if (((word >> 11) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx111100xxxxxxxxxx + sqdmulh. */ + return 2179; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx111110xxxxxxxxxx + mul. */ + return 2106; + } + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx1110x1xxxxxxxxxx + sqdmullt. */ + return 2185; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx1111x1xxxxxxxxxx + sqrdmulh. */ + return 2201; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x0101xxxxx111xxxxxxxxxxxxx + ldff1h. */ + return 1657; + } } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x0111xxxxx111xxxxxxxxxxxxx - ldff1h. */ - return 1654; + else + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx1110x0xxxxxxxxxx + sqdmullb. */ + return 2183; + } + else + { + if (((word >> 11) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx111100xxxxxxxxxx + sqdmulh. */ + return 2180; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx111110xxxxxxxxxx + mul. */ + return 2107; + } + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx1110x1xxxxxxxxxx + sqdmullt. */ + return 2186; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx1111x1xxxxxxxxxx + sqrdmulh. */ + return 2202; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x0111xxxxx111xxxxxxxxxxxxx + ldff1h. */ + return 1655; + } } } } @@ -6395,7 +8023,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx0xxxxx000xxxxxxxx0xxxx cmphs. */ - return 1328; + return 1329; } else { @@ -6403,7 +8031,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx0xxxxx000xxxxxxxx1xxxx cmphi. */ - return 1325; + return 1326; } } else @@ -6414,7 +8042,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x00x0xxxxx000xxxxxxxxxxxxx ld1rqb. */ - return 1542; + return 1543; } else { @@ -6422,7 +8050,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x01x0xxxxx000xxxxxxxxxxxxx ld1rqh. */ - return 1546; + return 1547; } } } @@ -6436,7 +8064,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx0xxxxx010xxxxxxxx0xxxx cmpge. */ - return 1319; + return 1320; } else { @@ -6444,7 +8072,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx0xxxxx010xxxxxxxx1xxxx cmpgt. */ - return 1322; + return 1323; } } else @@ -6457,7 +8085,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0000xxxxx010xxxxxxxxxxxxx ld1b. */ - return 1500; + return 1501; } else { @@ -6465,7 +8093,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0100xxxxx010xxxxxxxxxxxxx ld1sw. */ - return 1580; + return 1581; } } else @@ -6476,7 +8104,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0010xxxxx010xxxxxxxxxxxxx ld1b. */ - return 1502; + return 1503; } else { @@ -6484,7 +8112,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0110xxxxx010xxxxxxxxxxxxx ld1h. */ - return 1522; + return 1523; } } } @@ -6502,7 +8130,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx0xxxxx001xxxxxxxx0xxxx cmpeq. */ - return 1316; + return 1317; } else { @@ -6510,7 +8138,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx0xxxxx001xxxxxxxx1xxxx cmpne. */ - return 1339; + return 1340; } } else @@ -6521,7 +8149,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x00x0xxxxx001xxxxxxxxxxxxx ld1rqb. */ - return 1541; + return 1542; } else { @@ -6529,7 +8157,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x01x0xxxxx001xxxxxxxxxxxxx ld1rqh. */ - return 1545; + return 1546; } } } @@ -6543,7 +8171,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx0xxxxx011xxxxxxxx0xxxx cmplt. */ - return 1337; + return 1338; } else { @@ -6551,7 +8179,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx0xxxxx011xxxxxxxx1xxxx cmple. */ - return 1331; + return 1332; } } else @@ -6564,7 +8192,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0000xxxxx011xxxxxxxxxxxxx ldff1b. */ - return 1624; + return 1625; } else { @@ -6572,7 +8200,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0100xxxxx011xxxxxxxxxxxxx ldff1sw. */ - return 1680; + return 1681; } } else @@ -6583,7 +8211,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0010xxxxx011xxxxxxxxxxxxx ldff1b. */ - return 1628; + return 1629; } else { @@ -6591,7 +8219,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0110xxxxx011xxxxxxxxxxxxx ldff1h. */ - return 1647; + return 1648; } } } @@ -6606,7 +8234,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx0xxxxx0xxxxxxxxxxxxxxx fcmla. */ - return 1385; + return 1386; } else { @@ -6618,7 +8246,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0x00xxxxx0x0xxxxxxxxxxxxx st1b. */ - return 1862; + return 1863; } else { @@ -6628,7 +8256,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0010xxxxx0x0xxxxxxxxxxxxx st1b. */ - return 1866; + return 1867; } else { @@ -6636,48 +8264,92 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0110xxxxx0x0xxxxxxxxxxxxx st1h. */ - return 1887; + return 1888; } } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 111001x0000xxxxx0x1xxxxxxxxxxxxx - stnt1b. */ - return 1932; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0000xxxxx001xxxxxxxxxxxxx + stnt1b. */ + return 2240; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0100xxxxx001xxxxxxxxxxxxx + stnt1h. */ + return 2243; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 111001x0100xxxxx0x1xxxxxxxxxxxxx - stnt1h. */ - return 1936; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0010xxxxx001xxxxxxxxxxxxx + stnt1b. */ + return 2239; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0110xxxxx001xxxxxxxxxxxxx + stnt1h. */ + return 2242; + } } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 111001x0010xxxxx0x1xxxxxxxxxxxxx - st3b. */ - return 1916; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0000xxxxx011xxxxxxxxxxxxx + stnt1b. */ + return 1933; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0100xxxxx011xxxxxxxxxxxxx + stnt1h. */ + return 1937; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 111001x0110xxxxx0x1xxxxxxxxxxxxx - st3h. */ - return 1920; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0010xxxxx011xxxxxxxxxxxxx + st3b. */ + return 1917; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0110xxxxx011xxxxxxxxxxxxx + st3h. */ + return 1921; + } } } } @@ -6698,7 +8370,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x0xx0xxxxx100xxxxxxxx0xxxx cmpge. */ - return 1320; + return 1321; } else { @@ -6706,7 +8378,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x0xx0xxxxx100xxxxxxxx1xxxx cmpgt. */ - return 1323; + return 1324; } } else @@ -6719,7 +8391,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx0xxxxx110xxxxxxxx0xxxx cmphs. */ - return 1329; + return 1330; } else { @@ -6727,7 +8399,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx0xxxxx110xxxxxxxx1xxxx cmphi. */ - return 1326; + return 1327; } } else @@ -6740,7 +8412,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0000xxxxx110xxxxxxxxxxxxx ldnt1b. */ - return 1715; + return 1716; } else { @@ -6748,7 +8420,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0100xxxxx110xxxxxxxxxxxxx ldnt1h. */ - return 1719; + return 1720; } } else @@ -6759,7 +8431,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0010xxxxx110xxxxxxxxxxxxx ld3b. */ - return 1607; + return 1608; } else { @@ -6767,7 +8439,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0110xxxxx110xxxxxxxxxxxxx ld3h. */ - return 1611; + return 1612; } } } @@ -6777,11 +8449,66 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 011001x0xx0xxxxx1x0xxxxxxxxxxxxx - fcadd. */ - return 1384; + if (((word >> 17) & 0x1) == 0) + { + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0xx00x00x1x0xxxxxxxxxxxxx + fcadd. */ + return 1385; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0xx01x00x1x0xxxxxxxxxxxxx + faddp. */ + return 2066; + } + } + else + { + if (((word >> 16) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0xx0xx1001x0xxxxxxxxxxxxx + fmaxnmp. */ + return 2074; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0xx0xx1011x0xxxxxxxxxxxxx + fminnmp. */ + return 2076; + } + } + } + else + { + if (((word >> 16) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0xx0xxx101x0xxxxxxxxxxxxx + fmaxp. */ + return 2075; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0xx0xxx111x0xxxxxxxxxxxxx + fminp. */ + return 2077; + } + } } else { @@ -6793,7 +8520,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0000xxxxx1x0xxxxxxxxxxxxx st1b. */ - return 1863; + return 1864; } else { @@ -6801,7 +8528,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0100xxxxx1x0xxxxxxxxxxxxx st1h. */ - return 1882; + return 1883; } } else @@ -6812,7 +8539,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0010xxxxx1x0xxxxxxxxxxxxx st1b. */ - return 1867; + return 1868; } else { @@ -6820,7 +8547,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0110xxxxx1x0xxxxxxxxxxxxx st1h. */ - return 1888; + return 1889; } } } @@ -6840,7 +8567,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx0xxxxx101xxxxxxxx0xxxx cmpeq. */ - return 1317; + return 1318; } else { @@ -6848,7 +8575,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx0xxxxx101xxxxxxxx1xxxx cmpne. */ - return 1340; + return 1341; } } else @@ -6863,7 +8590,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x00000xxxx101xxxxxxxxxxxxx ld1b. */ - return 1507; + return 1508; } else { @@ -6871,7 +8598,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x01000xxxx101xxxxxxxxxxxxx ld1sw. */ - return 1585; + return 1586; } } else @@ -6882,7 +8609,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x00100xxxx101xxxxxxxxxxxxx ld1b. */ - return 1509; + return 1510; } else { @@ -6890,7 +8617,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x01100xxxx101xxxxxxxxxxxxx ld1h. */ - return 1530; + return 1531; } } } @@ -6904,7 +8631,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x00001xxxx101xxxxxxxxxxxxx ldnf1b. */ - return 1699; + return 1700; } else { @@ -6912,7 +8639,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x01001xxxx101xxxxxxxxxxxxx ldnf1sw. */ - return 1712; + return 1713; } } else @@ -6923,7 +8650,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x00101xxxx101xxxxxxxxxxxxx ldnf1b. */ - return 1701; + return 1702; } else { @@ -6931,7 +8658,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x01101xxxx101xxxxxxxxxxxxx ldnf1h. */ - return 1705; + return 1706; } } } @@ -6943,19 +8670,63 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 23) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x0000xxxxx101xxxxxxxxxxxxx - st1b. */ - return 1864; + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0000xxxxx101xxxxxxxxxxxxx + fcvtxnt. */ + return 2072; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0000xxxxx101xxxxxxxxxxxxx + st1b. */ + return 1865; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x0100xxxxx101xxxxxxxxxxxxx - st1h. */ - return 1883; + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 16) & 0x1) == 0) + { + if (((word >> 17) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0100xxx00101xxxxxxxxxxxxx + fcvtnt. */ + return 2069; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0100xxx10101xxxxxxxxxxxxx + bfcvtnt. */ + return 2423; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0100xxxx1101xxxxxxxxxxxxx + fcvtlt. */ + return 2067; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0100xxxxx101xxxxxxxxxxxxx + st1h. */ + return 1884; + } } } else @@ -6966,15 +8737,37 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0010xxxxx101xxxxxxxxxxxxx st1b. */ - return 1871; + return 1872; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x0110xxxxx101xxxxxxxxxxxxx - st1h. */ - return 1892; + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 16) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0110xxxx0101xxxxxxxxxxxxx + fcvtnt. */ + return 2070; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0110xxxx1101xxxxxxxxxxxxx + fcvtlt. */ + return 2068; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0110xxxxx101xxxxxxxxxxxxx + st1h. */ + return 1893; + } } } } @@ -6991,7 +8784,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx0xxxxx111xxxxxxxx0xxxx cmplo. */ - return 1333; + return 1334; } else { @@ -6999,7 +8792,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx0xxxxx111xxxxxxxx1xxxx cmpls. */ - return 1335; + return 1336; } } else @@ -7012,7 +8805,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0000xxxxx111xxxxxxxxxxxxx ldnt1b. */ - return 1716; + return 1717; } else { @@ -7020,7 +8813,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0100xxxxx111xxxxxxxxxxxxx ldnt1h. */ - return 1720; + return 1721; } } else @@ -7031,7 +8824,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0010xxxxx111xxxxxxxxxxxxx ld3b. */ - return 1608; + return 1609; } else { @@ -7039,7 +8832,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0110xxxxx111xxxxxxxxxxxxx ld3h. */ - return 1612; + return 1613; } } } @@ -7054,7 +8847,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0x000xxxx111xxxxxxxxxxxxx st1b. */ - return 1869; + return 1870; } else { @@ -7064,7 +8857,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x00100xxxx111xxxxxxxxxxxxx st1b. */ - return 1872; + return 1873; } else { @@ -7072,7 +8865,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x01100xxxx111xxxxxxxxxxxxx st1h. */ - return 1893; + return 1894; } } } @@ -7086,7 +8879,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x00001xxxx111xxxxxxxxxxxxx stnt1b. */ - return 1933; + return 1934; } else { @@ -7094,7 +8887,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x01001xxxx111xxxxxxxxxxxxx stnt1h. */ - return 1937; + return 1938; } } else @@ -7105,7 +8898,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x00101xxxx111xxxxxxxxxxxxx st3b. */ - return 1917; + return 1918; } else { @@ -7113,7 +8906,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x01101xxxx111xxxxxxxxxxxxx st3h. */ - return 1921; + return 1922; } } } @@ -7136,7 +8929,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx1xxxxxxx0xxxxxxxx0xxxx cmphs. */ - return 1330; + return 1331; } else { @@ -7144,90 +8937,112 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx1xxxxxxx0xxxxxxxx1xxxx cmphi. */ - return 1327; + return 1328; } } else { - if (((word >> 15) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x0001xxxxx0x0xxxxxxxxxxxxx - ld1b. */ - return 1501; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x0101xxxxx0x0xxxxxxxxxxxxx - ld1h. */ - return 1521; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x00x1xxxxxx00xxxxxxxxxxxxx + ld1rob. */ + return 2399; } else { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x0011xxxxx0x0xxxxxxxxxxxxx - ld1b. */ - return 1503; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x0111xxxxx0x0xxxxxxxxxxxxx - ld1h. */ - return 1523; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x01x1xxxxxx00xxxxxxxxxxxxx + ld1roh. */ + return 2400; } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 15) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x0001xxxxx1x0xxxxxxxxxxxxx - ld2b. */ - return 1599; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0001xxxxx010xxxxxxxxxxxxx + ld1b. */ + return 1502; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0101xxxxx010xxxxxxxxxxxxx + ld1h. */ + return 1522; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x0101xxxxx1x0xxxxxxxxxxxxx - ld2h. */ - return 1603; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0011xxxxx010xxxxxxxxxxxxx + ld1b. */ + return 1504; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0111xxxxx010xxxxxxxxxxxxx + ld1h. */ + return 1524; + } } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x0011xxxxx1x0xxxxxxxxxxxxx - ld4b. */ - return 1615; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0001xxxxx110xxxxxxxxxxxxx + ld2b. */ + return 1600; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0101xxxxx110xxxxxxxxxxxxx + ld2h. */ + return 1604; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x0111xxxxx1x0xxxxxxxxxxxxx - ld4h. */ - return 1619; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0011xxxxx110xxxxxxxxxxxxx + ld4b. */ + return 1616; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0111xxxxx110xxxxxxxxxxxxx + ld4h. */ + return 1620; + } } } } @@ -7249,7 +9064,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x00x1xxxxx0000x0xxxxxxxxxx fmla. */ - return 1438; + return 1439; } else { @@ -7259,7 +9074,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0101xxxxx0000x0xxxxxxxxxx fmla. */ - return 1439; + return 1440; } else { @@ -7267,7 +9082,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0111xxxxx0000x0xxxxxxxxxx fmla. */ - return 1440; + return 1441; } } } @@ -7279,7 +9094,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x00x1xxxxx0000x1xxxxxxxxxx fmls. */ - return 1442; + return 1443; } else { @@ -7289,7 +9104,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0101xxxxx0000x1xxxxxxxxxx fmls. */ - return 1443; + return 1444; } else { @@ -7297,7 +9112,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0111xxxxx0000x1xxxxxxxxxx fmls. */ - return 1444; + return 1445; } } } @@ -7310,7 +9125,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0x01xxxxx0001xxxxxxxxxxxx fcmla. */ - return 1386; + return 1387; } else { @@ -7318,7 +9133,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0x11xxxxx0001xxxxxxxxxxxx fcmla. */ - return 1387; + return 1388; } } } @@ -7332,34 +9147,89 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0001xxxxx010xxxxxxxxxxxxx st1b. */ - return 1865; + return 1866; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x0101xxxxx010xxxxxxxxxxxxx - st1h. */ - return 1884; + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0101xxxxx010xx0xxxxxxxxxx + fmlalb. */ + return 2078; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0101xxxxx010xx1xxxxxxxxxx + fmlalt. */ + return 2080; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0101xxxxx010xxxxxxxxxxxxx + st1h. */ + return 1885; + } } } else { if (((word >> 23) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x0011xxxxx010xxxxxxxxxxxxx - st1b. */ - return 1868; + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0011xxxxx010xxxxxxxxxxxxx + bfdot. */ + return 2420; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0011xxxxx010xxxxxxxxxxxxx + st1b. */ + return 1869; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x0111xxxxx010xxxxxxxxxxxxx - st1h. */ - return 1889; + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0111xxxxx010xx0xxxxxxxxxx + bfmlalb. */ + return 2427; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0111xxxxx010xx1xxxxxxxxxx + bfmlalt. */ + return 2426; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0111xxxxx010xxxxxxxxxxxxx + st1h. */ + return 1890; + } } } } @@ -7368,19 +9238,74 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 22) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x0x01xxxxx1x0xxxxxxxxxxxxx - st1h. */ - return 1885; + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0x01xxxxx1x0xx0xxxxxxxxxx + fmlalb. */ + return 2079; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0x01xxxxx1x0xx1xxxxxxxxxx + fmlalt. */ + return 2081; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0x01xxxxx1x0xxxxxxxxxxxxx + st1h. */ + return 1886; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x0x11xxxxx1x0xxxxxxxxxxxxx - st1h. */ - return 1890; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x0011xxxxx1x0xxxxxxxxxxxxx + bfdot. */ + return 2419; + } + else + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0111xxxxx1x0xx0xxxxxxxxxx + bfmlalb. */ + return 2425; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0111xxxxx1x0xx1xxxxxxxxxx + bfmlalt. */ + return 2424; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0111xxxxx1x0xxxxxxxxxxxxx + st1h. */ + return 1891; + } + } } } } @@ -7397,7 +9322,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx1xxxxxxx1xxxxxxxx0xxxx cmplo. */ - return 1334; + return 1335; } else { @@ -7405,92 +9330,114 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx1xxxxxxx1xxxxxxxx1xxxx cmpls. */ - return 1336; + return 1337; } } else { if (((word >> 14) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) + if (((word >> 15) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x00010xxxxx01xxxxxxxxxxxxx - ld1b. */ - return 1508; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x01010xxxxx01xxxxxxxxxxxxx - ld1h. */ - return 1529; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x00x1xxxxx001xxxxxxxxxxxxx + ld1rob. */ + return 2403; } else { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x00110xxxxx01xxxxxxxxxxxxx - ld1b. */ - return 1510; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x01110xxxxx01xxxxxxxxxxxxx - ld1h. */ - return 1531; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x01x1xxxxx001xxxxxxxxxxxxx + ld1roh. */ + return 2404; } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x00011xxxxx01xxxxxxxxxxxxx - ldnf1b. */ - return 1700; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x00010xxxx101xxxxxxxxxxxxx + ld1b. */ + return 1509; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x01010xxxx101xxxxxxxxxxxxx + ld1h. */ + return 1530; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x01011xxxxx01xxxxxxxxxxxxx - ldnf1h. */ - return 1704; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x00110xxxx101xxxxxxxxxxxxx + ld1b. */ + return 1511; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x01110xxxx101xxxxxxxxxxxxx + ld1h. */ + return 1532; + } } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x00111xxxxx01xxxxxxxxxxxxx - ldnf1b. */ - return 1702; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x00011xxxx101xxxxxxxxxxxxx + ldnf1b. */ + return 1701; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x01011xxxx101xxxxxxxxxxxxx + ldnf1h. */ + return 1705; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x01111xxxxx01xxxxxxxxxxxxx - ldnf1h. */ - return 1706; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x00111xxxx101xxxxxxxxxxxxx + ldnf1b. */ + return 1703; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x01111xxxx101xxxxxxxxxxxxx + ldnf1h. */ + return 1707; + } } } } @@ -7507,7 +9454,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0001xxxxx011xxxxxxxxxxxxx ldff1b. */ - return 1626; + return 1627; } else { @@ -7515,7 +9462,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0101xxxxx011xxxxxxxxxxxxx ldff1h. */ - return 1645; + return 1646; } } else @@ -7526,7 +9473,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0011xxxxx011xxxxxxxxxxxxx ldff1b. */ - return 1630; + return 1631; } else { @@ -7534,7 +9481,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0111xxxxx011xxxxxxxxxxxxx ldff1h. */ - return 1649; + return 1650; } } } @@ -7548,7 +9495,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0001xxxxx111xxxxxxxxxxxxx ld2b. */ - return 1600; + return 1601; } else { @@ -7556,7 +9503,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0101xxxxx111xxxxxxxxxxxxx ld2h. */ - return 1604; + return 1605; } } else @@ -7567,7 +9514,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0011xxxxx111xxxxxxxxxxxxx ld4b. */ - return 1616; + return 1617; } else { @@ -7575,7 +9522,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0111xxxxx111xxxxxxxxxxxxx ld4h. */ - return 1620; + return 1621; } } } @@ -7594,7 +9541,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x00x1xxxxx001xxxxxxxxxxxxx fmul. */ - return 1449; + return 1450; } else { @@ -7604,7 +9551,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0101xxxxx001xxxxxxxxxxxxx fmul. */ - return 1450; + return 1451; } else { @@ -7612,7 +9559,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0111xxxxx001xxxxxxxxxxxxx fmul. */ - return 1451; + return 1452; } } } @@ -7620,11 +9567,33 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 22) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x0x01xxxxx101xxxxxxxxxxxxx - st1h. */ - return 1886; + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0x01xxxxx101xx0xxxxxxxxxx + fmlslb. */ + return 2083; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0x01xxxxx101xx1xxxxxxxxxx + fmlslt. */ + return 2085; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0x01xxxxx101xxxxxxxxxxxxx + st1h. */ + return 1887; + } } else { @@ -7634,7 +9603,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0011xxxxx101xxxxxxxxxxxxx st1b. */ - return 1873; + return 1874; } else { @@ -7642,7 +9611,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0111xxxxx101xxxxxxxxxxxxx st1h. */ - return 1894; + return 1895; } } } @@ -7659,15 +9628,37 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0001xxxxx011xxxxxxxxxxxxx st2b. */ - return 1908; + return 1909; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x0101xxxxx011xxxxxxxxxxxxx - st2h. */ - return 1912; + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0101xxxxx011xx0xxxxxxxxxx + fmlslb. */ + return 2082; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0101xxxxx011xx1xxxxxxxxxx + fmlslt. */ + return 2084; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0101xxxxx011xxxxxxxxxxxxx + st2h. */ + return 1913; + } } } else @@ -7678,7 +9669,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0011xxxxx011xxxxxxxxxxxxx st4b. */ - return 1924; + return 1925; } else { @@ -7686,91 +9677,124 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0111xxxxx011xxxxxxxxxxxxx st4h. */ - return 1928; + return 1929; } } } else { - if (((word >> 20) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 x11001x00010xxxx111xxxxxxxxxxxxx st1b. */ - return 1870; + return 1871; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x01010xxxx111xxxxxxxxxxxxx - st1h. */ - return 1891; + x11001x00011xxxx111xxxxxxxxxxxxx + st2b. */ + return 1910; } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x00110xxxx111xxxxxxxxxxxxx - st1b. */ - return 1874; + 011001x0101xxxxx111xxxxxxxxxxxxx + fmmla. */ + return 2397; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x01110xxxx111xxxxxxxxxxxxx - st1h. */ - return 1895; + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x01010xxxx111xxxxxxxxxxxxx + st1h. */ + return 1892; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x01011xxxx111xxxxxxxxxxxxx + st2h. */ + return 1914; + } } } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x00011xxxx111xxxxxxxxxxxxx - st2b. */ - return 1909; + 011001x0011xxxxx111xxxxxxxxxxxxx + bfmmla. */ + return 2421; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x01011xxxx111xxxxxxxxxxxxx - st2h. */ - return 1913; + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x00110xxxx111xxxxxxxxxxxxx + st1b. */ + return 1875; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x00111xxxx111xxxxxxxxxxxxx + st4b. */ + return 1926; + } } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x00111xxxx111xxxxxxxxxxxxx - st4b. */ - return 1925; + 011001x0111xxxxx111xxxxxxxxxxxxx + fmmla. */ + return 2398; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x01111xxxx111xxxxxxxxxxxxx - st4h. */ - return 1929; + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x01110xxxx111xxxxxxxxxxxxx + st1h. */ + return 1896; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x01111xxxx111xxxxxxxxxxxxx + st4h. */ + return 1930; + } } } } @@ -7801,7 +9825,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x10000xxxxxxxxxxxxxxxxxxxx orr. */ - return 1754; + return 1755; } else { @@ -7809,7 +9833,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x11000xxxxxxxxxxxxxxxxxxxx and. */ - return 1282; + return 1283; } } else @@ -7820,7 +9844,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x10100xxxxxxxxxxxxxxxxxxxx eor. */ - return 1369; + return 1370; } else { @@ -7828,7 +9852,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x11100xxxxxxxxxxxxxxxxxxxx dupm. */ - return 1367; + return 1368; } } } @@ -7840,7 +9864,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx01xxxx0xxxxxxxxxxxxxxx cpy. */ - return 1352; + return 1353; } else { @@ -7848,7 +9872,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx01xxxx1xxxxxxxxxxxxxxx fcpy. */ - return 1399; + return 1400; } } } @@ -7860,11 +9884,88 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 15) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1xxxxx000xxxxxxxxxxxxx - ext. */ - return 1374; + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1001xxxxx000xxxxxxxxxxxxx + ext. */ + return 1375; + } + else + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1101xxxxx000x00xxxxxxxxxx + zip1. */ + return 2407; + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1101xxxxx000010xxxxxxxxxx + uzp1. */ + return 2409; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1101xxxxx000110xxxxxxxxxx + trn1. */ + return 2411; + } + } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1101xxxxx000x01xxxxxxxxxx + zip2. */ + return 2408; + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1101xxxxx000011xxxxxxxxxx + uzp2. */ + return 2410; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1101xxxxx000111xxxxxxxxxx + trn2. */ + return 2412; + } + } + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1x11xxxxx000xxxxxxxxxxxxx + ext. */ + return 2065; + } } else { @@ -7880,7 +9981,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x0000100xxxxxxxxxxxxx cpy. */ - return 1350; + return 1351; } else { @@ -7888,7 +9989,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x1000100xxxxxxxxxxxxx clasta. */ - return 1308; + return 1309; } } else @@ -7899,7 +10000,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x0100100xxxxxxxxxxxxx revb. */ - return 1802; + return 1803; } else { @@ -7907,7 +10008,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x1100100xxxxxxxxxxxxx splice. */ - return 1829; + return 1830; } } } @@ -7921,7 +10022,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x0010100xxxxxxxxxxxxx lasta. */ - return 1496; + return 1497; } else { @@ -7929,7 +10030,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x1010100xxxxxxxxxxxxx clasta. */ - return 1309; + return 1310; } } else @@ -7938,7 +10039,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xx110100xxxxxxxxxxxxx revw. */ - return 1804; + return 1805; } } } @@ -7954,7 +10055,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x0001100xxxxxxxxxxxxx compact. */ - return 1349; + return 1350; } else { @@ -7962,16 +10063,27 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x1001100xxxxxxxxxxxxx clastb. */ - return 1311; + return 1312; } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1xx101100xxxxxxxxxxxxx - revh. */ - return 1803; + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1x0101100xxxxxxxxxxxxx + revh. */ + return 1804; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1x1101100xxxxxxxxxxxxx + splice. */ + return 2160; + } } } else @@ -7984,7 +10096,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x0011100xxxxxxxxxxxxx lastb. */ - return 1498; + return 1499; } else { @@ -7992,7 +10104,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x1011100xxxxxxxxxxxxx clastb. */ - return 1312; + return 1313; } } else @@ -8001,7 +10113,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xx111100xxxxxxxxxxxxx rbit. */ - return 1795; + return 1796; } } } @@ -8011,110 +10123,132 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 15) & 0x1) == 0) { - if (((word >> 11) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { - if (((word >> 12) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1xxxxx00100xxxxxxxxxxx - dup. */ - return 1365; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xxxxx001000xxxxxxxxxx + dup. */ + return 1366; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xxxxx001100xxxxxxxxxx + tbl. */ + return 1953; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1xxxxx00110xxxxxxxxxxx - tbl. */ - return 1952; - } - } - else - { - if (((word >> 16) & 0x1) == 0) - { - if (((word >> 17) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - if (((word >> 18) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xxxxx001010xxxxxxxxxx + tbl. */ + return 2249; + } + else + { + if (((word >> 16) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) + if (((word >> 17) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) + if (((word >> 18) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx100000001x1xxxxxxxxxxx - dup. */ - return 1364; + if (((word >> 19) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx100000001110xxxxxxxxxx + dup. */ + return 1365; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx110000001110xxxxxxxxxx + sunpklo. */ + return 1949; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1x1000001110xxxxxxxxxx + rev. */ + return 1802; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx110000001x1xxxxxxxxxxx - sunpklo. */ - return 1948; + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx10x100001110xxxxxxxxxx + insr. */ + return 1494; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx11x100001110xxxxxxxxxx + insr. */ + return 1495; + } } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x1xx1x1000001x1xxxxxxxxxxx - rev. */ - return 1801; + 000001x1xx1xxx10001110xxxxxxxxxx + uunpklo. */ + return 2012; } } else { - if (((word >> 20) & 0x1) == 0) + if (((word >> 17) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x1xx10x100001x1xxxxxxxxxxx - insr. */ - return 1493; + 000001x1xx1xxx01001110xxxxxxxxxx + sunpkhi. */ + return 1948; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x1xx11x100001x1xxxxxxxxxxx - insr. */ - return 1494; + 000001x1xx1xxx11001110xxxxxxxxxx + uunpkhi. */ + return 2011; } } } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1xxx10001x1xxxxxxxxxxx - uunpklo. */ - return 2011; - } - } - else - { - if (((word >> 17) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1xxx01001x1xxxxxxxxxxx - sunpkhi. */ - return 1947; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1xxx11001x1xxxxxxxxxxx - uunpkhi. */ - return 2010; - } } } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xxxxx001xx1xxxxxxxxxx + tbx. */ + return 2250; + } } else { @@ -8128,7 +10262,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx100xx0101xxxxxxxxxxxxx lasta. */ - return 1495; + return 1496; } else { @@ -8136,7 +10270,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx110xx0101xxxxxxxxxxxxx clasta. */ - return 1310; + return 1311; } } else @@ -8145,7 +10279,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x1xx0101xxxxxxxxxxxxx cpy. */ - return 1351; + return 1352; } } else @@ -8156,7 +10290,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx10xxx1101xxxxxxxxxxxxx lastb. */ - return 1497; + return 1498; } else { @@ -8164,7 +10298,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx11xxx1101xxxxxxxxxxxxx clastb. */ - return 1313; + return 1314; } } } @@ -8188,7 +10322,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx10xxxx010000xxxxxxxxxx zip1. */ - return 2028; + return 2029; } else { @@ -8200,7 +10334,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx11x0x0010000xxxxxxxxxx punpklo. */ - return 1794; + return 1795; } else { @@ -8208,7 +10342,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx11x1x0010000xxxxxxxxxx rev. */ - return 1800; + return 1801; } } else @@ -8217,7 +10351,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx11xxx1010000xxxxxxxxxx punpkhi. */ - return 1793; + return 1794; } } } @@ -8227,7 +10361,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx011000xxxxxxxxxx zip1. */ - return 2029; + return 2030; } } else @@ -8238,7 +10372,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx010100xxxxxxxxxx trn1. */ - return 1953; + return 1954; } else { @@ -8246,7 +10380,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx011100xxxxxxxxxx trn1. */ - return 1954; + return 1955; } } } @@ -8258,7 +10392,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx010x10xxxxxxxxxx uzp1. */ - return 2015; + return 2016; } else { @@ -8266,7 +10400,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx011x10xxxxxxxxxx uzp1. */ - return 2016; + return 2017; } } } @@ -8282,7 +10416,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx010001xxxxxxxxxx zip2. */ - return 2030; + return 2031; } else { @@ -8290,7 +10424,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx011001xxxxxxxxxx zip2. */ - return 2031; + return 2032; } } else @@ -8301,7 +10435,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx010101xxxxxxxxxx trn2. */ - return 1955; + return 1956; } else { @@ -8309,7 +10443,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx011101xxxxxxxxxx trn2. */ - return 1956; + return 1957; } } } @@ -8321,7 +10455,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx010x11xxxxxxxxxx uzp2. */ - return 2017; + return 2018; } else { @@ -8329,7 +10463,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx011x11xxxxxxxxxx uzp2. */ - return 2018; + return 2019; } } } @@ -8340,7 +10474,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx11xxxxxxxxxxxxxx sel. */ - return 1819; + return 1820; } } } @@ -8359,7 +10493,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x1x0xxxxxx000xxxxxxxxxxxxx ldr. */ - return 1723; + return 1724; } else { @@ -8367,7 +10501,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x1x1xxxxxx000xxxxxxxxxxxxx prfb. */ - return 1767; + return 1768; } } else @@ -8378,7 +10512,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x10xxxxxxx100xxxxxxxxxxxxx ld1rsh. */ - return 1552; + return 1553; } else { @@ -8386,7 +10520,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x11xxxxxxx100xxxxxxxxxxxxx ld1rsb. */ - return 1549; + return 1550; } } } @@ -8402,7 +10536,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x10x0xxxxx010xxxxxxxxxxxxx ld1w. */ - return 1587; + return 1588; } else { @@ -8410,7 +10544,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x10x1xxxxx010xxxxxxxxxxxxx ld1w. */ - return 1588; + return 1589; } } else @@ -8421,7 +10555,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x110xxxxxx010xxxxxxxxxxxxx ldr. */ - return 1724; + return 1725; } else { @@ -8429,8 +10563,137 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x111xxxxxx010xxxxxxxxxxxxx prfw. */ - return 1788; + return 1789; + } + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x1000xxxxx110xxxxxxxxxxxxx + prfw. */ + return 1785; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x1100xxxxx110xxxxxxxxxxxxx + prfd. */ + return 1771; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x1x01xxxxx110xxxxxxxxxxxxx + ld1w. */ + return 1596; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x101xxxxxx110xxxxxxxxxxxxx + ld1rw. */ + return 1556; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x111xxxxxx110xxxxxxxxxxxxx + ld1rsb. */ + return 1552; + } + } + } + } + } + else + { + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 15) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x1xxxxxxxx001xxxxxxxxxxxxx + prfh. */ + return 1782; + } + else + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x1x0xxxxxx101xxxxxxxxxxxxx + ldnt1w. */ + return 2096; + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x101xxxxxx101xxxxxxxxxxxxx + ld1rsh. */ + return 1554; } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x111xxxxxx101xxxxxxxxxxxxx + ld1rsb. */ + return 1551; + } + } + } + } + else + { + if (((word >> 15) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x10x0xxxxx011xxxxxxxxxxxxx + ldff1w. */ + return 1688; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x10x1xxxxx011xxxxxxxxxxxxx + ldff1w. */ + return 1689; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x11xxxxxxx011xxxxxxxxxxxxx + prfd. */ + return 1775; } } else @@ -8443,26 +10706,26 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x1000xxxxx110xxxxxxxxxxxxx + 100001x1000xxxxx111xxxxxxxxxxxxx prfw. */ - return 1784; + return 1788; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x1100xxxxx110xxxxxxxxxxxxx + 100001x1100xxxxx111xxxxxxxxxxxxx prfd. */ - return 1770; + return 1774; } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x1x01xxxxx110xxxxxxxxxxxxx - ld1w. */ - return 1595; + 100001x1x01xxxxx111xxxxxxxxxxxxx + ldff1w. */ + return 1698; } } else @@ -8471,194 +10734,373 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x101xxxxxx110xxxxxxxxxxxxx + 100001x101xxxxxx111xxxxxxxxxxxxx ld1rw. */ - return 1555; + return 1557; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x111xxxxxx110xxxxxxxxxxxxx - ld1rsb. */ - return 1551; + 100001x111xxxxxx111xxxxxxxxxxxxx + ld1rd. */ + return 1538; } } } } } - else + } + } + else + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 14) & 0x1) == 0) { - if (((word >> 14) & 0x1) == 0) + if (((word >> 15) & 0x1) == 0) { - if (((word >> 15) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x1xxxxxxxx001xxxxxxxxxxxxx - prfh. */ - return 1781; - } - else + if (((word >> 21) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x10xxxxxxx101xxxxxxxxxxxxx - ld1rsh. */ - return 1553; + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx000000xxxxxxxxxx + saddlb. */ + return 2126; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx000100xxxxxxxxxx + ssublb. */ + return 2233; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx000010xxxxxxxxxx + uaddlb. */ + return 2257; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx000110xxxxxxxxxx + usublb. */ + return 2310; + } + } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx000001xxxxxxxxxx + saddlt. */ + return 2128; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx000101xxxxxxxxxx + ssublt. */ + return 2235; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx000011xxxxxxxxxx + uaddlt. */ + return 2258; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx000111xxxxxxxxxx + usublt. */ + return 2311; + } + } + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x11xxxxxxx101xxxxxxxxxxxxx - ld1rsb. */ - return 1550; + 110001x1xx0xxxxx000xxxxxxxxxxxxx + ld1sw. */ + return 1582; } } - } - else - { - if (((word >> 15) & 0x1) == 0) + else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - if (((word >> 21) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x10x0xxxxx011xxxxxxxxxxxxx - ldff1w. */ - return 1687; + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx000000xxxxxxxxxx + sqshrunb. */ + return 2216; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx000100xxxxxxxxxx + shrnb. */ + return 2134; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx000010xxxxxxxxxx + sqrshrunb. */ + return 2208; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx000110xxxxxxxxxx + rshrnb. */ + return 2116; + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x10x1xxxxx011xxxxxxxxxxxxx - ldff1w. */ - return 1688; + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx000001xxxxxxxxxx + sqshrunt. */ + return 2217; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx000101xxxxxxxxxx + shrnt. */ + return 2135; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx000011xxxxxxxxxx + sqrshrunt. */ + return 2209; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx000111xxxxxxxxxx + rshrnt. */ + return 2117; + } + } } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x11xxxxxxx011xxxxxxxxxxxxx - prfd. */ - return 1774; + 110001x1xx1xxxxx000xxxxxxxxxxxxx + ld1sw. */ + return 1583; } } - else + } + else + { + if (((word >> 21) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - if (((word >> 21) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx100000xxxxxxxxxx + saddlbt. */ + return 2127; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx100100xxxxxxxxxx + eorbt. */ + return 2063; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx100010xxxxxxxxxx + ssublbt. */ + return 2234; + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1000xxxxx100110xxxxxxxxxx + smmla. */ + return 2391; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1100xxxxx100110xxxxxxxxxx + usmmla. */ + return 2393; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1x10xxxxx100110xxxxxxxxxx + ummla. */ + return 2392; + } + } + } + } + else + { + if (((word >> 11) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x1000xxxxx111xxxxxxxxxxxxx - prfw. */ - return 1787; + 010001x1xx0xxxxx100x01xxxxxxxxxx + eortb. */ + return 2064; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x1100xxxxx111xxxxxxxxxxxxx - prfd. */ - return 1773; + 010001x1xx0xxxxx100x11xxxxxxxxxx + ssubltb. */ + return 2236; } } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x1x01xxxxx111xxxxxxxxxxxxx - ldff1w. */ - return 1697; - } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x101xxxxxx111xxxxxxxxxxxxx - ld1rw. */ - return 1556; + 110001x1x00xxxxx100xxxxxxxxxxxxx + ldnt1sw. */ + return 2095; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x111xxxxxx111xxxxxxxxxxxxx - ld1rd. */ - return 1537; + 110001x1x10xxxxx100xxxxxxxxxxxxx + ld1sw. */ + return 1584; } } } - } - } - } - } - else - { - if (((word >> 13) & 0x1) == 0) - { - if (((word >> 14) & 0x1) == 0) - { - if (((word >> 15) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1xx0xxxxx000xxxxxxxxxxxxx - ld1sw. */ - return 1581; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1xx1xxxxx000xxxxxxxxxxxxx - ld1sw. */ - return 1582; - } - } - else - { - if (((word >> 21) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1xx0xxxxx100xxxxxxxxxxxxx - ld1sw. */ - return 1583; - } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1x01xxxxx100xxxxxxxxxxxxx - ld1sw. */ - return 1586; + if (((word >> 4) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx100xxxxxxxx0xxxx + match. */ + return 2098; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx100xxxxxxxx1xxxx + nmatch. */ + return 2110; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1x11xxxxx100xxxxxxxxxxxxx - ld1sw. */ - return 1584; + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x1x01xxxxx100xxxxxxxxxxxxx + ld1sw. */ + return 1587; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x1x11xxxxx100xxxxxxxxxxxxx + ld1sw. */ + return 1585; + } } } } @@ -8669,32 +11111,186 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 21) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x10x0xxxxx010xxxxxxxxxxxxx - ld1w. */ - return 1591; + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx010000xxxxxxxxxx + saddwb. */ + return 2129; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx010100xxxxxxxxxx + ssubwb. */ + return 2237; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx010010xxxxxxxxxx + uaddwb. */ + return 2259; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx010110xxxxxxxxxx + usubwb. */ + return 2312; + } + } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx010001xxxxxxxxxx + saddwt. */ + return 2130; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx010101xxxxxxxxxx + ssubwt. */ + return 2238; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx010011xxxxxxxxxx + uaddwt. */ + return 2260; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx010111xxxxxxxxxx + usubwt. */ + return 2313; + } + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x11x0xxxxx010xxxxxxxxxxxxx - ld1d. */ - return 1513; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x10x0xxxxx010xxxxxxxxxxxxx + ld1w. */ + return 1592; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x11x0xxxxx010xxxxxxxxxxxxx + ld1d. */ + return 1514; + } } } else { if (((word >> 23) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x10x1xxxxx010xxxxxxxxxxxxx - ld1w. */ - return 1592; + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x10x1xxxxx010000xxxxxxxxxx + sqxtnb. */ + return 2220; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x10x1xxxxx010100xxxxxxxxxx + sqxtunb. */ + return 2222; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x10x1xxxxx010x10xxxxxxxxxx + uqxtnb. */ + return 2297; + } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x10x1xxxxx010001xxxxxxxxxx + sqxtnt. */ + return 2221; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x10x1xxxxx010101xxxxxxxxxx + sqxtunt. */ + return 2223; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x10x1xxxxx010x11xxxxxxxxxx + uqxtnt. */ + return 2298; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x10x1xxxxx010xxxxxxxxxxxxx + ld1w. */ + return 1593; + } } else { @@ -8702,7 +11298,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10001x11x1xxxxx010xxxxxxxxxxxxx ld1d. */ - return 1514; + return 1515; } } } @@ -8710,61 +11306,204 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 21) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x10x0xxxxx110xxxxxxxxxxxxx - ld1w. */ - return 1593; + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx110000xxxxxxxxxx + sabalb. */ + return 2121; + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x10x0xxxxx110100xxxxxxxxxx + adclb. */ + return 2046; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x11x0xxxxx110100xxxxxxxxxx + sbclb. */ + return 2131; + } + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx110001xxxxxxxxxx + sabalt. */ + return 2122; + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x10x0xxxxx110101xxxxxxxxxx + adclt. */ + return 2047; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x11x0xxxxx110101xxxxxxxxxx + sbclt. */ + return 2132; + } + } + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx110010xxxxxxxxxx + uabalb. */ + return 2252; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx110011xxxxxxxxxx + uabalt. */ + return 2253; + } + } + else + { + if (((word >> 16) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxx011011xxxxxxxxxxx + cadd. */ + return 2055; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxx111011xxxxxxxxxxx + sqcadd. */ + return 2163; + } + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x11x0xxxxx110xxxxxxxxxxxxx - ld1d. */ - return 1515; + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x1000xxxxx110xxxxxxxxxxxxx + ldnt1w. */ + return 2097; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x1100xxxxx110xxxxxxxxxxxxx + ldnt1d. */ + return 2090; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x1010xxxxx110xxxxxxxxxxxxx + ld1w. */ + return 1594; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x1110xxxxx110xxxxxxxxxxxxx + ld1d. */ + return 1516; + } + } } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 x10001x1001xxxxx110xxxxxxxxxxxxx ld1w. */ - return 1598; + return 1599; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x10001x1101xxxxx110xxxxxxxxxxxxx - ld1d. */ - return 1518; + x10001x1011xxxxx110xxxxxxxxxxxxx + ld1w. */ + return 1595; } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x10001x1011xxxxx110xxxxxxxxxxxxx - ld1w. */ - return 1594; + 010001x11x1xxxxx110xxxxxxxxxxxxx + histcnt. */ + return 2086; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1111xxxxx110xxxxxxxxxxxxx - ld1d. */ - return 1516; + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x1101xxxxx110xxxxxxxxxxxxx + ld1d. */ + return 1519; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x1111xxxxx110xxxxxxxxxxxxx + ld1d. */ + return 1517; + } } } } @@ -8779,40 +11518,260 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 21) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1xx0xxxxx001xxxxxxxxxxxxx - ldff1sw. */ - return 1682; + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx001x00xxxxxxxxxx + sabdlb. */ + return 2123; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx001x10xxxxxxxxxx + uabdlb. */ + return 2254; + } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx001x01xxxxxxxxxx + sabdlt. */ + return 2124; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx001x11xxxxxxxxxx + uabdlt. */ + return 2255; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x1xx0xxxxx001xxxxxxxxxxxxx + ldff1sw. */ + return 1683; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1xx1xxxxx001xxxxxxxxxxxxx - ldff1sw. */ - return 1683; + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx001000xxxxxxxxxx + sqshrnb. */ + return 2214; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx001100xxxxxxxxxx + uqshrnb. */ + return 2293; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx001010xxxxxxxxxx + sqrshrnb. */ + return 2206; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx001110xxxxxxxxxx + uqrshrnb. */ + return 2288; + } + } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx001001xxxxxxxxxx + sqshrnt. */ + return 2215; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx001101xxxxxxxxxx + uqshrnt. */ + return 2294; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx001011xxxxxxxxxx + sqrshrnt. */ + return 2207; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx001111xxxxxxxxxx + uqrshrnt. */ + return 2289; + } + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x1xx1xxxxx001xxxxxxxxxxxxx + ldff1sw. */ + return 1684; + } } } else { if (((word >> 21) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1xx0xxxxx101xxxxxxxxxxxxx - ldff1sw. */ - return 1684; - } - else - { - if (((word >> 22) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx101000xxxxxxxxxx + sshllb. */ + return 2230; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx101100xxxxxxxxxx + bext. */ + return 2335; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx101010xxxxxxxxxx + ushllb. */ + return 2306; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx101110xxxxxxxxxx + bgrp. */ + return 2336; + } + } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx101001xxxxxxxxxx + sshllt. */ + return 2231; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx101101xxxxxxxxxx + bdep. */ + return 2334; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx101x11xxxxxxxxxx + ushllt. */ + return 2307; + } + } + } + else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x10001x1x01xxxxx101xxxxxxxxxxxxx + 110001x1xx0xxxxx101xxxxxxxxxxxxx ldff1sw. */ - return 1686; + return 1685; + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1x01xxxxx101xxxxxxxxxxxxx + histseg. */ + return 2087; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x1x01xxxxx101xxxxxxxxxxxxx + ldff1sw. */ + return 1687; + } } else { @@ -8820,7 +11779,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10001x1x11xxxxx101xxxxxxxxxxxxx ldff1sw. */ - return 1685; + return 1686; } } } @@ -8831,40 +11790,238 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 21) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x10x0xxxxx011xxxxxxxxxxxxx - ldff1w. */ - return 1693; + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx011000xxxxxxxxxx + sqdmullb. */ + return 2184; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx011100xxxxxxxxxx + smullb. */ + return 2156; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1x00xxxxx011010xxxxxxxxxx + pmullb. */ + return 2331; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1x10xxxxx011010xxxxxxxxxx + pmullb. */ + return 2112; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx011110xxxxxxxxxx + umullb. */ + return 2281; + } + } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx011001xxxxxxxxxx + sqdmullt. */ + return 2187; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx011101xxxxxxxxxx + smullt. */ + return 2159; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1x00xxxxx011011xxxxxxxxxx + pmullt. */ + return 2332; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1x10xxxxx011011xxxxxxxxxx + pmullt. */ + return 2113; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx011111xxxxxxxxxx + umullt. */ + return 2284; + } + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x11x0xxxxx011xxxxxxxxxxxxx - ldff1d. */ - return 1638; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x10x0xxxxx011xxxxxxxxxxxxx + ldff1w. */ + return 1694; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x11x0xxxxx011xxxxxxxxxxxxx + ldff1d. */ + return 1639; + } } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x10x1xxxxx011xxxxxxxxxxxxx - ldff1w. */ - return 1694; + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx011000xxxxxxxxxx + addhnb. */ + return 2048; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx011100xxxxxxxxxx + subhnb. */ + return 2246; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx011010xxxxxxxxxx + raddhnb. */ + return 2114; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx011110xxxxxxxxxx + rsubhnb. */ + return 2118; + } + } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx011001xxxxxxxxxx + addhnt. */ + return 2049; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx011101xxxxxxxxxx + subhnt. */ + return 2247; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx011011xxxxxxxxxx + raddhnt. */ + return 2115; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx011111xxxxxxxxxx + rsubhnt. */ + return 2119; + } + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x11x1xxxxx011xxxxxxxxxxxxx - ldff1d. */ - return 1639; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x10x1xxxxx011xxxxxxxxxxxxx + ldff1w. */ + return 1695; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x11x1xxxxx011xxxxxxxxxxxxx + ldff1d. */ + return 1640; + } } } } @@ -8872,42 +12029,130 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 21) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1000xxxxx111xxxxxxxxxxxxx - prfw. */ - return 1789; + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx111000xxxxxxxxxx + ssra. */ + return 2232; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx111100xxxxxxxxxx + sri. */ + return 2225; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx111010xxxxxxxxxx + srsra. */ + return 2229; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx111110xxxxxxxxxx + saba. */ + return 2120; + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1100xxxxx111xxxxxxxxxxxxx - prfd. */ - return 1775; + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx111001xxxxxxxxxx + usra. */ + return 2309; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx111101xxxxxxxxxx + sli. */ + return 2138; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx111011xxxxxxxxxx + ursra. */ + return 2305; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx111111xxxxxxxxxx + uaba. */ + return 2251; + } + } } } else { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1010xxxxx111xxxxxxxxxxxxx - ldff1w. */ - return 1695; + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x1000xxxxx111xxxxxxxxxxxxx + prfw. */ + return 1790; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x1100xxxxx111xxxxxxxxxxxxx + prfd. */ + return 1776; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1110xxxxx111xxxxxxxxxxxxx - ldff1d. */ - return 1640; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x1010xxxxx111xxxxxxxxxxxxx + ldff1w. */ + return 1696; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x1110xxxxx111xxxxxxxxxxxxx + ldff1d. */ + return 1641; + } } } } @@ -8917,11 +12162,88 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 23) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1001xxxxx111xxxxxxxxxxxxx - ldff1w. */ - return 1698; + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 16) & 0x1) == 0) + { + if (((word >> 17) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1001xxx001110x0xxxxxxxxxx + aesmc. */ + return 2330; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1001xxx101110x0xxxxxxxxxx + aese. */ + return 2328; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1001xxxx11110x0xxxxxxxxxx + sm4e. */ + return 2325; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1001xxxxx1111x0xxxxxxxxxx + sm4ekey. */ + return 2326; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 17) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1001xxx0x1110x1xxxxxxxxxx + aesimc. */ + return 2329; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1001xxx1x1110x1xxxxxxxxxx + aesd. */ + return 2327; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1001xxxxx1111x1xxxxxxxxxx + rax1. */ + return 2333; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x1001xxxxx111xxxxxxxxxxxxx + ldff1w. */ + return 1699; + } } else { @@ -8929,7 +12251,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10001x1101xxxxx111xxxxxxxxxxxxx ldff1d. */ - return 1642; + return 1643; } } else @@ -8940,7 +12262,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10001x1011xxxxx111xxxxxxxxxxxxx ldff1w. */ - return 1696; + return 1697; } else { @@ -8948,7 +12270,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10001x1111xxxxx111xxxxxxxxxxxxx ldff1d. */ - return 1641; + return 1642; } } } @@ -8977,7 +12299,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx0xxxxx000xxxxxxxx0xxxx cmpge. */ - return 1321; + return 1322; } else { @@ -8985,7 +12307,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx0xxxxx000xxxxxxxx1xxxx cmpgt. */ - return 1324; + return 1325; } } else @@ -8996,7 +12318,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x10x0xxxxx000xxxxxxxxxxxxx ld1rqw. */ - return 1548; + return 1549; } else { @@ -9004,92 +12326,202 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x11x0xxxxx000xxxxxxxxxxxxx ld1rqd. */ - return 1544; + return 1545; } } } else { - if (((word >> 4) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - if (((word >> 11) & 0x1) == 0) + if (((word >> 4) & 0x1) == 0) { - if (((word >> 12) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx00000xxxxxx0xxxx - whilelt. */ - return 2025; + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000000xxxxx0xxxx + whilege. */ + return 2314; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000100xxxxx0xxxx + whilege. */ + return 2315; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000010xxxxx0xxxx + whilehs. */ + return 2320; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000110xxxxx0xxxx + whilehs. */ + return 2321; + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx00010xxxxxx0xxxx - whilelt. */ - return 2026; + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000001xxxxx0xxxx + whilelt. */ + return 2026; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000101xxxxx0xxxx + whilelt. */ + return 2027; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000011xxxxx0xxxx + whilelo. */ + return 2022; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000111xxxxx0xxxx + whilelo. */ + return 2023; + } + } } } else { - if (((word >> 12) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx00001xxxxxx0xxxx - whilelo. */ - return 2021; + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000000xxxxx1xxxx + whilegt. */ + return 2316; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000100xxxxx1xxxx + whilegt. */ + return 2317; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000010xxxxx1xxxx + whilehi. */ + return 2318; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000110xxxxx1xxxx + whilehi. */ + return 2319; + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx00011xxxxxx0xxxx - whilelo. */ - return 2022; + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000001xxxxx1xxxx + whilele. */ + return 2020; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000101xxxxx1xxxx + whilele. */ + return 2021; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000011xxxxx1xxxx + whilels. */ + return 2024; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000111xxxxx1xxxx + whilels. */ + return 2025; + } + } } } } else { - if (((word >> 11) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 12) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx00000xxxxxx1xxxx - whilele. */ - return 2019; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx00010xxxxxx1xxxx - whilele. */ - return 2020; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x10x1xxxxx000xxxxxxxxxxxxx + ld1row. */ + return 2401; } else { - if (((word >> 12) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx00001xxxxxx1xxxx - whilels. */ - return 2023; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx00011xxxxxx1xxxx - whilels. */ - return 2024; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x11x1xxxxx000xxxxxxxxxxxxx + ld1rod. */ + return 2402; } } } @@ -9108,7 +12540,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx000x00xxxxxxxxxx fadd. */ - return 1379; + return 1380; } else { @@ -9118,7 +12550,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx000010xxxxxxxxxx fmul. */ - return 1446; + return 1447; } else { @@ -9126,7 +12558,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx000110xxxxxxxxxx frecps. */ - return 1459; + return 1460; } } } @@ -9138,7 +12570,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx000x01xxxxxxxxxx fsub. */ - return 1472; + return 1473; } else { @@ -9148,7 +12580,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx000011xxxxxxxxxx ftsmul. */ - return 1478; + return 1479; } else { @@ -9156,7 +12588,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx000111xxxxxxxxxx frsqrts. */ - return 1469; + return 1470; } } } @@ -9167,7 +12599,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx1xxxxx000xxxxxxxxxxxxx fmla. */ - return 1437; + return 1438; } } else @@ -9176,7 +12608,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1xxxxxxxx000xxxxxxxxxxxxx str. */ - return 1940; + return 1941; } } } @@ -9194,7 +12626,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx0xxxxx001xxxxxxxx0xxxx cmplt. */ - return 1338; + return 1339; } else { @@ -9202,7 +12634,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx0xxxxx001xxxxxxxx1xxxx cmple. */ - return 1332; + return 1333; } } else @@ -9213,7 +12645,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x10x0xxxxx001xxxxxxxxxxxxx ld1rqw. */ - return 1547; + return 1548; } else { @@ -9221,159 +12653,192 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x11x0xxxxx001xxxxxxxxxxxxx ld1rqd. */ - return 1543; + return 1544; } } } else { - if (((word >> 16) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - if (((word >> 17) & 0x1) == 0) + if (((word >> 16) & 0x1) == 0) { - if (((word >> 18) & 0x1) == 0) + if (((word >> 17) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) + if (((word >> 18) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x1xx000000001xxxxxxxxxxxxx - faddv. */ - return 1383; - } - else + if (((word >> 19) & 0x1) == 0) { - if (((word >> 4) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x1xx010000001xxxxxxxx0xxxx - fcmge. */ - return 1390; + 011001x1xx000000001xxxxxxxxxxxxx + faddv. */ + return 1384; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x1xx010000001xxxxxxxx1xxxx - fcmgt. */ - return 1392; + if (((word >> 4) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx010000001xxxxxxxx0xxxx + fcmge. */ + return 1391; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx010000001xxxxxxxx1xxxx + fcmgt. */ + return 1393; + } } } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx0x1000001xxxxxxxxxxxxx + fadda. */ + return 1383; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x1xx0x1000001xxxxxxxxxxxxx - fadda. */ - return 1382; + 011001x1xx0xx100001xxxxxxxxxxxxx + fmaxnmv. */ + return 1430; } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x1xx0xx100001xxxxxxxxxxxxx - fmaxnmv. */ - return 1429; - } - } - else - { - if (((word >> 18) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x1xx0xx010001xxxxxxxxxxxxx - fcmeq. */ - return 1388; - } - else - { - if (((word >> 19) & 0x1) == 0) + if (((word >> 18) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x1xx0x0110001xxxxxxxxxxxxx - fmaxv. */ - return 1430; + 011001x1xx0xx010001xxxxxxxxxxxxx + fcmeq. */ + return 1389; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x1xx0x1110001xxxxxxxxxxxxx - frecpe. */ - return 1458; + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx0x0110001xxxxxxxxxxxxx + fmaxv. */ + return 1431; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx0x1110001xxxxxxxxxxxxx + frecpe. */ + return 1459; + } } } } - } - else - { - if (((word >> 17) & 0x1) == 0) + else { - if (((word >> 18) & 0x1) == 0) + if (((word >> 17) & 0x1) == 0) { - if (((word >> 4) & 0x1) == 0) + if (((word >> 18) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x1xx0xx001001xxxxxxxx0xxxx - fcmlt. */ - return 1395; + if (((word >> 4) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx0xx001001xxxxxxxx0xxxx + fcmlt. */ + return 1396; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx0xx001001xxxxxxxx1xxxx + fcmle. */ + return 1395; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x1xx0xx001001xxxxxxxx1xxxx - fcmle. */ - return 1394; + 011001x1xx0xx101001xxxxxxxxxxxxx + fminnmv. */ + return 1436; } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x1xx0xx101001xxxxxxxxxxxxx - fminnmv. */ - return 1435; + if (((word >> 18) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx0xx011001xxxxxxxxxxxxx + fcmne. */ + return 1397; + } + else + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx0x0111001xxxxxxxxxxxxx + fminv. */ + return 1437; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx0x1111001xxxxxxxxxxxxx + frsqrte. */ + return 1469; + } + } } } - else + } + else + { + if (((word >> 22) & 0x1) == 0) { - if (((word >> 18) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x1xx0xx011001xxxxxxxxxxxxx - fcmne. */ - return 1396; + 111001x1000xxxxx001xxxxxxxxxxxxx + stnt1w. */ + return 2245; } else { - if (((word >> 19) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x1xx0x0111001xxxxxxxxxxxxx - fminv. */ - return 1436; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x1xx0x1111001xxxxxxxxxxxxx - frsqrte. */ - return 1468; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x1100xxxxx001xxxxxxxxxxxxx + stnt1d. */ + return 2241; } } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x1x10xxxxx001xxxxxxxxxxxxx + stnt1w. */ + return 2244; + } } } } @@ -9381,21 +12846,65 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 30) & 0x1) == 0) { - if (((word >> 4) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx001xxxxxxxx0xxxx - ctermeq. */ - return 1353; + if (((word >> 4) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx0010xxxxxxx0xxxx + ctermeq. */ + return 1354; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx0011xxxxxxx0xxxx + whilewr. */ + return 2323; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx0010xxxxxxx1xxxx + ctermne. */ + return 1355; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx0011xxxxxxx1xxxx + whilerw. */ + return 2322; + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx001xxxxxxxx1xxxx - ctermne. */ - return 1354; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x10x1xxxxx001xxxxxxxxxxxxx + ld1row. */ + return 2405; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x11x1xxxxx001xxxxxxxxxxxxx + ld1rod. */ + return 2406; + } } } else @@ -9404,7 +12913,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x1xx1xxxxx001xxxxxxxxxxxxx fmls. */ - return 1441; + return 1442; } } } @@ -9431,7 +12940,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x10000xxxx01xxxx0xxxx0xxxx and. */ - return 1284; + return 1285; } else { @@ -9439,7 +12948,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x10000xxxx01xxxx0xxxx1xxxx bic. */ - return 1296; + return 1297; } } else @@ -9450,7 +12959,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x100010xxx01xxxx0xxxxxxxxx brka. */ - return 1298; + return 1299; } else { @@ -9458,7 +12967,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x100011xxx01xxxx0xxxxxxxxx brkn. */ - return 1302; + return 1303; } } } @@ -9470,7 +12979,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1000xxxxx01xxxx1xxxx0xxxx eor. */ - return 1371; + return 1372; } else { @@ -9478,7 +12987,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1000xxxxx01xxxx1xxxx1xxxx sel. */ - return 1820; + return 1821; } } } @@ -9490,7 +12999,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1000xxxxx010xxxxxxxxxxxxx ld1sh. */ - return 1570; + return 1571; } else { @@ -9498,7 +13007,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1000xxxxx011xxxxxxxxxxxxx ldff1sh. */ - return 1670; + return 1671; } } } @@ -9516,7 +13025,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x11000xxxx01xxxx0xxxx0xxxx orr. */ - return 1756; + return 1757; } else { @@ -9524,7 +13033,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x11000xxxx01xxxx0xxxx1xxxx orn. */ - return 1751; + return 1752; } } else @@ -9533,7 +13042,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x11001xxxx01xxxx0xxxxxxxxx brkb. */ - return 1300; + return 1301; } } else @@ -9544,7 +13053,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1100xxxxx01xxxx1xxxx0xxxx nor. */ - return 1748; + return 1749; } else { @@ -9552,7 +13061,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1100xxxxx01xxxx1xxxx1xxxx nand. */ - return 1745; + return 1746; } } } @@ -9564,7 +13073,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1100xxxxx010xxxxxxxxxxxxx ld1sb. */ - return 1558; + return 1559; } else { @@ -9572,7 +13081,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1100xxxxx011xxxxxxxxxxxxx ldff1sb. */ - return 1658; + return 1659; } } } @@ -9593,7 +13102,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x10100xxxx01xxxx0xxxx0xxxx ands. */ - return 1285; + return 1286; } else { @@ -9603,7 +13112,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x101010xxx01xxxx0xxxx0xxxx brkas. */ - return 1299; + return 1300; } else { @@ -9611,7 +13120,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x101011xxx01xxxx0xxxx0xxxx brkns. */ - return 1303; + return 1304; } } } @@ -9621,7 +13130,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1010xxxxx01xxxx1xxxx0xxxx eors. */ - return 1372; + return 1373; } } else @@ -9630,7 +13139,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1010xxxxx01xxxxxxxxx1xxxx bics. */ - return 1297; + return 1298; } } else @@ -9641,7 +13150,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1010xxxxx010xxxxxxxxxxxxx ld1w. */ - return 1589; + return 1590; } else { @@ -9649,7 +13158,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1010xxxxx011xxxxxxxxxxxxx ldff1w. */ - return 1689; + return 1690; } } } @@ -9667,7 +13176,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x11100xxxx01xxxx0xxxx0xxxx orrs. */ - return 1757; + return 1758; } else { @@ -9675,7 +13184,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x11101xxxx01xxxx0xxxx0xxxx brkbs. */ - return 1301; + return 1302; } } else @@ -9684,7 +13193,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1110xxxxx01xxxx1xxxx0xxxx nors. */ - return 1749; + return 1750; } } else @@ -9695,7 +13204,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1110xxxxx01xxxx0xxxx1xxxx orns. */ - return 1752; + return 1753; } else { @@ -9703,7 +13212,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1110xxxxx01xxxx1xxxx1xxxx nands. */ - return 1746; + return 1747; } } } @@ -9715,7 +13224,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1110xxxxx010xxxxxxxxxxxxx ld1sb. */ - return 1560; + return 1561; } else { @@ -9723,7 +13232,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1110xxxxx011xxxxxxxxxxxxx ldff1sb. */ - return 1662; + return 1663; } } } @@ -9741,7 +13250,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x1001xxxxx010xxxxxxxxxxxxx ld1sh. */ - return 1571; + return 1572; } else { @@ -9749,7 +13258,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x1101xxxxx010xxxxxxxxxxxxx ld1sb. */ - return 1559; + return 1560; } } else @@ -9760,7 +13269,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x1011xxxxx010xxxxxxxxxxxxx ld1w. */ - return 1590; + return 1591; } else { @@ -9768,7 +13277,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x1111xxxxx010xxxxxxxxxxxxx ld1d. */ - return 1512; + return 1513; } } } @@ -9782,7 +13291,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x1001xxxxx011xxxxxxxxxxxxx ldff1sh. */ - return 1672; + return 1673; } else { @@ -9790,7 +13299,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x1101xxxxx011xxxxxxxxxxxxx ldff1sb. */ - return 1660; + return 1661; } } else @@ -9801,7 +13310,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x1011xxxxx011xxxxxxxxxxxxx ldff1w. */ - return 1691; + return 1692; } else { @@ -9809,7 +13318,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x1111xxxxx011xxxxxxxxxxxxx ldff1d. */ - return 1636; + return 1637; } } } @@ -9829,7 +13338,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx010xxxxxxxx0xxxx fcmge. */ - return 1391; + return 1392; } else { @@ -9837,7 +13346,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx010xxxxxxxx1xxxx fcmgt. */ - return 1393; + return 1394; } } else @@ -9846,7 +13355,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx1xxxxx010xxxxxxxxxxxxx fnmla. */ - return 1455; + return 1456; } } else @@ -9857,7 +13366,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1x0xxxxxx010xxxxxxxxxxxxx str. */ - return 1941; + return 1942; } else { @@ -9867,7 +13376,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1x10xxxxx010xxxxxxxxxxxxx st1w. */ - return 1900; + return 1901; } else { @@ -9877,7 +13386,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1011xxxxx010xxxxxxxxxxxxx st1w. */ - return 1902; + return 1903; } else { @@ -9885,7 +13394,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1111xxxxx010xxxxxxxxxxxxx st1d. */ - return 1879; + return 1880; } } } @@ -9903,7 +13412,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx011xxxxxxxx0xxxx fcmeq. */ - return 1389; + return 1390; } else { @@ -9911,7 +13420,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx011xxxxxxxx1xxxx fcmne. */ - return 1397; + return 1398; } } else @@ -9924,7 +13433,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1000xxxxx011xxxxxxxxxxxxx stnt1w. */ - return 1938; + return 1939; } else { @@ -9932,7 +13441,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1100xxxxx011xxxxxxxxxxxxx stnt1d. */ - return 1934; + return 1935; } } else @@ -9943,7 +13452,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1010xxxxx011xxxxxxxxxxxxx st3w. */ - return 1922; + return 1923; } else { @@ -9951,7 +13460,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1110xxxxx011xxxxxxxxxxxxx st3d. */ - return 1918; + return 1919; } } } @@ -9964,7 +13473,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx1xxxxx011xxxxxxxxxxxxx fnmls. */ - return 1456; + return 1457; } else { @@ -9976,7 +13485,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1001xxxxx011xxxxxxxxxxxxx st2w. */ - return 1914; + return 1915; } else { @@ -9984,7 +13493,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1101xxxxx011xxxxxxxxxxxxx st2d. */ - return 1910; + return 1911; } } else @@ -9995,7 +13504,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1011xxxxx011xxxxxxxxxxxxx st4w. */ - return 1930; + return 1931; } else { @@ -10003,7 +13512,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1111xxxxx011xxxxxxxxxxxxx st4d. */ - return 1926; + return 1927; } } } @@ -10028,7 +13537,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x1xx0xxxxx100xxxxxxxx0xxxx cmpeq. */ - return 1318; + return 1319; } else { @@ -10036,7 +13545,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x1xx0xxxxx100xxxxxxxx1xxxx cmpne. */ - return 1341; + return 1342; } } else @@ -10051,7 +13560,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x10000xxxx101xxxxxxxxxxxxx ld1sh. */ - return 1577; + return 1578; } else { @@ -10059,7 +13568,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x11000xxxx101xxxxxxxxxxxxx ld1sb. */ - return 1564; + return 1565; } } else @@ -10070,7 +13579,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x10100xxxx101xxxxxxxxxxxxx ld1w. */ - return 1596; + return 1597; } else { @@ -10078,7 +13587,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x11100xxxx101xxxxxxxxxxxxx ld1sb. */ - return 1566; + return 1567; } } } @@ -10092,7 +13601,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x10001xxxx101xxxxxxxxxxxxx ldnf1sh. */ - return 1710; + return 1711; } else { @@ -10100,7 +13609,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x11001xxxx101xxxxxxxxxxxxx ldnf1sb. */ - return 1707; + return 1708; } } else @@ -10111,7 +13620,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x10101xxxx101xxxxxxxxxxxxx ldnf1w. */ - return 1713; + return 1714; } else { @@ -10119,7 +13628,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x11101xxxx101xxxxxxxxxxxxx ldnf1sb. */ - return 1709; + return 1710; } } } @@ -10139,7 +13648,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1x000xxxx11xxxxxxxxx0xxxx brkpa. */ - return 1304; + return 1305; } else { @@ -10147,7 +13656,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1x100xxxx11xxxxxxxxx0xxxx brkpas. */ - return 1305; + return 1306; } } else @@ -10160,7 +13669,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx010xx011xxxxxxxxx0xxxx ptest. */ - return 1790; + return 1791; } else { @@ -10174,7 +13683,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx011xx01100x0xxxxx0xxxx pfirst. */ - return 1760; + return 1761; } else { @@ -10182,7 +13691,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx011xx01110x0xxxxx0xxxx ptrue. */ - return 1791; + return 1792; } } else @@ -10193,7 +13702,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1x0011xx011x1x0xxxxx0xxxx rdffr. */ - return 1797; + return 1798; } else { @@ -10201,7 +13710,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1x1011xx011x1x0xxxxx0xxxx rdffrs. */ - return 1798; + return 1799; } } } @@ -10211,7 +13720,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx011xx011xxx1xxxxx0xxxx pfalse. */ - return 1759; + return 1760; } } } @@ -10225,7 +13734,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx01xxx111x0x0xxxxx0xxxx ptrues. */ - return 1792; + return 1793; } else { @@ -10233,7 +13742,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx01xxx111x1x0xxxxx0xxxx rdffr. */ - return 1796; + return 1797; } } else @@ -10242,7 +13751,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx01xxx111xxx1xxxxx0xxxx pnext. */ - return 1761; + return 1762; } } } @@ -10255,7 +13764,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1x00xxxxx11xxxxxxxxx1xxxx brkpb. */ - return 1306; + return 1307; } else { @@ -10263,7 +13772,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1x10xxxxx11xxxxxxxxx1xxxx brkpbs. */ - return 1307; + return 1308; } } } @@ -10279,7 +13788,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1000xxxxx110xxxxxxxxxxxxx ldnt1w. */ - return 1721; + return 1722; } else { @@ -10287,7 +13796,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1100xxxxx110xxxxxxxxxxxxx ldnt1d. */ - return 1717; + return 1718; } } else @@ -10298,7 +13807,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1010xxxxx110xxxxxxxxxxxxx ld3w. */ - return 1613; + return 1614; } else { @@ -10306,7 +13815,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1110xxxxx110xxxxxxxxxxxxx ld3d. */ - return 1609; + return 1610; } } } @@ -10320,7 +13829,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1000xxxxx111xxxxxxxxxxxxx ldnt1w. */ - return 1722; + return 1723; } else { @@ -10328,7 +13837,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1100xxxxx111xxxxxxxxxxxxx ldnt1d. */ - return 1718; + return 1719; } } else @@ -10339,7 +13848,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1010xxxxx111xxxxxxxxxxxxx ld3w. */ - return 1614; + return 1615; } else { @@ -10347,7 +13856,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1110xxxxx111xxxxxxxxxxxxx ld3d. */ - return 1610; + return 1611; } } } @@ -10376,7 +13885,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000000100xxxxxxxxxxxxx fadd. */ - return 1380; + return 1381; } else { @@ -10384,7 +13893,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000100100xxxxxxxxxxxxx fmaxnm. */ - return 1427; + return 1428; } } else @@ -10395,7 +13904,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000010100xxxxxxxxxxxxx fmul. */ - return 1447; + return 1448; } else { @@ -10403,7 +13912,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000110100xxxxxxxxxxxxx fmax. */ - return 1425; + return 1426; } } } @@ -10417,7 +13926,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000001100xxxxxxxxxxxxx fsub. */ - return 1473; + return 1474; } else { @@ -10425,7 +13934,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000101100xxxxxxxxxxxxx fminnm. */ - return 1433; + return 1434; } } else @@ -10436,7 +13945,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000011100xxxxxxxxxxxxx fsubr. */ - return 1475; + return 1476; } else { @@ -10444,7 +13953,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000111100xxxxxxxxxxxxx fmin. */ - return 1431; + return 1432; } } } @@ -10455,7 +13964,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx010xxx100xxxxxxxxxxxxx ftmad. */ - return 1477; + return 1478; } } else @@ -10472,7 +13981,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001000100xxxxxxxxxxxxx fabd. */ - return 1375; + return 1376; } else { @@ -10480,7 +13989,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx011000100xxxxxxxxxxxxx fadd. */ - return 1381; + return 1382; } } else @@ -10491,7 +14000,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001100100xxxxxxxxxxxxx fdivr. */ - return 1421; + return 1422; } else { @@ -10499,7 +14008,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx011100100xxxxxxxxxxxxx fmaxnm. */ - return 1428; + return 1429; } } } @@ -10513,7 +14022,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001010100xxxxxxxxxxxxx fmulx. */ - return 1452; + return 1453; } else { @@ -10521,7 +14030,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx011010100xxxxxxxxxxxxx fmul. */ - return 1448; + return 1449; } } else @@ -10530,7 +14039,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x1110100xxxxxxxxxxxxx fmax. */ - return 1426; + return 1427; } } } @@ -10546,7 +14055,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001001100xxxxxxxxxxxxx fscale. */ - return 1470; + return 1471; } else { @@ -10554,7 +14063,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx011001100xxxxxxxxxxxxx fsub. */ - return 1474; + return 1475; } } else @@ -10565,7 +14074,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001101100xxxxxxxxxxxxx fdiv. */ - return 1420; + return 1421; } else { @@ -10573,7 +14082,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx011101100xxxxxxxxxxxxx fminnm. */ - return 1434; + return 1435; } } } @@ -10585,7 +14094,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x1011100xxxxxxxxxxxxx fsubr. */ - return 1476; + return 1477; } else { @@ -10593,7 +14102,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x1111100xxxxxxxxxxxxx fmin. */ - return 1432; + return 1433; } } } @@ -10607,7 +14116,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx110xxxxxxxx0xxxx fcmuo. */ - return 1398; + return 1399; } else { @@ -10615,7 +14124,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx110xxxxxxxx1xxxx facge. */ - return 1377; + return 1378; } } } @@ -10629,7 +14138,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1000xxxxx1x0xxxxxxxxxxxxx st1w. */ - return 1896; + return 1897; } else { @@ -10637,7 +14146,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1100xxxxx1x0xxxxxxxxxxxxx st1d. */ - return 1875; + return 1876; } } else @@ -10646,7 +14155,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1x10xxxxx1x0xxxxxxxxxxxxx st1w. */ - return 1901; + return 1902; } } } @@ -10658,11 +14167,11 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 16) & 0x1) == 0) { - if (((word >> 17) & 0x1) == 0) + if (((word >> 19) & 0x1) == 0) { - if (((word >> 18) & 0x1) == 0) + if (((word >> 17) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) + if (((word >> 18) & 0x1) == 0) { if (((word >> 20) & 0x1) == 0) { @@ -10670,7 +14179,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000000101xxxxxxxxxxxxx frintn. */ - return 1464; + return 1465; } else { @@ -10678,43 +14187,10 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx010000101xxxxxxxxxxxxx scvtf. */ - return 1810; + return 1811; } } else - { - if (((word >> 20) & 0x1) == 0) - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 011001x1x0001000101xxxxxxxxxxxxx - fcvt. */ - return 1400; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 011001x1x1001000101xxxxxxxxxxxxx - fcvt. */ - return 1402; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 011001x1xx011000101xxxxxxxxxxxxx - fcvtzs. */ - return 1410; - } - } - } - else - { - if (((word >> 19) & 0x1) == 0) { if (((word >> 20) & 0x1) == 0) { @@ -10722,7 +14198,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000100101xxxxxxxxxxxxx frinta. */ - return 1461; + return 1462; } else { @@ -10732,7 +14208,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1x0010100101xxxxxxxxxxxxx scvtf. */ - return 1809; + return 1810; } else { @@ -10742,7 +14218,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x101010100101xxxxxxxxxxxxx scvtf. */ - return 1808; + return 1809; } else { @@ -10750,49 +14226,60 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x111010100101xxxxxxxxxxxxx scvtf. */ - return 1812; + return 1813; } } } } + } + else + { + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx000010101xxxxxxxxxxxxx + frintm. */ + return 1464; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx010010101xxxxxxxxxxxxx + scvtf. */ + return 1808; + } + } else { if (((word >> 20) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 011001x1xx001100101xxxxxxxxxxxxx - frecpx. */ - return 1460; + 011001x1xx000110101xxxxxxxxxxxxx + frintx. */ + return 1467; } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 011001x1x0011100101xxxxxxxxxxxxx - fcvtzs. */ - return 1409; + 011001x10x010110101xxxxxxxxxxxxx + scvtf. */ + return 1812; } else { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 011001x101011100101xxxxxxxxxxxxx - fcvtzs. */ - return 1407; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 011001x111011100101xxxxxxxxxxxxx - fcvtzs. */ - return 1411; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x11x010110101xxxxxxxxxxxxx + scvtf. */ + return 1814; } } } @@ -10800,96 +14287,151 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - if (((word >> 18) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) + if (((word >> 17) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) + if (((word >> 18) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 011001x1xx000010101xxxxxxxxxxxxx - frintm. */ - return 1463; + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1x0001000101xxxxxxxxxxxxx + fcvt. */ + return 1401; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1x1001000101xxxxxxxxxxxxx + fcvt. */ + return 1403; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 011001x1xx010010101xxxxxxxxxxxxx - scvtf. */ - return 1807; + 011001x1xx001100101xxxxxxxxxxxxx + frecpx. */ + return 1461; } } else { - if (((word >> 20) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 011001x1xx001010101xxxxxxxxxxxxx - fcvt. */ - return 1404; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x100001x10101xxxxxxxxxxxxx + fcvtx. */ + return 2071; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x110001x10101xxxxxxxxxxxxx + bfcvt. */ + return 2422; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 011001x1xx011010101xxxxxxxxxxxxx - fcvtzs. */ - return 1406; + 011001x1x1001x10101xxxxxxxxxxxxx + fcvt. */ + return 1405; } } } else { - if (((word >> 19) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 011001x1xx000110101xxxxxxxxxxxxx - frintx. */ - return 1466; + 011001x100011xx0101xxxxxxxxxxxxx + flogb. */ + return 2073; } else { - if (((word >> 23) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x110011xx0101xxxxxxxxxxxxx + fcvtzs. */ + return 1410; + } + } + else + { + if (((word >> 17) & 0x1) == 0) + { + if (((word >> 18) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 011001x10x010110101xxxxxxxxxxxxx - scvtf. */ - return 1811; + 011001x1x1011000101xxxxxxxxxxxxx + fcvtzs. */ + return 1411; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 011001x11x010110101xxxxxxxxxxxxx - scvtf. */ - return 1813; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x101011100101xxxxxxxxxxxxx + fcvtzs. */ + return 1408; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x111011100101xxxxxxxxxxxxx + fcvtzs. */ + return 1412; + } } } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 011001x10x0x1110101xxxxxxxxxxxxx - fcvtzs. */ - return 1408; - } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 011001x11x0x1110101xxxxxxxxxxxxx - fcvtzs. */ - return 1412; + if (((word >> 18) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1x1011010101xxxxxxxxxxxxx + fcvtzs. */ + return 1407; + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x101011110101xxxxxxxxxxxxx + fcvtzs. */ + return 1409; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x111011110101xxxxxxxxxxxxx + fcvtzs. */ + return 1413; + } + } } } } @@ -10909,7 +14451,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000001101xxxxxxxxxxxxx frintp. */ - return 1465; + return 1466; } else { @@ -10917,7 +14459,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx010001101xxxxxxxxxxxxx ucvtf. */ - return 1962; + return 1963; } } else @@ -10930,7 +14472,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1x0001001101xxxxxxxxxxxxx fcvt. */ - return 1401; + return 1402; } else { @@ -10938,7 +14480,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1x1001001101xxxxxxxxxxxxx fcvt. */ - return 1403; + return 1404; } } else @@ -10947,7 +14489,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx011001101xxxxxxxxxxxxx fcvtzu. */ - return 1417; + return 1418; } } } @@ -10961,7 +14503,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1x00x0101101xxxxxxxxxxxxx ucvtf. */ - return 1961; + return 1962; } else { @@ -10971,7 +14513,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1010x0101101xxxxxxxxxxxxx ucvtf. */ - return 1960; + return 1961; } else { @@ -10979,7 +14521,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1110x0101101xxxxxxxxxxxxx ucvtf. */ - return 1964; + return 1965; } } } @@ -10991,7 +14533,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001101101xxxxxxxxxxxxx fsqrt. */ - return 1471; + return 1472; } else { @@ -11001,7 +14543,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1x0011101101xxxxxxxxxxxxx fcvtzu. */ - return 1416; + return 1417; } else { @@ -11011,7 +14553,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x101011101101xxxxxxxxxxxxx fcvtzu. */ - return 1414; + return 1415; } else { @@ -11019,7 +14561,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x111011101101xxxxxxxxxxxxx fcvtzu. */ - return 1418; + return 1419; } } } @@ -11038,7 +14580,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000011101xxxxxxxxxxxxx frintz. */ - return 1467; + return 1468; } else { @@ -11046,7 +14588,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx010011101xxxxxxxxxxxxx ucvtf. */ - return 1959; + return 1960; } } else @@ -11057,7 +14599,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001011101xxxxxxxxxxxxx fcvt. */ - return 1405; + return 1406; } else { @@ -11065,7 +14607,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx011011101xxxxxxxxxxxxx fcvtzu. */ - return 1413; + return 1414; } } } @@ -11079,7 +14621,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000111101xxxxxxxxxxxxx frinti. */ - return 1462; + return 1463; } else { @@ -11089,7 +14631,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x10x010111101xxxxxxxxxxxxx ucvtf. */ - return 1963; + return 1964; } else { @@ -11097,7 +14639,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x11x010111101xxxxxxxxxxxxx ucvtf. */ - return 1965; + return 1966; } } } @@ -11109,7 +14651,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x10x0x1111101xxxxxxxxxxxxx fcvtzu. */ - return 1415; + return 1416; } else { @@ -11117,7 +14659,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x11x0x1111101xxxxxxxxxxxxx fcvtzu. */ - return 1419; + return 1420; } } } @@ -11134,7 +14676,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1000xxxxx101xxxxxxxxxxxxx st1w. */ - return 1897; + return 1898; } else { @@ -11142,7 +14684,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1100xxxxx101xxxxxxxxxxxxx st1d. */ - return 1876; + return 1877; } } else @@ -11153,7 +14695,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1010xxxxx101xxxxxxxxxxxxx st1w. */ - return 1904; + return 1905; } else { @@ -11161,7 +14703,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1110xxxxx101xxxxxxxxxxxxx st1d. */ - return 1880; + return 1881; } } } @@ -11174,7 +14716,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx111xxxxxxxxxxxxx facgt. */ - return 1378; + return 1379; } else { @@ -11184,7 +14726,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1xx00xxxx111xxxxxxxxxxxxx st1w. */ - return 1905; + return 1906; } else { @@ -11196,7 +14738,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x10001xxxx111xxxxxxxxxxxxx stnt1w. */ - return 1939; + return 1940; } else { @@ -11204,7 +14746,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x11001xxxx111xxxxxxxxxxxxx stnt1d. */ - return 1935; + return 1936; } } else @@ -11215,7 +14757,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x10101xxxx111xxxxxxxxxxxxx st3w. */ - return 1923; + return 1924; } else { @@ -11223,7 +14765,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x11101xxxx111xxxxxxxxxxxxx st3d. */ - return 1919; + return 1920; } } } @@ -11254,7 +14796,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10000010xxxxxxxxxxxxxx cntp. */ - return 1347; + return 1348; } else { @@ -11268,7 +14810,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10100010x000xxxxxxxxxx sqincp. */ - return 1854; + return 1855; } else { @@ -11276,7 +14818,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10100010x100xxxxxxxxxx wrffr. */ - return 2027; + return 2028; } } else @@ -11285,7 +14827,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10100010xx10xxxxxxxxxx sqincp. */ - return 1856; + return 1857; } } else @@ -11294,7 +14836,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10100010xxx1xxxxxxxxxx sqincp. */ - return 1855; + return 1856; } } } @@ -11308,7 +14850,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10x10010x00xxxxxxxxxxx incp. */ - return 1485; + return 1486; } else { @@ -11316,7 +14858,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10x10010x10xxxxxxxxxxx setffr. */ - return 1821; + return 1822; } } else @@ -11325,7 +14867,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10x10010xx1xxxxxxxxxxx incp. */ - return 1486; + return 1487; } } } @@ -11339,7 +14881,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10xx1010xx00xxxxxxxxxx sqdecp. */ - return 1840; + return 1841; } else { @@ -11347,7 +14889,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10xx1010xx10xxxxxxxxxx sqdecp. */ - return 1842; + return 1843; } } else @@ -11356,7 +14898,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10xx1010xxx1xxxxxxxxxx sqdecp. */ - return 1841; + return 1842; } } } @@ -11374,7 +14916,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10x00110xx00xxxxxxxxxx uqincp. */ - return 2002; + return 2003; } else { @@ -11382,7 +14924,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10x10110xx00xxxxxxxxxx decp. */ - return 1360; + return 1361; } } else @@ -11391,7 +14933,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10xx1110xx00xxxxxxxxxx uqdecp. */ - return 1988; + return 1989; } } else @@ -11404,7 +14946,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10x00110xx10xxxxxxxxxx uqincp. */ - return 2003; + return 2004; } else { @@ -11412,7 +14954,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10x10110xx10xxxxxxxxxx decp. */ - return 1361; + return 1362; } } else @@ -11421,7 +14963,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10xx1110xx10xxxxxxxxxx uqdecp. */ - return 1989; + return 1990; } } } @@ -11433,7 +14975,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10xx0110xxx1xxxxxxxxxx uqincp. */ - return 2004; + return 2005; } else { @@ -11441,7 +14983,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10xx1110xxx1xxxxxxxxxx uqdecp. */ - return 1990; + return 1991; } } } @@ -11456,7 +14998,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x10010xxxx10xxxxxxxxxxxxxx ld1sh. */ - return 1578; + return 1579; } else { @@ -11464,7 +15006,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x11010xxxx10xxxxxxxxxxxxxx ld1sb. */ - return 1565; + return 1566; } } else @@ -11475,7 +15017,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x10110xxxx10xxxxxxxxxxxxxx ld1w. */ - return 1597; + return 1598; } else { @@ -11483,7 +15025,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x11110xxxx10xxxxxxxxxxxxxx ld1d. */ - return 1517; + return 1518; } } } @@ -11498,7 +15040,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x10011xxxx10xxxxxxxxxxxxxx ldnf1sh. */ - return 1711; + return 1712; } else { @@ -11506,7 +15048,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x11011xxxx10xxxxxxxxxxxxxx ldnf1sb. */ - return 1708; + return 1709; } } else @@ -11517,7 +15059,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x10111xxxx10xxxxxxxxxxxxxx ldnf1w. */ - return 1714; + return 1715; } else { @@ -11525,7 +15067,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x11111xxxx10xxxxxxxxxxxxxx ldnf1d. */ - return 1703; + return 1704; } } } @@ -11548,7 +15090,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10000011xxxxxxxxxxxxxx add. */ - return 1274; + return 1275; } else { @@ -11556,7 +15098,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx11000011xxxxxxxxxxxxxx mul. */ - return 1743; + return 1744; } } else @@ -11567,7 +15109,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10100011xxxxxxxxxxxxxx smax. */ - return 1822; + return 1823; } else { @@ -11575,7 +15117,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx11100011xxxxxxxxxxxxxx dup. */ - return 1366; + return 1367; } } } @@ -11585,7 +15127,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xx10011xxxxxxxxxxxxxx sqadd. */ - return 1831; + return 1832; } } else @@ -11596,7 +15138,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xx01011xxxxxxxxxxxxxx smin. */ - return 1825; + return 1826; } else { @@ -11604,7 +15146,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xx11011xxxxxxxxxxxxxx sqsub. */ - return 1861; + return 1862; } } } @@ -11620,7 +15162,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1x000111xxxxxxxxxxxxxx sub. */ - return 1943; + return 1944; } else { @@ -11630,7 +15172,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10100111xxxxxxxxxxxxxx umax. */ - return 1971; + return 1972; } else { @@ -11638,7 +15180,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx11100111xxxxxxxxxxxxxx fdup. */ - return 1422; + return 1423; } } } @@ -11648,7 +15190,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xx10111xxxxxxxxxxxxxx uqadd. */ - return 1979; + return 1980; } } else @@ -11661,7 +15203,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1x001111xxxxxxxxxxxxxx subr. */ - return 1945; + return 1946; } else { @@ -11669,7 +15211,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1x101111xxxxxxxxxxxxxx umin. */ - return 1974; + return 1975; } } else @@ -11678,7 +15220,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xx11111xxxxxxxxxxxxxx uqsub. */ - return 2009; + return 2010; } } } @@ -11695,7 +15237,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1001xxxxx110xxxxxxxxxxxxx ld2w. */ - return 1605; + return 1606; } else { @@ -11703,7 +15245,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1101xxxxx110xxxxxxxxxxxxx ld2d. */ - return 1601; + return 1602; } } else @@ -11714,7 +15256,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1011xxxxx110xxxxxxxxxxxxx ld4w. */ - return 1621; + return 1622; } else { @@ -11722,7 +15264,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1111xxxxx110xxxxxxxxxxxxx ld4d. */ - return 1617; + return 1618; } } } @@ -11736,7 +15278,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1001xxxxx111xxxxxxxxxxxxx ld2w. */ - return 1606; + return 1607; } else { @@ -11744,7 +15286,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1101xxxxx111xxxxxxxxxxxxx ld2d. */ - return 1602; + return 1603; } } else @@ -11755,7 +15297,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1011xxxxx111xxxxxxxxxxxxx ld4w. */ - return 1622; + return 1623; } else { @@ -11763,7 +15305,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1111xxxxx111xxxxxxxxxxxxx ld4d. */ - return 1618; + return 1619; } } } @@ -11782,7 +15324,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx1xxxxx100xxxxxxxxxxxxx fmad. */ - return 1424; + return 1425; } else { @@ -11790,7 +15332,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx1xxxxx110xxxxxxxxxxxxx fnmad. */ - return 1454; + return 1455; } } else @@ -11803,7 +15345,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1001xxxxx1x0xxxxxxxxxxxxx st1w. */ - return 1898; + return 1899; } else { @@ -11811,7 +15353,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1101xxxxx1x0xxxxxxxxxxxxx st1d. */ - return 1877; + return 1878; } } else @@ -11820,7 +15362,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1x11xxxxx1x0xxxxxxxxxxxxx st1w. */ - return 1903; + return 1904; } } } @@ -11834,7 +15376,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx1xxxxx101xxxxxxxxxxxxx fmsb. */ - return 1445; + return 1446; } else { @@ -11846,7 +15388,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1001xxxxx101xxxxxxxxxxxxx st1w. */ - return 1899; + return 1900; } else { @@ -11854,7 +15396,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1101xxxxx101xxxxxxxxxxxxx st1d. */ - return 1878; + return 1879; } } else @@ -11863,7 +15405,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1x11xxxxx101xxxxxxxxxxxxx st1w. */ - return 1906; + return 1907; } } } @@ -11875,7 +15417,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx1xxxxx111xxxxxxxxxxxxx fnmsb. */ - return 1457; + return 1458; } else { @@ -11887,7 +15429,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x10x10xxxx111xxxxxxxxxxxxx st1w. */ - return 1907; + return 1908; } else { @@ -11895,7 +15437,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x11x10xxxx111xxxxxxxxxxxxx st1d. */ - return 1881; + return 1882; } } else @@ -11908,7 +15450,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x10011xxxx111xxxxxxxxxxxxx st2w. */ - return 1915; + return 1916; } else { @@ -11916,7 +15458,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x11011xxxx111xxxxxxxxxxxxx st2d. */ - return 1911; + return 1912; } } else @@ -11927,7 +15469,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x10111xxxx111xxxxxxxxxxxxx st4w. */ - return 1931; + return 1932; } else { @@ -11935,7 +15477,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x11111xxxx111xxxxxxxxxxxxx st4d. */ - return 1927; + return 1928; } } } @@ -12306,7 +15848,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx110110xxxxxxxxxxxxxxxxxxxxxxxx tbz. */ - return 1235; + return 1236; } } else @@ -12325,7 +15867,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx110111xxxxxxxxxxxxxxxxxxxxxxxx tbnz. */ - return 1236; + return 1237; } } } @@ -12850,11 +16392,22 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 0x001110xx0xxxxxxx1001xxxxxxxxxx - fcmeq. */ - return 300; + if (((word >> 15) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx0xxxxx0x1001xxxxxxxxxx + fcmeq. */ + return 300; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx0xxxxx1x1001xxxxxxxxxx + smmla. */ + return 2413; + } } } else @@ -12886,7 +16439,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110xx0xxxxx1x0101xxxxxxxxxx sdot. */ - return 2046; + return 2338; } } else @@ -12946,32 +16499,54 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 0x001110xx0xxxxxxx1011xxxxxxxxxx - smov. */ - return 151; + if (((word >> 15) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx0xxxxx0x1011xxxxxxxxxx + smov. */ + return 151; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx0xxxxx1x1011xxxxxxxxxx + usmmla. */ + return 2415; + } } } else { if (((word >> 13) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 15) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 0x001110x00xxxxxxx0111xxxxxxxxxx - ins. */ - return 154; + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110x00xxxxx0x0111xxxxxxxxxx + ins. */ + return 154; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110x10xxxxx0x0111xxxxxxxxxx + fmulx. */ + return 298; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 0x001110x10xxxxxxx0111xxxxxxxxxx - fmulx. */ - return 298; + 0x001110xx0xxxxx1x0111xxxxxxxxxx + usdot. */ + return 2416; } } else @@ -13018,7 +16593,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110000xxxxxxxxxxxxxxxxxxxxx eor3. */ - return 2053; + return 2345; } else { @@ -13026,7 +16601,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110100xxxxxxxxxxxxxxxxxxxxx xar. */ - return 2055; + return 2347; } } else @@ -13037,7 +16612,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110x10xxxxx0xxxxxxxxxxxxxxx sm3ss1. */ - return 2057; + return 2349; } else { @@ -13051,7 +16626,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110010xxxxx1xxx00xxxxxxxxxx sm3tt1a. */ - return 2058; + return 2350; } else { @@ -13059,7 +16634,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110110xxxxx1xxx00xxxxxxxxxx sha512su0. */ - return 2051; + return 2343; } } else @@ -13068,7 +16643,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110x10xxxxx1xxx10xxxxxxxxxx sm3tt2a. */ - return 2060; + return 2352; } } else @@ -13081,7 +16656,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110010xxxxx1xxx01xxxxxxxxxx sm3tt1b. */ - return 2059; + return 2351; } else { @@ -13089,7 +16664,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110110xxxxx1xxx01xxxxxxxxxx sm4e. */ - return 2064; + return 2356; } } else @@ -13098,7 +16673,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110x10xxxxx1xxx11xxxxxxxxxx sm3tt2b. */ - return 2061; + return 2353; } } } @@ -13279,7 +16854,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx101110xx0xxxxx100101xxxxxxxxxx udot. */ - return 2045; + return 2337; } } else @@ -13302,11 +16877,66 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xx101110xx0xxxxx1x1xx1xxxxxxxxxx - fcadd. */ - return 373; + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 14) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx0xxxxx101x01xxxxxxxxxx + ummla. */ + return 2414; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx0xxxxx111x01xxxxxxxxxx + fcadd. */ + return 373; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx0xxxxx1x1011xxxxxxxxxx + bfmmla. */ + return 2430; + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1011100x0xxxxx1x1111xxxxxxxxxx + bfdot. */ + return 2428; + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x01011101x0xxxxx1x1111xxxxxxxxxx + bfmlalb. */ + return 2435; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11011101x0xxxxx1x1111xxxxxxxxxx + bfmlalt. */ + return 2434; + } + } + } + } } } } @@ -13859,21 +17489,43 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - if (((word >> 30) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 00001110xx1xxxx1011010xxxxxxxxxx - fcvtn. */ - return 178; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000011100x1xxxx1011010xxxxxxxxxx + fcvtn. */ + return 178; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010011100x1xxxx1011010xxxxxxxxxx + fcvtn2. */ + return 179; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 01001110xx1xxxx1011010xxxxxxxxxx - fcvtn2. */ - return 179; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000011101x1xxxx1011010xxxxxxxxxx + bfcvtn. */ + return 2431; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010011101x1xxxx1011010xxxxxxxxxx + bfcvtn2. */ + return 2432; + } } } } @@ -14190,7 +17842,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110xx1xxxxx0xxxxxxxxxxxxxxx bcax. */ - return 2056; + return 2348; } } else @@ -14801,7 +18453,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 11001110xx1xxxxx100000xxxxxxxxxx sha512h. */ - return 2049; + return 2341; } } } @@ -14853,7 +18505,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 11001110xx1xxxxx110000xxxxxxxxxx sm3partw1. */ - return 2062; + return 2354; } } } @@ -15096,7 +18748,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110xx1xxxxx100010xxxxxxxxxx sha512su1. */ - return 2052; + return 2344; } } else @@ -15172,7 +18824,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x0011100x1xxxxx110010xxxxxxxxxx sm4ekey. */ - return 2065; + return 2357; } } else @@ -15998,7 +19650,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110xx1xxxxx100001xxxxxxxxxx sha512h2. */ - return 2050; + return 2342; } } else @@ -16030,7 +19682,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x0011100x1xxxxx110001xxxxxxxxxx sm3partw2. */ - return 2063; + return 2355; } } else @@ -16270,7 +19922,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110xx1xxxxx100011xxxxxxxxxx rax1. */ - return 2054; + return 2346; } } else @@ -16302,7 +19954,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01011100x1xxxxx110011xxxxxxxxxx fmlal2. */ - return 2068; + return 2360; } else { @@ -16310,7 +19962,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11011100x1xxxxx110011xxxxxxxxxx fmlal2. */ - return 2072; + return 2364; } } } @@ -16332,7 +19984,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01011101x1xxxxx110011xxxxxxxxxx fmlsl2. */ - return 2069; + return 2361; } else { @@ -16340,7 +19992,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11011101x1xxxxx110011xxxxxxxxxx fmlsl2. */ - return 2073; + return 2365; } } } @@ -16379,7 +20031,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x00011100x1xxxxx111011xxxxxxxxxx fmlal. */ - return 2066; + return 2358; } else { @@ -16387,7 +20039,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10011100x1xxxxx111011xxxxxxxxxx fmlal. */ - return 2070; + return 2362; } } else @@ -16409,7 +20061,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x00011101x1xxxxx111011xxxxxxxxxx fmlsl. */ - return 2067; + return 2359; } else { @@ -16417,7 +20069,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10011101x1xxxxx111011xxxxxxxxxx fmlsl. */ - return 2071; + return 2363; } } else @@ -18225,7 +21877,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0001111xxxxxxxx0000x0xxxxxxxxxx fmlal. */ - return 2074; + return 2366; } else { @@ -18233,7 +21885,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1001111xxxxxxxx0000x0xxxxxxxxxx fmlal. */ - return 2078; + return 2370; } } else @@ -18255,7 +21907,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0001111xxxxxxxx0100x0xxxxxxxxxx fmlsl. */ - return 2075; + return 2367; } else { @@ -18263,7 +21915,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1001111xxxxxxxx0100x0xxxxxxxxxx fmlsl. */ - return 2079; + return 2371; } } else @@ -18769,7 +22421,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0101111xxxxxxxx1000x0xxxxxxxxxx fmlal2. */ - return 2076; + return 2368; } else { @@ -18777,7 +22429,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1101111xxxxxxxx1000x0xxxxxxxxxx fmlal2. */ - return 2080; + return 2372; } } } @@ -18799,7 +22451,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0101111xxxxxxxx1100x0xxxxxxxxxx fmlsl2. */ - return 2077; + return 2369; } else { @@ -18807,7 +22459,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1101111xxxxxxxx1100x0xxxxxxxxxx fmlsl2. */ - return 2081; + return 2373; } } } @@ -18863,7 +22515,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx001111xxxxxxxx1110x0xxxxxxxxxx sdot. */ - return 2048; + return 2340; } else { @@ -18871,7 +22523,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx101111xxxxxxxx1110x0xxxxxxxxxx udot. */ - return 2047; + return 2339; } } } @@ -18964,11 +22616,66 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxx01111xxxxxxxx1111x0xxxxxxxxxx - sqrdmlsh. */ - return 130; + if (((word >> 29) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx00111100xxxxxx1111x0xxxxxxxxxx + sudot. */ + return 2418; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx00111110xxxxxx1111x0xxxxxxxxxx + usdot. */ + return 2417; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx00111101xxxxxx1111x0xxxxxxxxxx + bfdot. */ + return 2429; + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x000111111xxxxxx1111x0xxxxxxxxxx + bfmlalb. */ + return 2437; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x100111111xxxxxx1111x0xxxxxxxxxx + bfmlalt. */ + return 2436; + } + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101111xxxxxxxx1111x0xxxxxxxxxx + sqrdmlsh. */ + return 130; + } } } } @@ -19453,38 +23160,38 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode) case 969: return NULL; /* stllrh --> NULL. */ case 971: value = 975; break; /* ldnp --> ldp. */ case 975: return NULL; /* ldp --> NULL. */ - case 1624: value = 1625; break; /* ldff1b --> ldff1b. */ - case 1625: return NULL; /* ldff1b --> NULL. */ - case 1680: value = 1681; break; /* ldff1sw --> ldff1sw. */ - case 1681: return NULL; /* ldff1sw --> NULL. */ - case 1628: value = 1629; break; /* ldff1b --> ldff1b. */ - case 1629: return NULL; /* ldff1b --> NULL. */ - case 1647: value = 1648; break; /* ldff1h --> ldff1h. */ - case 1648: return NULL; /* ldff1h --> NULL. */ - case 1626: value = 1627; break; /* ldff1b --> ldff1b. */ - case 1627: return NULL; /* ldff1b --> NULL. */ - case 1645: value = 1646; break; /* ldff1h --> ldff1h. */ - case 1646: return NULL; /* ldff1h --> NULL. */ - case 1630: value = 1631; break; /* ldff1b --> ldff1b. */ - case 1631: return NULL; /* ldff1b --> NULL. */ - case 1649: value = 1650; break; /* ldff1h --> ldff1h. */ - case 1650: return NULL; /* ldff1h --> NULL. */ - case 1670: value = 1671; break; /* ldff1sh --> ldff1sh. */ - case 1671: return NULL; /* ldff1sh --> NULL. */ - case 1658: value = 1659; break; /* ldff1sb --> ldff1sb. */ - case 1659: return NULL; /* ldff1sb --> NULL. */ - case 1689: value = 1690; break; /* ldff1w --> ldff1w. */ - case 1690: return NULL; /* ldff1w --> NULL. */ - case 1662: value = 1663; break; /* ldff1sb --> ldff1sb. */ - case 1663: return NULL; /* ldff1sb --> NULL. */ - case 1672: value = 1673; break; /* ldff1sh --> ldff1sh. */ - case 1673: return NULL; /* ldff1sh --> NULL. */ - case 1660: value = 1661; break; /* ldff1sb --> ldff1sb. */ - case 1661: return NULL; /* ldff1sb --> NULL. */ - case 1691: value = 1692; break; /* ldff1w --> ldff1w. */ - case 1692: return NULL; /* ldff1w --> NULL. */ - case 1636: value = 1637; break; /* ldff1d --> ldff1d. */ - case 1637: return NULL; /* ldff1d --> NULL. */ + case 1625: value = 1626; break; /* ldff1b --> ldff1b. */ + case 1626: return NULL; /* ldff1b --> NULL. */ + case 1681: value = 1682; break; /* ldff1sw --> ldff1sw. */ + case 1682: return NULL; /* ldff1sw --> NULL. */ + case 1629: value = 1630; break; /* ldff1b --> ldff1b. */ + case 1630: return NULL; /* ldff1b --> NULL. */ + case 1648: value = 1649; break; /* ldff1h --> ldff1h. */ + case 1649: return NULL; /* ldff1h --> NULL. */ + case 1627: value = 1628; break; /* ldff1b --> ldff1b. */ + case 1628: return NULL; /* ldff1b --> NULL. */ + case 1646: value = 1647; break; /* ldff1h --> ldff1h. */ + case 1647: return NULL; /* ldff1h --> NULL. */ + case 1631: value = 1632; break; /* ldff1b --> ldff1b. */ + case 1632: return NULL; /* ldff1b --> NULL. */ + case 1650: value = 1651; break; /* ldff1h --> ldff1h. */ + case 1651: return NULL; /* ldff1h --> NULL. */ + case 1671: value = 1672; break; /* ldff1sh --> ldff1sh. */ + case 1672: return NULL; /* ldff1sh --> NULL. */ + case 1659: value = 1660; break; /* ldff1sb --> ldff1sb. */ + case 1660: return NULL; /* ldff1sb --> NULL. */ + case 1690: value = 1691; break; /* ldff1w --> ldff1w. */ + case 1691: return NULL; /* ldff1w --> NULL. */ + case 1663: value = 1664; break; /* ldff1sb --> ldff1sb. */ + case 1664: return NULL; /* ldff1sb --> NULL. */ + case 1673: value = 1674; break; /* ldff1sh --> ldff1sh. */ + case 1674: return NULL; /* ldff1sh --> NULL. */ + case 1661: value = 1662; break; /* ldff1sb --> ldff1sb. */ + case 1662: return NULL; /* ldff1sb --> NULL. */ + case 1692: value = 1693; break; /* ldff1w --> ldff1w. */ + case 1693: return NULL; /* ldff1w --> NULL. */ + case 1637: value = 1638; break; /* ldff1d --> ldff1d. */ + case 1638: return NULL; /* ldff1d --> NULL. */ case 810: value = 811; break; /* xaflag --> axflag. */ case 811: value = 1189; break; /* axflag --> tcommit. */ case 1189: value = 1192; break; /* tcommit --> msr. */ @@ -19495,13 +23202,14 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode) case 1213: value = 1214; break; /* dmb --> isb. */ case 1214: value = 1215; break; /* isb --> sb. */ case 1215: value = 1216; break; /* sb --> sys. */ - case 1216: value = 1224; break; /* sys --> msr. */ - case 1224: value = 2082; break; /* msr --> cfinv. */ - case 2082: return NULL; /* cfinv --> NULL. */ + case 1216: value = 1224; break; /* sys --> cfinv. */ + case 1224: value = 1225; break; /* cfinv --> msr. */ + case 1225: value = 2390; break; /* msr --> dgh. */ + case 2390: return NULL; /* dgh --> NULL. */ case 1188: value = 1190; break; /* tstart --> ttest. */ - case 1190: value = 1225; break; /* ttest --> sysl. */ - case 1225: value = 1226; break; /* sysl --> mrs. */ - case 1226: return NULL; /* mrs --> NULL. */ + case 1190: value = 1226; break; /* ttest --> sysl. */ + case 1226: value = 1227; break; /* sysl --> mrs. */ + case 1227: return NULL; /* mrs --> NULL. */ case 440: value = 441; break; /* st4 --> st1. */ case 441: value = 442; break; /* st1 --> st2. */ case 442: value = 443; break; /* st2 --> st3. */ @@ -19586,6 +23294,8 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode) case 823: return NULL; /* fsqrt --> NULL. */ case 831: value = 832; break; /* frintz --> frintz. */ case 832: return NULL; /* frintz --> NULL. */ + case 824: value = 2433; break; /* fcvt --> bfcvt. */ + case 2433: return NULL; /* bfcvt --> NULL. */ case 833: value = 834; break; /* frinta --> frinta. */ case 834: return NULL; /* frinta --> NULL. */ case 835: value = 836; break; /* frintx --> frintx. */ @@ -19797,38 +23507,38 @@ aarch64_find_alias_opcode (const aarch64_opcode *opcode) case 1131: value = 1180; break; /* lduminl --> stuminl. */ case 1181: value = 1182; break; /* movn --> mov. */ case 1183: value = 1184; break; /* movz --> mov. */ - case 1193: value = 1234; break; /* hint --> autibsp. */ + case 1193: value = 1235; break; /* hint --> autibsp. */ case 1210: value = 1212; break; /* dsb --> pssbb. */ case 1216: value = 1223; break; /* sys --> cpp. */ - case 1282: value = 2032; break; /* and --> bic. */ - case 1284: value = 1265; break; /* and --> mov. */ - case 1285: value = 1269; break; /* ands --> movs. */ - case 1320: value = 2033; break; /* cmpge --> cmple. */ - case 1323: value = 2036; break; /* cmpgt --> cmplt. */ - case 1325: value = 2034; break; /* cmphi --> cmplo. */ - case 1328: value = 2035; break; /* cmphs --> cmpls. */ - case 1350: value = 1262; break; /* cpy --> mov. */ - case 1351: value = 1264; break; /* cpy --> mov. */ - case 1352: value = 2043; break; /* cpy --> fmov. */ - case 1364: value = 1257; break; /* dup --> mov. */ - case 1365: value = 1259; break; /* dup --> mov. */ - case 1366: value = 2042; break; /* dup --> fmov. */ - case 1367: value = 1260; break; /* dupm --> mov. */ - case 1369: value = 2037; break; /* eor --> eon. */ - case 1371: value = 1270; break; /* eor --> not. */ - case 1372: value = 1271; break; /* eors --> nots. */ - case 1377: value = 2038; break; /* facge --> facle. */ - case 1378: value = 2039; break; /* facgt --> faclt. */ - case 1391: value = 2040; break; /* fcmge --> fcmle. */ - case 1393: value = 2041; break; /* fcmgt --> fcmlt. */ - case 1399: value = 1254; break; /* fcpy --> fmov. */ - case 1422: value = 1253; break; /* fdup --> fmov. */ - case 1753: value = 1255; break; /* orr --> mov. */ - case 1754: value = 2044; break; /* orr --> orn. */ - case 1756: value = 1258; break; /* orr --> mov. */ - case 1757: value = 1268; break; /* orrs --> movs. */ - case 1819: value = 1263; break; /* sel --> mov. */ - case 1820: value = 1266; break; /* sel --> mov. */ + case 1283: value = 2033; break; /* and --> bic. */ + case 1285: value = 1266; break; /* and --> mov. */ + case 1286: value = 1270; break; /* ands --> movs. */ + case 1321: value = 2034; break; /* cmpge --> cmple. */ + case 1324: value = 2037; break; /* cmpgt --> cmplt. */ + case 1326: value = 2035; break; /* cmphi --> cmplo. */ + case 1329: value = 2036; break; /* cmphs --> cmpls. */ + case 1351: value = 1263; break; /* cpy --> mov. */ + case 1352: value = 1265; break; /* cpy --> mov. */ + case 1353: value = 2044; break; /* cpy --> fmov. */ + case 1365: value = 1258; break; /* dup --> mov. */ + case 1366: value = 1260; break; /* dup --> mov. */ + case 1367: value = 2043; break; /* dup --> fmov. */ + case 1368: value = 1261; break; /* dupm --> mov. */ + case 1370: value = 2038; break; /* eor --> eon. */ + case 1372: value = 1271; break; /* eor --> not. */ + case 1373: value = 1272; break; /* eors --> nots. */ + case 1378: value = 2039; break; /* facge --> facle. */ + case 1379: value = 2040; break; /* facgt --> faclt. */ + case 1392: value = 2041; break; /* fcmge --> fcmle. */ + case 1394: value = 2042; break; /* fcmgt --> fcmlt. */ + case 1400: value = 1255; break; /* fcpy --> fmov. */ + case 1423: value = 1254; break; /* fdup --> fmov. */ + case 1754: value = 1256; break; /* orr --> mov. */ + case 1755: value = 2045; break; /* orr --> orn. */ + case 1757: value = 1259; break; /* orr --> mov. */ + case 1758: value = 1269; break; /* orrs --> movs. */ + case 1820: value = 1264; break; /* sel --> mov. */ + case 1821: value = 1267; break; /* sel --> mov. */ default: return NULL; } @@ -19954,14 +23664,14 @@ aarch64_find_next_alias_opcode (const aarch64_opcode *opcode) case 1180: value = 1131; break; /* stuminl --> lduminl. */ case 1182: value = 1181; break; /* mov --> movn. */ case 1184: value = 1183; break; /* mov --> movz. */ - case 1234: value = 1233; break; /* autibsp --> autibz. */ - case 1233: value = 1232; break; /* autibz --> autiasp. */ - case 1232: value = 1231; break; /* autiasp --> autiaz. */ - case 1231: value = 1230; break; /* autiaz --> pacibsp. */ - case 1230: value = 1229; break; /* pacibsp --> pacibz. */ - case 1229: value = 1228; break; /* pacibz --> paciasp. */ - case 1228: value = 1227; break; /* paciasp --> paciaz. */ - case 1227: value = 1208; break; /* paciaz --> psb. */ + case 1235: value = 1234; break; /* autibsp --> autibz. */ + case 1234: value = 1233; break; /* autibz --> autiasp. */ + case 1233: value = 1232; break; /* autiasp --> autiaz. */ + case 1232: value = 1231; break; /* autiaz --> pacibsp. */ + case 1231: value = 1230; break; /* pacibsp --> pacibz. */ + case 1230: value = 1229; break; /* pacibz --> paciasp. */ + case 1229: value = 1228; break; /* paciasp --> paciaz. */ + case 1228: value = 1208; break; /* paciaz --> psb. */ case 1208: value = 1207; break; /* psb --> esb. */ case 1207: value = 1206; break; /* esb --> autib1716. */ case 1206: value = 1205; break; /* autib1716 --> autia1716. */ @@ -19986,38 +23696,38 @@ aarch64_find_next_alias_opcode (const aarch64_opcode *opcode) case 1219: value = 1218; break; /* ic --> dc. */ case 1218: value = 1217; break; /* dc --> at. */ case 1217: value = 1216; break; /* at --> sys. */ - case 2032: value = 1282; break; /* bic --> and. */ - case 1265: value = 1284; break; /* mov --> and. */ - case 1269: value = 1285; break; /* movs --> ands. */ - case 2033: value = 1320; break; /* cmple --> cmpge. */ - case 2036: value = 1323; break; /* cmplt --> cmpgt. */ - case 2034: value = 1325; break; /* cmplo --> cmphi. */ - case 2035: value = 1328; break; /* cmpls --> cmphs. */ - case 1262: value = 1350; break; /* mov --> cpy. */ - case 1264: value = 1351; break; /* mov --> cpy. */ - case 2043: value = 1267; break; /* fmov --> mov. */ - case 1267: value = 1352; break; /* mov --> cpy. */ - case 1257: value = 1364; break; /* mov --> dup. */ - case 1259: value = 1256; break; /* mov --> mov. */ - case 1256: value = 1365; break; /* mov --> dup. */ - case 2042: value = 1261; break; /* fmov --> mov. */ - case 1261: value = 1366; break; /* mov --> dup. */ - case 1260: value = 1367; break; /* mov --> dupm. */ - case 2037: value = 1369; break; /* eon --> eor. */ - case 1270: value = 1371; break; /* not --> eor. */ - case 1271: value = 1372; break; /* nots --> eors. */ - case 2038: value = 1377; break; /* facle --> facge. */ - case 2039: value = 1378; break; /* faclt --> facgt. */ - case 2040: value = 1391; break; /* fcmle --> fcmge. */ - case 2041: value = 1393; break; /* fcmlt --> fcmgt. */ - case 1254: value = 1399; break; /* fmov --> fcpy. */ - case 1253: value = 1422; break; /* fmov --> fdup. */ - case 1255: value = 1753; break; /* mov --> orr. */ - case 2044: value = 1754; break; /* orn --> orr. */ - case 1258: value = 1756; break; /* mov --> orr. */ - case 1268: value = 1757; break; /* movs --> orrs. */ - case 1263: value = 1819; break; /* mov --> sel. */ - case 1266: value = 1820; break; /* mov --> sel. */ + case 2033: value = 1283; break; /* bic --> and. */ + case 1266: value = 1285; break; /* mov --> and. */ + case 1270: value = 1286; break; /* movs --> ands. */ + case 2034: value = 1321; break; /* cmple --> cmpge. */ + case 2037: value = 1324; break; /* cmplt --> cmpgt. */ + case 2035: value = 1326; break; /* cmplo --> cmphi. */ + case 2036: value = 1329; break; /* cmpls --> cmphs. */ + case 1263: value = 1351; break; /* mov --> cpy. */ + case 1265: value = 1352; break; /* mov --> cpy. */ + case 2044: value = 1268; break; /* fmov --> mov. */ + case 1268: value = 1353; break; /* mov --> cpy. */ + case 1258: value = 1365; break; /* mov --> dup. */ + case 1260: value = 1257; break; /* mov --> mov. */ + case 1257: value = 1366; break; /* mov --> dup. */ + case 2043: value = 1262; break; /* fmov --> mov. */ + case 1262: value = 1367; break; /* mov --> dup. */ + case 1261: value = 1368; break; /* mov --> dupm. */ + case 2038: value = 1370; break; /* eon --> eor. */ + case 1271: value = 1372; break; /* not --> eor. */ + case 1272: value = 1373; break; /* nots --> eors. */ + case 2039: value = 1378; break; /* facle --> facge. */ + case 2040: value = 1379; break; /* faclt --> facgt. */ + case 2041: value = 1392; break; /* fcmle --> fcmge. */ + case 2042: value = 1394; break; /* fcmlt --> fcmgt. */ + case 1255: value = 1400; break; /* fmov --> fcpy. */ + case 1254: value = 1423; break; /* fmov --> fdup. */ + case 1256: value = 1754; break; /* mov --> orr. */ + case 2045: value = 1755; break; /* orn --> orr. */ + case 1259: value = 1757; break; /* mov --> orr. */ + case 1269: value = 1758; break; /* movs --> orrs. */ + case 1264: value = 1820; break; /* mov --> sel. */ + case 1267: value = 1821; break; /* mov --> sel. */ default: return NULL; } @@ -20059,7 +23769,6 @@ aarch64_extract_operand (const aarch64_operand *self, case 28: case 29: case 30: - case 162: case 163: case 164: case 165: @@ -20069,7 +23778,7 @@ aarch64_extract_operand (const aarch64_operand *self, case 169: case 170: case 171: - case 186: + case 172: case 187: case 188: case 189: @@ -20078,8 +23787,9 @@ aarch64_extract_operand (const aarch64_operand *self, case 192: case 193: case 194: - case 200: - case 203: + case 195: + case 201: + case 204: return aarch64_ext_regno (self, info, code, inst, errors); case 9: return aarch64_ext_regrt_sysins (self, info, code, inst, errors); @@ -20095,7 +23805,7 @@ aarch64_extract_operand (const aarch64_operand *self, case 32: case 33: case 34: - case 206: + case 207: return aarch64_ext_reglane (self, info, code, inst, errors); case 35: return aarch64_ext_reglist (self, info, code, inst, errors); @@ -20130,9 +23840,8 @@ aarch64_extract_operand (const aarch64_operand *self, case 80: case 81: case 82: - case 159: - case 161: - case 178: + case 160: + case 162: case 179: case 180: case 181: @@ -20140,7 +23849,8 @@ aarch64_extract_operand (const aarch64_operand *self, case 183: case 184: case 185: - case 205: + case 186: + case 206: return aarch64_ext_imm (self, info, code, inst, errors); case 43: case 44: @@ -20152,10 +23862,10 @@ aarch64_extract_operand (const aarch64_operand *self, case 48: return aarch64_ext_shll_imm (self, info, code, inst, errors); case 51: - case 149: + case 150: return aarch64_ext_fpimm (self, info, code, inst, errors); case 68: - case 157: + case 158: return aarch64_ext_limm (self, info, code, inst, errors); case 69: return aarch64_ext_aimm (self, info, code, inst, errors); @@ -20165,11 +23875,11 @@ aarch64_extract_operand (const aarch64_operand *self, return aarch64_ext_fbits (self, info, code, inst, errors); case 73: case 74: - case 154: + case 155: return aarch64_ext_imm_rotate2 (self, info, code, inst, errors); case 75: - case 153: - case 155: + case 154: + case 156: return aarch64_ext_imm_rotate1 (self, info, code, inst, errors); case 76: case 77: @@ -20212,22 +23922,22 @@ aarch64_extract_operand (const aarch64_operand *self, case 106: return aarch64_ext_hint (self, info, code, inst, errors); case 107: - return aarch64_ext_sve_addr_ri_s4 (self, info, code, inst, errors); case 108: + return aarch64_ext_sve_addr_ri_s4 (self, info, code, inst, errors); case 109: case 110: case 111: - return aarch64_ext_sve_addr_ri_s4xvl (self, info, code, inst, errors); case 112: - return aarch64_ext_sve_addr_ri_s6xvl (self, info, code, inst, errors); + return aarch64_ext_sve_addr_ri_s4xvl (self, info, code, inst, errors); case 113: - return aarch64_ext_sve_addr_ri_s9xvl (self, info, code, inst, errors); + return aarch64_ext_sve_addr_ri_s6xvl (self, info, code, inst, errors); case 114: + return aarch64_ext_sve_addr_ri_s9xvl (self, info, code, inst, errors); case 115: case 116: case 117: - return aarch64_ext_sve_addr_ri_u6 (self, info, code, inst, errors); case 118: + return aarch64_ext_sve_addr_ri_u6 (self, info, code, inst, errors); case 119: case 120: case 121: @@ -20241,8 +23951,8 @@ aarch64_extract_operand (const aarch64_operand *self, case 129: case 130: case 131: - return aarch64_ext_sve_addr_rr_lsl (self, info, code, inst, errors); case 132: + return aarch64_ext_sve_addr_rr_lsl (self, info, code, inst, errors); case 133: case 134: case 135: @@ -20250,52 +23960,53 @@ aarch64_extract_operand (const aarch64_operand *self, case 137: case 138: case 139: - return aarch64_ext_sve_addr_rz_xtw (self, info, code, inst, errors); case 140: + return aarch64_ext_sve_addr_rz_xtw (self, info, code, inst, errors); case 141: case 142: case 143: - return aarch64_ext_sve_addr_zi_u5 (self, info, code, inst, errors); case 144: - return aarch64_ext_sve_addr_zz_lsl (self, info, code, inst, errors); + return aarch64_ext_sve_addr_zi_u5 (self, info, code, inst, errors); case 145: - return aarch64_ext_sve_addr_zz_sxtw (self, info, code, inst, errors); + return aarch64_ext_sve_addr_zz_lsl (self, info, code, inst, errors); case 146: - return aarch64_ext_sve_addr_zz_uxtw (self, info, code, inst, errors); + return aarch64_ext_sve_addr_zz_sxtw (self, info, code, inst, errors); case 147: - return aarch64_ext_sve_aimm (self, info, code, inst, errors); + return aarch64_ext_sve_addr_zz_uxtw (self, info, code, inst, errors); case 148: + return aarch64_ext_sve_aimm (self, info, code, inst, errors); + case 149: return aarch64_ext_sve_asimm (self, info, code, inst, errors); - case 150: - return aarch64_ext_sve_float_half_one (self, info, code, inst, errors); case 151: - return aarch64_ext_sve_float_half_two (self, info, code, inst, errors); + return aarch64_ext_sve_float_half_one (self, info, code, inst, errors); case 152: + return aarch64_ext_sve_float_half_two (self, info, code, inst, errors); + case 153: return aarch64_ext_sve_float_zero_one (self, info, code, inst, errors); - case 156: + case 157: return aarch64_ext_inv_limm (self, info, code, inst, errors); - case 158: + case 159: return aarch64_ext_sve_limm_mov (self, info, code, inst, errors); - case 160: + case 161: return aarch64_ext_sve_scale (self, info, code, inst, errors); - case 172: case 173: case 174: - return aarch64_ext_sve_shlimm (self, info, code, inst, errors); case 175: + return aarch64_ext_sve_shlimm (self, info, code, inst, errors); case 176: case 177: + case 178: return aarch64_ext_sve_shrimm (self, info, code, inst, errors); - case 195: case 196: case 197: case 198: case 199: + case 200: return aarch64_ext_sve_quad_index (self, info, code, inst, errors); - case 201: - return aarch64_ext_sve_index (self, info, code, inst, errors); case 202: - case 204: + return aarch64_ext_sve_index (self, info, code, inst, errors); + case 203: + case 205: return aarch64_ext_sve_reglist (self, info, code, inst, errors); default: assert (0); abort (); }