X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=opcodes%2Faarch64-dis-2.c;h=23f32e9478e311a1e1d45583f2e5f49bbc07e814;hb=f5a7c406b1975cde626efed526960f2cf1bdaceb;hp=f86077dd0004c9309200d9b9177696fcea8c4f3c;hpb=42e6288f9f9d7dfe560d2bed1fb5e7f27ac3256f;p=deliverable%2Fbinutils-gdb.git diff --git a/opcodes/aarch64-dis-2.c b/opcodes/aarch64-dis-2.c index f86077dd00..23f32e9478 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 2375; + return 2377; } else { @@ -2376,7 +2376,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 10011001000xxxxxxxxx00xxxxxxxxxx stlur. */ - return 2383; + return 2385; } } else @@ -2387,7 +2387,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01011001000xxxxxxxxx00xxxxxxxxxx stlurh. */ - return 2379; + return 2381; } else { @@ -2395,7 +2395,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 11011001000xxxxxxxxx00xxxxxxxxxx stlur. */ - return 2386; + return 2388; } } } @@ -2475,7 +2475,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00011001010xxxxxxxxx00xxxxxxxxxx ldapurb. */ - return 2376; + return 2378; } else { @@ -2483,7 +2483,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 10011001010xxxxxxxxx00xxxxxxxxxx ldapur. */ - return 2384; + return 2386; } } else @@ -2494,7 +2494,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01011001010xxxxxxxxx00xxxxxxxxxx ldapurh. */ - return 2380; + return 2382; } else { @@ -2502,7 +2502,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 11011001010xxxxxxxxx00xxxxxxxxxx ldapur. */ - return 2387; + return 2389; } } } @@ -2585,7 +2585,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00011001100xxxxxxxxx00xxxxxxxxxx ldapursb. */ - return 2378; + return 2380; } else { @@ -2593,7 +2593,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 10011001100xxxxxxxxx00xxxxxxxxxx ldapursw. */ - return 2385; + return 2387; } } else @@ -2602,7 +2602,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1011001100xxxxxxxxx00xxxxxxxxxx ldapursh. */ - return 2382; + return 2384; } } else @@ -2613,7 +2613,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011001110xxxxxxxxx00xxxxxxxxxx ldapursb. */ - return 2377; + return 2379; } else { @@ -2621,7 +2621,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1011001110xxxxxxxxx00xxxxxxxxxx ldapursh. */ - return 2381; + return 2383; } } } @@ -3107,7 +3107,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010x00xxxxxx0xx10xxxxxxxxxx setf8. */ - return 2373; + return 2375; } else { @@ -3115,7 +3115,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010x00xxxxxx1xx10xxxxxxxxxx setf16. */ - return 2374; + return 2376; } } else @@ -3261,7 +3261,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010000xxxxxxxxx01xxxxxxxxxx rmif. */ - return 2372; + return 2374; } else { @@ -4042,7 +4042,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx000010xxxxxxxxxx sqdmlalbt. */ - return 2164; + return 2166; } } else @@ -4061,7 +4061,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx000011xxxxxxxxxx sqdmlslbt. */ - return 2171; + return 2173; } } } @@ -4196,7 +4196,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x00x1xxxxx000x00xxxxxxxxxx sqrdmlah. */ - return 2189; + return 2191; } else { @@ -4215,7 +4215,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x00x1xxxxx000x01xxxxxxxxxx sqrdmlsh. */ - return 2193; + return 2195; } else { @@ -4271,7 +4271,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx000100xxxxxxxxxx sqrdmlah. */ - return 2190; + return 2192; } else { @@ -4279,27 +4279,38 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx000100xxxxxxxxxx sqrdmlah. */ - return 2191; + return 2193; } } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 010001x0101xxxxx000x10xxxxxxxxxx - mla. */ - return 2099; + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx000010xxxxxxxxxx + mla. */ + return 2099; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx000010xxxxxxxxxx + mla. */ + return 2100; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 010001x0111xxxxx000x10xxxxxxxxxx - mla. */ - return 2100; + 010001x01x1xxxxx000110xxxxxxxxxx + usdot. */ + return 2395; } } } @@ -4334,7 +4345,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx000101xxxxxxxxxx sqrdmlsh. */ - return 2194; + return 2196; } else { @@ -4342,27 +4353,38 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx000101xxxxxxxxxx sqrdmlsh. */ - return 2195; + return 2197; } } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 010001x0101xxxxx000x11xxxxxxxxxx - mls. */ - return 2102; + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx000011xxxxxxxxxx + mls. */ + return 2102; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx000011xxxxxxxxxx + mls. */ + return 2103; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 010001x0111xxxxx000x11xxxxxxxxxx - mls. */ - return 2103; + 010001x01x1xxxxx000111xxxxxxxxxx + sudot. */ + return 2396; } } } @@ -4417,7 +4439,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx010000100xxxxxxxxxxxxx shadd. */ - return 2130; + return 2132; } } } @@ -4429,7 +4451,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x0001x0xx001000100xxxxxxxxxxxxx sqshl. */ - return 2208; + return 2210; } else { @@ -4447,7 +4469,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx011000100xxxxxxxxxxxxx sqadd. */ - return 2159; + return 2161; } } } @@ -4480,7 +4502,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx010100100xxxxxxxxxxxxx srhadd. */ - return 2221; + return 2223; } } } @@ -4494,7 +4516,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx001100100xxxxxxxxxxxxx srshr. */ - return 2225; + return 2227; } else { @@ -4502,7 +4524,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx001100100xxxxxxxxxxxxx sqshlr. */ - return 2209; + return 2211; } } else @@ -4511,7 +4533,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x0001x0xx011100100xxxxxxxxxxxxx suqadd. */ - return 2245; + return 2247; } } } @@ -4528,7 +4550,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x0001x0xx000010100xxxxxxxxxxxxx srshl. */ - return 2223; + return 2225; } else { @@ -4536,7 +4558,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x0001x0xx010010100xxxxxxxxxxxxx shsub. */ - return 2133; + return 2135; } } else @@ -4547,7 +4569,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x0001x0xx001010100xxxxxxxxxxxxx sqrshl. */ - return 2201; + return 2203; } else { @@ -4555,7 +4577,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x0001x0xx011010100xxxxxxxxxxxxx sqsub. */ - return 2215; + return 2217; } } } @@ -4571,7 +4593,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx000110100xxxxxxxxxxxxx sqshl. */ - return 2207; + return 2209; } else { @@ -4579,7 +4601,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx000110100xxxxxxxxxxxxx srshlr. */ - return 2224; + return 2226; } } else @@ -4588,7 +4610,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x0001x0xx010110100xxxxxxxxxxxxx shsubr. */ - return 2134; + return 2136; } } else @@ -4599,7 +4621,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x0001x0xx001110100xxxxxxxxxxxxx sqrshlr. */ - return 2202; + return 2204; } else { @@ -4607,7 +4629,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x0001x0xx011110100xxxxxxxxxxxxx sqsubr. */ - return 2216; + return 2218; } } } @@ -4645,7 +4667,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx010001100xxxxxxxxxxxxx uhadd. */ - return 2258; + return 2260; } } } @@ -4657,7 +4679,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x0001x0xx001001100xxxxxxxxxxxxx uqshl. */ - return 2288; + return 2290; } else { @@ -4675,7 +4697,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx011001100xxxxxxxxxxxxx uqadd. */ - return 2282; + return 2284; } } } @@ -4698,7 +4720,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0x0101100xxxxxxxxxxxxx urhadd. */ - return 2297; + return 2299; } } else @@ -4711,7 +4733,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx001101100xxxxxxxxxxxxx urshr. */ - return 2300; + return 2302; } else { @@ -4719,7 +4741,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx001101100xxxxxxxxxxxxx uqshlr. */ - return 2289; + return 2291; } } else @@ -4728,7 +4750,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x0001x0xx011101100xxxxxxxxxxxxx usqadd. */ - return 2305; + return 2307; } } } @@ -4755,7 +4777,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx000011100xxxxxxxxxxxxx urshl. */ - return 2298; + return 2300; } } else @@ -4774,7 +4796,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx010011100xxxxxxxxxxxxx uhsub. */ - return 2259; + return 2261; } } } @@ -4786,7 +4808,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x0001x0xx001011100xxxxxxxxxxxxx uqrshl. */ - return 2283; + return 2285; } else { @@ -4804,7 +4826,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx011011100xxxxxxxxxxxxx uqsub. */ - return 2292; + return 2294; } } } @@ -4821,7 +4843,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx000111100xxxxxxxxxxxxx uqshl. */ - return 2287; + return 2289; } else { @@ -4829,7 +4851,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx000111100xxxxxxxxxxxxx urshlr. */ - return 2299; + return 2301; } } else @@ -4848,7 +4870,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx010111100xxxxxxxxxxxxx uhsubr. */ - return 2260; + return 2262; } } } @@ -4862,7 +4884,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx001111100xxxxxxxxxxxxx sqshlu. */ - return 2210; + return 2212; } else { @@ -4870,7 +4892,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx001111100xxxxxxxxxxxxx uqrshlr. */ - return 2284; + return 2286; } } else @@ -4879,7 +4901,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x0001x0xx011111100xxxxxxxxxxxxx uqsubr. */ - return 2293; + return 2295; } } } @@ -4908,7 +4930,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0x01xxxxx1000x0xxxxxxxxxx smlalb. */ - return 2138; + return 2140; } else { @@ -4916,7 +4938,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0x11xxxxx1000x0xxxxxxxxxx smlalb. */ - return 2139; + return 2141; } } } @@ -4938,7 +4960,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0x01xxxxx1001x0xxxxxxxxxx umlalb. */ - return 2263; + return 2265; } else { @@ -4946,7 +4968,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0x11xxxxx1001x0xxxxxxxxxx umlalb. */ - return 2264; + return 2266; } } } @@ -4982,7 +5004,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0x01xxxxx1000x1xxxxxxxxxx smlalt. */ - return 2141; + return 2143; } else { @@ -4990,7 +5012,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0x11xxxxx1000x1xxxxxxxxxx smlalt. */ - return 2142; + return 2144; } } } @@ -5023,7 +5045,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0x01xxxxx1001x1xxxxxxxxxx umlalt. */ - return 2266; + return 2268; } else { @@ -5031,7 +5053,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0x11xxxxx1001x1xxxxxxxxxx umlalt. */ - return 2267; + return 2269; } } } @@ -5219,7 +5241,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx010000xxxxxxxxxx smlalb. */ - return 2140; + return 2142; } else { @@ -5227,7 +5249,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx010100xxxxxxxxxx smlslb. */ - return 2146; + return 2148; } } else @@ -5238,7 +5260,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx010010xxxxxxxxxx umlalb. */ - return 2265; + return 2267; } else { @@ -5246,7 +5268,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx010110xxxxxxxxxx umlslb. */ - return 2271; + return 2273; } } } @@ -5260,7 +5282,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx010001xxxxxxxxxx smlalt. */ - return 2143; + return 2145; } else { @@ -5268,7 +5290,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx010101xxxxxxxxxx smlslt. */ - return 2149; + return 2151; } } else @@ -5279,7 +5301,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx010011xxxxxxxxxx umlalt. */ - return 2268; + return 2270; } else { @@ -5287,7 +5309,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx010111xxxxxxxxxx umlslt. */ - return 2274; + return 2276; } } } @@ -5795,7 +5817,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx1100x0xxxxxxxxxx smullb. */ - return 2151; + return 2153; } else { @@ -5803,7 +5825,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx1101x0xxxxxxxxxx umullb. */ - return 2276; + return 2278; } } else @@ -5814,7 +5836,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx1100x1xxxxxxxxxx smullt. */ - return 2154; + return 2156; } else { @@ -5822,7 +5844,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx1101x1xxxxxxxxxx umullt. */ - return 2279; + return 2281; } } } @@ -5858,7 +5880,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx1100x0xxxxxxxxxx smullb. */ - return 2152; + return 2154; } else { @@ -5866,7 +5888,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx1101x0xxxxxxxxxx umullb. */ - return 2277; + return 2279; } } else @@ -5877,7 +5899,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx1100x1xxxxxxxxxx smullt. */ - return 2155; + return 2157; } else { @@ -5885,7 +5907,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx1101x1xxxxxxxxxx umullt. */ - return 2280; + return 2282; } } } @@ -6059,7 +6081,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx0011xxxxxxxxxxxx sqrdcmlah. */ - return 2188; + return 2190; } } else @@ -6160,7 +6182,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx001x01xxxxxxxxxx xar. */ - return 2321; + return 2323; } else { @@ -6249,7 +6271,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx0010x0xxxxxxxxxx sqdmlalb. */ - return 2161; + return 2163; } else { @@ -6257,7 +6279,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx0010x0xxxxxxxxxx sqdmlalb. */ - return 2162; + return 2164; } } else @@ -6268,7 +6290,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx0011x0xxxxxxxxxx sqdmlslb. */ - return 2168; + return 2170; } else { @@ -6276,7 +6298,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx0011x0xxxxxxxxxx sqdmlslb. */ - return 2169; + return 2171; } } } @@ -6290,7 +6312,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx0010x1xxxxxxxxxx sqdmlalt. */ - return 2165; + return 2167; } else { @@ -6298,7 +6320,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx0010x1xxxxxxxxxx sqdmlalt. */ - return 2166; + return 2168; } } else @@ -6309,7 +6331,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx0011x1xxxxxxxxxx sqdmlslt. */ - return 2172; + return 2174; } else { @@ -6317,7 +6339,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx0011x1xxxxxxxxxx sqdmlslt. */ - return 2173; + return 2175; } } } @@ -6648,7 +6670,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0x0000101xxxxxxxxxxxxx urecpe. */ - return 2296; + return 2298; } else { @@ -6656,7 +6678,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0x1000101xxxxxxxxxxxxx sqabs. */ - return 2158; + return 2160; } } else @@ -6667,7 +6689,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx00x100101xxxxxxxxxxxxx sadalp. */ - return 2122; + return 2124; } else { @@ -6675,7 +6697,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx01x100101xxxxxxxxxxxxx smaxp. */ - return 2136; + return 2138; } } } @@ -6685,7 +6707,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxx10101xxxxxxxxxxxxx sminp. */ - return 2137; + return 2139; } } else @@ -6702,7 +6724,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx000001101xxxxxxxxxxxxx ursqrte. */ - return 2301; + return 2303; } else { @@ -6719,7 +6741,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0x1001101xxxxxxxxxxxxx sqneg. */ - return 2185; + return 2187; } } else @@ -6730,7 +6752,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx00x101101xxxxxxxxxxxxx uadalp. */ - return 2253; + return 2255; } else { @@ -6738,7 +6760,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx01x101101xxxxxxxxxxxxx umaxp. */ - return 2261; + return 2263; } } } @@ -6748,7 +6770,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxx11101xxxxxxxxxxxxx uminp. */ - return 2262; + return 2264; } } } @@ -6796,7 +6818,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx1010x0xxxxxxxxxx smlslb. */ - return 2144; + return 2146; } else { @@ -6804,7 +6826,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx1011x0xxxxxxxxxx umlslb. */ - return 2269; + return 2271; } } else @@ -6815,7 +6837,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx1010x1xxxxxxxxxx smlslt. */ - return 2147; + return 2149; } else { @@ -6823,7 +6845,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx1011x1xxxxxxxxxx umlslt. */ - return 2272; + return 2274; } } } @@ -6859,7 +6881,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx1010x0xxxxxxxxxx smlslb. */ - return 2145; + return 2147; } else { @@ -6867,7 +6889,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx1011x0xxxxxxxxxx umlslb. */ - return 2270; + return 2272; } } else @@ -6878,7 +6900,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx1010x1xxxxxxxxxx smlslt. */ - return 2148; + return 2150; } else { @@ -6886,7 +6908,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx1011x1xxxxxxxxxx umlslt. */ - return 2273; + return 2275; } } } @@ -6954,7 +6976,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx011000xxxxxxxxxx sqdmlalb. */ - return 2163; + return 2165; } else { @@ -6962,16 +6984,27 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx011100xxxxxxxxxx sqrdmlah. */ - return 2192; + return 2194; } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 010001x0xx0xxxxx011x10xxxxxxxxxx - sqdmlslb. */ - return 2170; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx011010xxxxxxxxxx + sqdmlslb. */ + return 2172; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx011110xxxxxxxxxx + usdot. */ + return 2394; + } } } else @@ -6984,7 +7017,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx011001xxxxxxxxxx sqdmlalt. */ - return 2167; + return 2169; } else { @@ -6992,7 +7025,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx011101xxxxxxxxxx sqrdmlsh. */ - return 2196; + return 2198; } } else @@ -7001,7 +7034,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx011x11xxxxxxxxxx sqdmlslt. */ - return 2174; + return 2176; } } } @@ -7050,7 +7083,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx011100xxxxxxxxxx sqdmulh. */ - return 2178; + return 2180; } } else @@ -7059,7 +7092,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx011x10xxxxxxxxxx smulh. */ - return 2150; + return 2152; } } else @@ -7080,7 +7113,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx011101xxxxxxxxxx sqrdmulh. */ - return 2200; + return 2202; } } else @@ -7089,7 +7122,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx011x11xxxxxxxxxx umulh. */ - return 2275; + return 2277; } } } @@ -7154,7 +7187,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx0111xxxxxxxxxxxx sqrdcmlah. */ - return 2186; + return 2188; } else { @@ -7162,7 +7195,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx0111xxxxxxxxxxxx sqrdcmlah. */ - return 2187; + return 2189; } } } @@ -7795,7 +7828,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x00x1xxxxx111x00xxxxxxxxxx sqdmulh. */ - return 2175; + return 2177; } else { @@ -7812,7 +7845,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x00x1xxxxx111xx1xxxxxxxxxx sqrdmulh. */ - return 2197; + return 2199; } } else @@ -7849,7 +7882,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx1110x0xxxxxxxxxx sqdmullb. */ - return 2179; + return 2181; } else { @@ -7859,7 +7892,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx111100xxxxxxxxxx sqdmulh. */ - return 2176; + return 2178; } else { @@ -7879,7 +7912,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx1110x1xxxxxxxxxx sqdmullt. */ - return 2182; + return 2184; } else { @@ -7887,7 +7920,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx1111x1xxxxxxxxxx sqrdmulh. */ - return 2198; + return 2200; } } } @@ -7912,7 +7945,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx1110x0xxxxxxxxxx sqdmullb. */ - return 2180; + return 2182; } else { @@ -7922,7 +7955,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx111100xxxxxxxxxx sqdmulh. */ - return 2177; + return 2179; } else { @@ -7942,7 +7975,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx1110x1xxxxxxxxxx sqdmullt. */ - return 2183; + return 2185; } else { @@ -7950,7 +7983,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx1111x1xxxxxxxxxx sqrdmulh. */ - return 2199; + return 2201; } } } @@ -8247,7 +8280,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0000xxxxx001xxxxxxxxxxxxx stnt1b. */ - return 2237; + return 2239; } else { @@ -8255,7 +8288,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0100xxxxx001xxxxxxxxxxxxx stnt1h. */ - return 2240; + return 2242; } } else @@ -8266,7 +8299,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0010xxxxx001xxxxxxxxxxxxx stnt1b. */ - return 2236; + return 2238; } else { @@ -8274,7 +8307,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0110xxxxx001xxxxxxxxxxxxx stnt1h. */ - return 2239; + return 2241; } } } @@ -8660,11 +8693,22 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 16) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 011001x0100xxxx0101xxxxxxxxxxxxx - fcvtnt. */ - return 2068; + if (((word >> 17) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0100xxx00101xxxxxxxxxxxxx + fcvtnt. */ + return 2068; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0100xxx10101xxxxxxxxxxxxx + bfcvtnt. */ + return 2423; + } } else { @@ -8898,85 +8942,107 @@ aarch64_opcode_lookup_1 (uint32_t word) } 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 1501; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0101xxxxx010xxxxxxxxxxxxx + ld1h. */ + return 1521; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x0101xxxxx1x0xxxxxxxxxxxxx - ld2h. */ - return 1603; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0011xxxxx010xxxxxxxxxxxxx + ld1b. */ + return 1503; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0111xxxxx010xxxxxxxxxxxxx + ld1h. */ + return 1523; + } } } 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 1599; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0101xxxxx110xxxxxxxxxxxxx + ld2h. */ + return 1603; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x0111xxxxx1x0xxxxxxxxxxxxx - ld4h. */ - return 1619; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0011xxxxx110xxxxxxxxxxxxx + ld4b. */ + return 1615; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0111xxxxx110xxxxxxxxxxxxx + ld4h. */ + return 1619; + } } } } @@ -9118,19 +9184,52 @@ aarch64_opcode_lookup_1 (uint32_t word) { 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 1868; + } } 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 1889; + } } } } @@ -9169,12 +9268,45 @@ aarch64_opcode_lookup_1 (uint32_t word) } 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 1890; + } + } + } } } } @@ -9205,85 +9337,107 @@ aarch64_opcode_lookup_1 (uint32_t word) { 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 1508; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x01010xxxx101xxxxxxxxxxxxx + ld1h. */ + return 1529; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x01011xxxxx01xxxxxxxxxxxxx - ldnf1h. */ - return 1704; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x00110xxxx101xxxxxxxxxxxxx + ld1b. */ + return 1510; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x01110xxxx101xxxxxxxxxxxxx + ld1h. */ + return 1531; + } } } 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 1700; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x01011xxxx101xxxxxxxxxxxxx + ldnf1h. */ + return 1704; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x01111xxxxx01xxxxxxxxxxxxx - ldnf1h. */ - return 1706; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x00111xxxx101xxxxxxxxxxxxx + ldnf1b. */ + return 1702; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x01111xxxx101xxxxxxxxxxxxx + ldnf1h. */ + return 1706; + } } } } @@ -9529,11 +9683,11 @@ aarch64_opcode_lookup_1 (uint32_t word) } 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 @@ -9545,69 +9699,102 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x01010xxxx111xxxxxxxxxxxxx - st1h. */ - return 1891; + x11001x00011xxxx111xxxxxxxxxxxxx + st2b. */ + return 1909; } } 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 1891; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x01011xxxx111xxxxxxxxxxxxx + st2h. */ + return 1913; + } } } } 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 1874; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x00111xxxx111xxxxxxxxxxxxx + st4b. */ + return 1925; + } } } 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 1895; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x01111xxxx111xxxxxxxxxxxxx + st4h. */ + return 1929; + } } } } @@ -9699,11 +9886,77 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 22) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1x01xxxxx000xxxxxxxxxxxxx - ext. */ - return 1374; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1001xxxxx000xxxxxxxxxxxxx + ext. */ + return 1374; + } + 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 { @@ -9829,7 +10082,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x1101100xxxxxxxxxxxxx splice. */ - return 2157; + return 2159; } } } @@ -9899,7 +10152,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx001010xxxxxxxxxx tbl. */ - return 2246; + return 2248; } else { @@ -9994,7 +10247,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx001xx1xxxxxxxxxx tbx. */ - return 2247; + return 2249; } } else @@ -10521,7 +10774,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx000000xxxxxxxxxx saddlb. */ - return 2123; + return 2125; } else { @@ -10529,7 +10782,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx000100xxxxxxxxxx ssublb. */ - return 2230; + return 2232; } } else @@ -10540,7 +10793,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx000010xxxxxxxxxx uaddlb. */ - return 2254; + return 2256; } else { @@ -10548,7 +10801,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx000110xxxxxxxxxx usublb. */ - return 2307; + return 2309; } } } @@ -10562,7 +10815,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx000001xxxxxxxxxx saddlt. */ - return 2125; + return 2127; } else { @@ -10570,7 +10823,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx000101xxxxxxxxxx ssublt. */ - return 2232; + return 2234; } } else @@ -10581,7 +10834,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx000011xxxxxxxxxx uaddlt. */ - return 2255; + return 2257; } else { @@ -10589,7 +10842,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx000111xxxxxxxxxx usublt. */ - return 2308; + return 2310; } } } @@ -10617,7 +10870,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx000000xxxxxxxxxx sqshrunb. */ - return 2213; + return 2215; } else { @@ -10625,7 +10878,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx000100xxxxxxxxxx shrnb. */ - return 2131; + return 2133; } } else @@ -10636,7 +10889,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx000010xxxxxxxxxx sqrshrunb. */ - return 2205; + return 2207; } else { @@ -10644,7 +10897,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx000110xxxxxxxxxx rshrnb. */ - return 2113; + return 2115; } } } @@ -10658,7 +10911,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx000001xxxxxxxxxx sqshrunt. */ - return 2214; + return 2216; } else { @@ -10666,7 +10919,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx000101xxxxxxxxxx shrnt. */ - return 2132; + return 2134; } } else @@ -10677,7 +10930,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx000011xxxxxxxxxx sqrshrunt. */ - return 2206; + return 2208; } else { @@ -10685,7 +10938,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx000111xxxxxxxxxx rshrnt. */ - return 2114; + return 2116; } } } @@ -10716,7 +10969,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx100000xxxxxxxxxx saddlbt. */ - return 2124; + return 2126; } else { @@ -10729,11 +10982,44 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 010001x1xx0xxxxx100x10xxxxxxxxxx - ssublbt. */ - return 2231; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx100010xxxxxxxxxx + ssublbt. */ + return 2233; + } + 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 @@ -10752,7 +11038,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx100x11xxxxxxxxxx ssubltb. */ - return 2233; + return 2235; } } } @@ -10837,7 +11123,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx010000xxxxxxxxxx saddwb. */ - return 2126; + return 2128; } else { @@ -10845,7 +11131,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx010100xxxxxxxxxx ssubwb. */ - return 2234; + return 2236; } } else @@ -10856,7 +11142,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx010010xxxxxxxxxx uaddwb. */ - return 2256; + return 2258; } else { @@ -10864,7 +11150,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx010110xxxxxxxxxx usubwb. */ - return 2309; + return 2311; } } } @@ -10878,7 +11164,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx010001xxxxxxxxxx saddwt. */ - return 2127; + return 2129; } else { @@ -10886,7 +11172,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx010101xxxxxxxxxx ssubwt. */ - return 2235; + return 2237; } } else @@ -10897,7 +11183,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx010011xxxxxxxxxx uaddwt. */ - return 2257; + return 2259; } else { @@ -10905,7 +11191,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx010111xxxxxxxxxx usubwt. */ - return 2310; + return 2312; } } } @@ -10946,7 +11232,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxxx010000xxxxxxxxxx sqxtnb. */ - return 2217; + return 2219; } else { @@ -10954,7 +11240,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxxx010100xxxxxxxxxx sqxtunb. */ - return 2219; + return 2221; } } else @@ -10963,7 +11249,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxxx010x10xxxxxxxxxx uqxtnb. */ - return 2294; + return 2296; } } else @@ -10976,7 +11262,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxxx010001xxxxxxxxxx sqxtnt. */ - return 2218; + return 2220; } else { @@ -10984,7 +11270,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxxx010101xxxxxxxxxx sqxtunt. */ - return 2220; + return 2222; } } else @@ -10993,7 +11279,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxxx010x11xxxxxxxxxx uqxtnt. */ - return 2295; + return 2297; } } } @@ -11032,7 +11318,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx110000xxxxxxxxxx sabalb. */ - return 2118; + return 2120; } else { @@ -11050,7 +11336,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x11x0xxxxx110100xxxxxxxxxx sbclb. */ - return 2128; + return 2130; } } } @@ -11062,7 +11348,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx110001xxxxxxxxxx sabalt. */ - return 2119; + return 2121; } else { @@ -11080,7 +11366,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x11x0xxxxx110101xxxxxxxxxx sbclt. */ - return 2129; + return 2131; } } } @@ -11095,7 +11381,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx110010xxxxxxxxxx uabalb. */ - return 2249; + return 2251; } else { @@ -11103,7 +11389,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx110011xxxxxxxxxx uabalt. */ - return 2250; + return 2252; } } else @@ -11122,7 +11408,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxx111011xxxxxxxxxxx sqcadd. */ - return 2160; + return 2162; } } } @@ -11242,7 +11528,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx001x00xxxxxxxxxx sabdlb. */ - return 2120; + return 2122; } else { @@ -11250,7 +11536,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx001x10xxxxxxxxxx uabdlb. */ - return 2251; + return 2253; } } else @@ -11261,7 +11547,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx001x01xxxxxxxxxx sabdlt. */ - return 2121; + return 2123; } else { @@ -11269,7 +11555,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx001x11xxxxxxxxxx uabdlt. */ - return 2252; + return 2254; } } } @@ -11296,7 +11582,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx001000xxxxxxxxxx sqshrnb. */ - return 2211; + return 2213; } else { @@ -11304,7 +11590,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx001100xxxxxxxxxx uqshrnb. */ - return 2290; + return 2292; } } else @@ -11315,7 +11601,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx001010xxxxxxxxxx sqrshrnb. */ - return 2203; + return 2205; } else { @@ -11323,7 +11609,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx001110xxxxxxxxxx uqrshrnb. */ - return 2285; + return 2287; } } } @@ -11337,7 +11623,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx001001xxxxxxxxxx sqshrnt. */ - return 2212; + return 2214; } else { @@ -11345,7 +11631,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx001101xxxxxxxxxx uqshrnt. */ - return 2291; + return 2293; } } else @@ -11356,7 +11642,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx001011xxxxxxxxxx sqrshrnt. */ - return 2204; + return 2206; } else { @@ -11364,7 +11650,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx001111xxxxxxxxxx uqrshrnt. */ - return 2286; + return 2288; } } } @@ -11395,7 +11681,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx101000xxxxxxxxxx sshllb. */ - return 2227; + return 2229; } else { @@ -11403,7 +11689,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx101100xxxxxxxxxx bext. */ - return 2332; + return 2334; } } else @@ -11414,7 +11700,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx101010xxxxxxxxxx ushllb. */ - return 2303; + return 2305; } else { @@ -11422,7 +11708,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx101110xxxxxxxxxx bgrp. */ - return 2333; + return 2335; } } } @@ -11436,7 +11722,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx101001xxxxxxxxxx sshllt. */ - return 2228; + return 2230; } else { @@ -11444,7 +11730,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx101101xxxxxxxxxx bdep. */ - return 2331; + return 2333; } } else @@ -11453,7 +11739,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx101x11xxxxxxxxxx ushllt. */ - return 2304; + return 2306; } } } @@ -11516,7 +11802,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx011000xxxxxxxxxx sqdmullb. */ - return 2181; + return 2183; } else { @@ -11524,18 +11810,29 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx011100xxxxxxxxxx smullb. */ - return 2153; + return 2155; } } else { if (((word >> 12) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 010001x1xx0xxxxx011010xxxxxxxxxx - pmullb. */ - return 2328; + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1x00xxxxx011010xxxxxxxxxx + pmullb. */ + return 2330; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1x10xxxxx011010xxxxxxxxxx + pmullb. */ + return 2111; + } } else { @@ -11543,7 +11840,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx011110xxxxxxxxxx umullb. */ - return 2278; + return 2280; } } } @@ -11557,7 +11854,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx011001xxxxxxxxxx sqdmullt. */ - return 2184; + return 2186; } else { @@ -11565,18 +11862,29 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx011101xxxxxxxxxx smullt. */ - return 2156; + return 2158; } } else { if (((word >> 12) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 010001x1xx0xxxxx011011xxxxxxxxxx - pmullt. */ - return 2329; + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1x00xxxxx011011xxxxxxxxxx + pmullt. */ + return 2331; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1x10xxxxx011011xxxxxxxxxx + pmullt. */ + return 2112; + } } else { @@ -11584,7 +11892,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx011111xxxxxxxxxx umullt. */ - return 2281; + return 2283; } } } @@ -11631,7 +11939,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx011100xxxxxxxxxx subhnb. */ - return 2243; + return 2245; } } else @@ -11642,7 +11950,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx011010xxxxxxxxxx raddhnb. */ - return 2111; + return 2113; } else { @@ -11650,7 +11958,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx011110xxxxxxxxxx rsubhnb. */ - return 2115; + return 2117; } } } @@ -11672,7 +11980,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx011101xxxxxxxxxx subhnt. */ - return 2244; + return 2246; } } else @@ -11683,7 +11991,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx011011xxxxxxxxxx raddhnt. */ - return 2112; + return 2114; } else { @@ -11691,7 +11999,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx011111xxxxxxxxxx rsubhnt. */ - return 2116; + return 2118; } } } @@ -11733,7 +12041,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx111000xxxxxxxxxx ssra. */ - return 2229; + return 2231; } else { @@ -11741,7 +12049,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx111100xxxxxxxxxx sri. */ - return 2222; + return 2224; } } else @@ -11752,7 +12060,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx111010xxxxxxxxxx srsra. */ - return 2226; + return 2228; } else { @@ -11760,7 +12068,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx111110xxxxxxxxxx saba. */ - return 2117; + return 2119; } } } @@ -11774,7 +12082,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx111001xxxxxxxxxx usra. */ - return 2306; + return 2308; } else { @@ -11782,7 +12090,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx111101xxxxxxxxxx sli. */ - return 2135; + return 2137; } } else @@ -11793,7 +12101,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx111011xxxxxxxxxx ursra. */ - return 2302; + return 2304; } else { @@ -11801,7 +12109,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx111111xxxxxxxxxx uaba. */ - return 2248; + return 2250; } } } @@ -11868,7 +12176,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1001xxx001110x0xxxxxxxxxx aesmc. */ - return 2327; + return 2329; } else { @@ -11876,7 +12184,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1001xxx101110x0xxxxxxxxxx aese. */ - return 2325; + return 2327; } } else @@ -11885,7 +12193,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1001xxxx11110x0xxxxxxxxxx sm4e. */ - return 2322; + return 2324; } } else @@ -11894,7 +12202,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1001xxxxx1111x0xxxxxxxxxx sm4ekey. */ - return 2323; + return 2325; } } else @@ -11907,7 +12215,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1001xxx0x1110x1xxxxxxxxxx aesimc. */ - return 2326; + return 2328; } else { @@ -11915,7 +12223,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1001xxx1x1110x1xxxxxxxxxx aesd. */ - return 2324; + return 2326; } } else @@ -11924,7 +12232,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1001xxxxx1111x1xxxxxxxxxx rax1. */ - return 2330; + return 2332; } } } @@ -12024,174 +12332,196 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - if (((word >> 4) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - if (((word >> 10) & 0x1) == 0) + if (((word >> 4) & 0x1) == 0) { - if (((word >> 11) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { - if (((word >> 12) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx000000xxxxx0xxxx - whilege. */ - return 2311; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000000xxxxx0xxxx + whilege. */ + return 2313; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000100xxxxx0xxxx + whilege. */ + return 2314; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx000100xxxxx0xxxx - whilege. */ - return 2312; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000010xxxxx0xxxx + whilehs. */ + return 2319; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000110xxxxx0xxxx + whilehs. */ + return 2320; + } } } else { - if (((word >> 12) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx000010xxxxx0xxxx - whilehs. */ - return 2317; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000001xxxxx0xxxx + whilelt. */ + return 2025; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000101xxxxx0xxxx + whilelt. */ + return 2026; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx000110xxxxx0xxxx - whilehs. */ - return 2318; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000011xxxxx0xxxx + whilelo. */ + return 2021; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000111xxxxx0xxxx + whilelo. */ + return 2022; + } } } } else { - if (((word >> 11) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { - if (((word >> 12) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx000001xxxxx0xxxx - whilelt. */ - return 2025; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000000xxxxx1xxxx + whilegt. */ + return 2315; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000100xxxxx1xxxx + whilegt. */ + return 2316; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx000101xxxxx0xxxx - whilelt. */ - return 2026; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000010xxxxx1xxxx + whilehi. */ + return 2317; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000110xxxxx1xxxx + whilehi. */ + return 2318; + } } } else { - if (((word >> 12) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx000011xxxxx0xxxx - whilelo. */ - return 2021; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000001xxxxx1xxxx + whilele. */ + return 2019; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000101xxxxx1xxxx + whilele. */ + return 2020; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx000111xxxxx0xxxx - whilelo. */ - return 2022; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000011xxxxx1xxxx + whilels. */ + return 2023; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000111xxxxx1xxxx + whilels. */ + return 2024; + } } } } } else { - if (((word >> 10) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 11) & 0x1) == 0) - { - if (((word >> 12) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx000000xxxxx1xxxx - whilegt. */ - return 2313; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx000100xxxxx1xxxx - whilegt. */ - return 2314; - } - } - else - { - if (((word >> 12) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx000010xxxxx1xxxx - whilehi. */ - return 2315; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx000110xxxxx1xxxx - whilehi. */ - return 2316; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x10x1xxxxx000xxxxxxxxxxxxx + ld1row. */ + return 2401; } else { - if (((word >> 11) & 0x1) == 0) - { - if (((word >> 12) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx000001xxxxx1xxxx - whilele. */ - return 2019; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx000101xxxxx1xxxx - whilele. */ - return 2020; - } - } - else - { - if (((word >> 12) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx000011xxxxx1xxxx - whilels. */ - return 2023; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx000111xxxxx1xxxx - whilels. */ - return 2024; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x11x1xxxxx000xxxxxxxxxxxxx + ld1rod. */ + return 2402; } } } @@ -12490,7 +12820,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1000xxxxx001xxxxxxxxxxxxx stnt1w. */ - return 2242; + return 2244; } else { @@ -12498,7 +12828,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1100xxxxx001xxxxxxxxxxxxx stnt1d. */ - return 2238; + return 2240; } } else @@ -12507,7 +12837,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1x10xxxxx001xxxxxxxxxxxxx stnt1w. */ - return 2241; + return 2243; } } } @@ -12516,42 +12846,64 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 30) & 0x1) == 0) { - if (((word >> 4) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - if (((word >> 12) & 0x1) == 0) + if (((word >> 4) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx0010xxxxxxx0xxxx - ctermeq. */ - return 1353; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx0010xxxxxxx0xxxx + ctermeq. */ + return 1353; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx0011xxxxxxx0xxxx + whilewr. */ + return 2322; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx0011xxxxxxx0xxxx - whilewr. */ - return 2320; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx0010xxxxxxx1xxxx + ctermne. */ + return 1354; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx0011xxxxxxx1xxxx + whilerw. */ + return 2321; + } } } else { - if (((word >> 12) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x01001x1xx1xxxxx0010xxxxxxx1xxxx - ctermne. */ - return 1354; + 101001x10x1xxxxx001xxxxxxxxxxxxx + ld1row. */ + return 2405; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x01001x1xx1xxxxx0011xxxxxxx1xxxx - whilerw. */ - return 2319; + 101001x11x1xxxxx001xxxxxxxxxxxxx + ld1rod. */ + return 2406; } } } @@ -13971,11 +14323,22 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 22) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 011001x1x0001x10101xxxxxxxxxxxxx - fcvtx. */ - return 2070; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x100001x10101xxxxxxxxxxxxx + fcvtx. */ + return 2070; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x110001x10101xxxxxxxxxxxxx + bfcvt. */ + return 2422; + } } else { @@ -16029,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 @@ -16065,7 +16439,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110xx0xxxxx1x0101xxxxxxxxxx sdot. */ - return 2335; + return 2337; } } else @@ -16125,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 @@ -16197,7 +16593,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110000xxxxxxxxxxxxxxxxxxxxx eor3. */ - return 2342; + return 2344; } else { @@ -16205,7 +16601,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110100xxxxxxxxxxxxxxxxxxxxx xar. */ - return 2344; + return 2346; } } else @@ -16216,7 +16612,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110x10xxxxx0xxxxxxxxxxxxxxx sm3ss1. */ - return 2346; + return 2348; } else { @@ -16230,7 +16626,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110010xxxxx1xxx00xxxxxxxxxx sm3tt1a. */ - return 2347; + return 2349; } else { @@ -16238,7 +16634,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110110xxxxx1xxx00xxxxxxxxxx sha512su0. */ - return 2340; + return 2342; } } else @@ -16247,7 +16643,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110x10xxxxx1xxx10xxxxxxxxxx sm3tt2a. */ - return 2349; + return 2351; } } else @@ -16260,7 +16656,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110010xxxxx1xxx01xxxxxxxxxx sm3tt1b. */ - return 2348; + return 2350; } else { @@ -16268,7 +16664,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110110xxxxx1xxx01xxxxxxxxxx sm4e. */ - return 2353; + return 2355; } } else @@ -16277,7 +16673,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110x10xxxxx1xxx11xxxxxxxxxx sm3tt2b. */ - return 2350; + return 2352; } } } @@ -16458,7 +16854,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx101110xx0xxxxx100101xxxxxxxxxx udot. */ - return 2334; + return 2336; } } else @@ -16481,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; + } + } + } + } } } } @@ -17038,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; + } } } } @@ -17369,7 +17842,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110xx1xxxxx0xxxxxxxxxxxxxxx bcax. */ - return 2345; + return 2347; } } else @@ -17980,7 +18453,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 11001110xx1xxxxx100000xxxxxxxxxx sha512h. */ - return 2338; + return 2340; } } } @@ -18032,7 +18505,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 11001110xx1xxxxx110000xxxxxxxxxx sm3partw1. */ - return 2351; + return 2353; } } } @@ -18275,7 +18748,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110xx1xxxxx100010xxxxxxxxxx sha512su1. */ - return 2341; + return 2343; } } else @@ -18351,7 +18824,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x0011100x1xxxxx110010xxxxxxxxxx sm4ekey. */ - return 2354; + return 2356; } } else @@ -19177,7 +19650,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110xx1xxxxx100001xxxxxxxxxx sha512h2. */ - return 2339; + return 2341; } } else @@ -19209,7 +19682,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x0011100x1xxxxx110001xxxxxxxxxx sm3partw2. */ - return 2352; + return 2354; } } else @@ -19449,7 +19922,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110xx1xxxxx100011xxxxxxxxxx rax1. */ - return 2343; + return 2345; } } else @@ -19481,7 +19954,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01011100x1xxxxx110011xxxxxxxxxx fmlal2. */ - return 2357; + return 2359; } else { @@ -19489,7 +19962,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11011100x1xxxxx110011xxxxxxxxxx fmlal2. */ - return 2361; + return 2363; } } } @@ -19511,7 +19984,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01011101x1xxxxx110011xxxxxxxxxx fmlsl2. */ - return 2358; + return 2360; } else { @@ -19519,7 +19992,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11011101x1xxxxx110011xxxxxxxxxx fmlsl2. */ - return 2362; + return 2364; } } } @@ -19558,7 +20031,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x00011100x1xxxxx111011xxxxxxxxxx fmlal. */ - return 2355; + return 2357; } else { @@ -19566,7 +20039,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10011100x1xxxxx111011xxxxxxxxxx fmlal. */ - return 2359; + return 2361; } } else @@ -19588,7 +20061,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x00011101x1xxxxx111011xxxxxxxxxx fmlsl. */ - return 2356; + return 2358; } else { @@ -19596,7 +20069,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10011101x1xxxxx111011xxxxxxxxxx fmlsl. */ - return 2360; + return 2362; } } else @@ -21404,7 +21877,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0001111xxxxxxxx0000x0xxxxxxxxxx fmlal. */ - return 2363; + return 2365; } else { @@ -21412,7 +21885,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1001111xxxxxxxx0000x0xxxxxxxxxx fmlal. */ - return 2367; + return 2369; } } else @@ -21434,7 +21907,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0001111xxxxxxxx0100x0xxxxxxxxxx fmlsl. */ - return 2364; + return 2366; } else { @@ -21442,7 +21915,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1001111xxxxxxxx0100x0xxxxxxxxxx fmlsl. */ - return 2368; + return 2370; } } else @@ -21948,7 +22421,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0101111xxxxxxxx1000x0xxxxxxxxxx fmlal2. */ - return 2365; + return 2367; } else { @@ -21956,7 +22429,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1101111xxxxxxxx1000x0xxxxxxxxxx fmlal2. */ - return 2369; + return 2371; } } } @@ -21978,7 +22451,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0101111xxxxxxxx1100x0xxxxxxxxxx fmlsl2. */ - return 2366; + return 2368; } else { @@ -21986,7 +22459,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1101111xxxxxxxx1100x0xxxxxxxxxx fmlsl2. */ - return 2370; + return 2372; } } } @@ -22042,7 +22515,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx001111xxxxxxxx1110x0xxxxxxxxxx sdot. */ - return 2337; + return 2339; } else { @@ -22050,7 +22523,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx101111xxxxxxxx1110x0xxxxxxxxxx udot. */ - return 2336; + return 2338; } } } @@ -22143,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; + } } } } @@ -22675,8 +23203,9 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode) case 1214: value = 1215; break; /* isb --> sb. */ case 1215: value = 1216; break; /* sb --> sys. */ case 1216: value = 1224; break; /* sys --> msr. */ - case 1224: value = 2371; break; /* msr --> cfinv. */ - case 2371: return NULL; /* cfinv --> NULL. */ + case 1224: value = 2373; break; /* msr --> cfinv. */ + case 2373: value = 2390; break; /* cfinv --> 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. */ @@ -22765,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. */ @@ -23238,7 +23769,6 @@ aarch64_extract_operand (const aarch64_operand *self, case 28: case 29: case 30: - case 162: case 163: case 164: case 165: @@ -23248,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: @@ -23257,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); @@ -23274,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); @@ -23309,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: @@ -23319,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: @@ -23331,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); @@ -23344,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: @@ -23391,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: @@ -23420,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: @@ -23429,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 (); }