diff options
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes/aarch64-asm-2.c | 23 | ||||
-rw-r--r-- | opcodes/aarch64-asm.c | 14 | ||||
-rw-r--r-- | opcodes/aarch64-asm.h | 1 | ||||
-rw-r--r-- | opcodes/aarch64-dis-2.c | 1092 | ||||
-rw-r--r-- | opcodes/aarch64-dis.c | 17 | ||||
-rw-r--r-- | opcodes/aarch64-dis.h | 1 | ||||
-rw-r--r-- | opcodes/aarch64-opc-2.c | 2 | ||||
-rw-r--r-- | opcodes/aarch64-opc.c | 12 | ||||
-rw-r--r-- | opcodes/aarch64-tbl.h | 22 |
9 files changed, 679 insertions, 505 deletions
diff --git a/opcodes/aarch64-asm-2.c b/opcodes/aarch64-asm-2.c index 3d439d4e688..03d1c0e1221 100644 --- a/opcodes/aarch64-asm-2.c +++ b/opcodes/aarch64-asm-2.c @@ -685,7 +685,7 @@ aarch64_insert_operand (const aarch64_operand *self, case 33: case 34: case 35: - case 268: + case 270: return aarch64_ins_reglane (self, info, code, inst, errors); case 36: return aarch64_ins_reglist (self, info, code, inst, errors); @@ -731,12 +731,12 @@ aarch64_insert_operand (const aarch64_operand *self, case 193: case 194: case 237: - case 262: - case 263: + case 264: case 265: case 267: - case 272: - case 273: + case 269: + case 274: + case 275: return aarch64_ins_imm (self, info, code, inst, errors); case 44: case 45: @@ -805,8 +805,8 @@ aarch64_insert_operand (const aarch64_operand *self, case 107: return aarch64_ins_prfop (self, info, code, inst, errors); case 108: - case 264: case 266: + case 268: return aarch64_ins_none (self, info, code, inst, errors); case 109: return aarch64_ins_hint (self, info, code, inst, errors); @@ -886,6 +886,7 @@ aarch64_insert_operand (const aarch64_operand *self, case 184: case 185: case 186: + case 250: return aarch64_ins_sve_shrimm (self, info, code, inst, errors); case 204: case 205: @@ -919,8 +920,6 @@ aarch64_insert_operand (const aarch64_operand *self, return aarch64_ins_sme_za_hv_tiles_range (self, info, code, inst, errors); case 235: case 236: - case 249: - case 250: case 251: case 252: case 253: @@ -932,6 +931,8 @@ aarch64_insert_operand (const aarch64_operand *self, case 259: case 260: case 261: + case 262: + case 263: return aarch64_ins_simple_index (self, info, code, inst, errors); case 239: case 240: @@ -947,9 +948,11 @@ aarch64_insert_operand (const aarch64_operand *self, return aarch64_ins_sme_sm_za (self, info, code, inst, errors); case 248: return aarch64_ins_sme_pred_reg_with_index (self, info, code, inst, errors); - case 269: - case 270: + case 249: + return aarch64_ins_plain_shrimm (self, info, code, inst, errors); case 271: + case 272: + case 273: return aarch64_ins_x0_to_x30 (self, info, code, inst, errors); default: assert (0); abort (); } diff --git a/opcodes/aarch64-asm.c b/opcodes/aarch64-asm.c index 5f2e51044ce..0025cb6f80c 100644 --- a/opcodes/aarch64-asm.c +++ b/opcodes/aarch64-asm.c @@ -1624,6 +1624,19 @@ aarch64_ins_simple_index (const aarch64_operand *self, return true; } +/* Insert a plain shift-right immediate, when there is only a single + element size. */ +bool +aarch64_ins_plain_shrimm (const aarch64_operand *self, + const aarch64_opnd_info *info, aarch64_insn *code, + const aarch64_inst *inst ATTRIBUTE_UNUSED, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) +{ + unsigned int base = 1 << get_operand_field_width (self, 0); + insert_field (self->fields[0], code, base - info->imm.value, 0); + return true; +} + /* Miscellaneous encoding functions. */ /* Encode size[0], i.e. bit 22, for @@ -1980,6 +1993,7 @@ aarch64_encode_variant_using_iclass (struct aarch64_inst *inst) 0, 2, FLD_SVE_M_14, FLD_size); break; + case sme_shift: case sve_index: case sve_shift_pred: case sve_shift_unpred: diff --git a/opcodes/aarch64-asm.h b/opcodes/aarch64-asm.h index 4cc48dfdcb6..0028e8bbaed 100644 --- a/opcodes/aarch64-asm.h +++ b/opcodes/aarch64-asm.h @@ -111,6 +111,7 @@ AARCH64_DECL_OPD_INSERTER (ins_imm_rotate1); AARCH64_DECL_OPD_INSERTER (ins_imm_rotate2); AARCH64_DECL_OPD_INSERTER (ins_x0_to_x30); AARCH64_DECL_OPD_INSERTER (ins_simple_index); +AARCH64_DECL_OPD_INSERTER (ins_plain_shrimm); #undef AARCH64_DECL_OPD_INSERTER diff --git a/opcodes/aarch64-dis-2.c b/opcodes/aarch64-dis-2.c index 55a01e6e593..d82c37498e7 100644 --- a/opcodes/aarch64-dis-2.c +++ b/opcodes/aarch64-dis-2.c @@ -188,7 +188,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000x10x100xxxxxxxxxxxxxxxxx zero. */ - return 2874; + return 2883; } } } @@ -856,7 +856,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx000xxxxxxxxxxxx0 st1b. */ - return 2705; + return 2711; } else { @@ -864,7 +864,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx100xxxxxxxxxxxx0 st1b. */ - return 2706; + return 2712; } } else @@ -875,7 +875,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx010xxxxxxxxxxxx0 st1w. */ - return 2729; + return 2735; } else { @@ -883,7 +883,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx110xxxxxxxxxxxx0 st1w. */ - return 2730; + return 2736; } } } @@ -897,7 +897,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx001xxxxxxxxxxxx0 st1h. */ - return 2721; + return 2727; } else { @@ -905,7 +905,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx101xxxxxxxxxxxx0 st1h. */ - return 2722; + return 2728; } } else @@ -916,7 +916,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx011xxxxxxxxxxxx0 st1d. */ - return 2713; + return 2719; } else { @@ -924,7 +924,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx111xxxxxxxxxxxx0 st1d. */ - return 2714; + return 2720; } } } @@ -941,7 +941,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx000xxxxxxxxxxxx1 stnt1b. */ - return 2737; + return 2743; } else { @@ -949,7 +949,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx100xxxxxxxxxxxx1 stnt1b. */ - return 2738; + return 2744; } } else @@ -960,7 +960,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx010xxxxxxxxxxxx1 stnt1w. */ - return 2761; + return 2767; } else { @@ -968,7 +968,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx110xxxxxxxxxxxx1 stnt1w. */ - return 2762; + return 2768; } } } @@ -982,7 +982,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx001xxxxxxxxxxxx1 stnt1h. */ - return 2753; + return 2759; } else { @@ -990,7 +990,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx101xxxxxxxxxxxx1 stnt1h. */ - return 2754; + return 2760; } } else @@ -1001,7 +1001,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx011xxxxxxxxxxxx1 stnt1d. */ - return 2745; + return 2751; } else { @@ -1009,7 +1009,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx111xxxxxxxxxxxx1 stnt1d. */ - return 2746; + return 2752; } } } @@ -1073,7 +1073,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx000xxxxxxxxxxxx0 st1b. */ - return 2701; + return 2707; } else { @@ -1081,7 +1081,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx100xxxxxxxxxxxx0 st1b. */ - return 2702; + return 2708; } } else @@ -1092,7 +1092,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx010xxxxxxxxxxxx0 st1w. */ - return 2725; + return 2731; } else { @@ -1100,7 +1100,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx110xxxxxxxxxxxx0 st1w. */ - return 2726; + return 2732; } } } @@ -1114,7 +1114,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx001xxxxxxxxxxxx0 st1h. */ - return 2717; + return 2723; } else { @@ -1122,7 +1122,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx101xxxxxxxxxxxx0 st1h. */ - return 2718; + return 2724; } } else @@ -1133,7 +1133,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx011xxxxxxxxxxxx0 st1d. */ - return 2709; + return 2715; } else { @@ -1141,7 +1141,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx111xxxxxxxxxxxx0 st1d. */ - return 2710; + return 2716; } } } @@ -1158,7 +1158,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx000xxxxxxxxxxxx1 stnt1b. */ - return 2733; + return 2739; } else { @@ -1166,7 +1166,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx100xxxxxxxxxxxx1 stnt1b. */ - return 2734; + return 2740; } } else @@ -1177,7 +1177,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx010xxxxxxxxxxxx1 stnt1w. */ - return 2757; + return 2763; } else { @@ -1185,7 +1185,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx110xxxxxxxxxxxx1 stnt1w. */ - return 2758; + return 2764; } } } @@ -1199,7 +1199,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx001xxxxxxxxxxxx1 stnt1h. */ - return 2749; + return 2755; } else { @@ -1207,7 +1207,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx101xxxxxxxxxxxx1 stnt1h. */ - return 2750; + return 2756; } } else @@ -1218,7 +1218,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx011xxxxxxxxxxxx1 stnt1d. */ - return 2741; + return 2747; } else { @@ -1226,7 +1226,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx111xxxxxxxxxxxx1 stnt1d. */ - return 2742; + return 2748; } } } @@ -1326,7 +1326,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010000xxxxxxxxxxxxxxx001xx usmlall. */ - return 2855; + return 2864; } } else @@ -1358,7 +1358,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx0xxxxxxxxx100xxx usmlall. */ - return 2856; + return 2865; } else { @@ -1366,7 +1366,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx1xxxxxxxxx100xxx usmlall. */ - return 2857; + return 2866; } } } @@ -1381,7 +1381,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010000xxxxxxxxxxxxxxx100xx umlall. */ - return 2816; + return 2822; } else { @@ -1389,7 +1389,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010000xxxxxxxxxxxxxxx101xx sumlall. */ - return 2776; + return 2782; } } else @@ -1402,7 +1402,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx0xxxxxxxxx010xxx umlall. */ - return 2817; + return 2823; } else { @@ -1410,7 +1410,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx1xxxxxxxxx010xxx umlall. */ - return 2818; + return 2824; } } else @@ -1421,7 +1421,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx0xxxxxxxxx110xxx sumlall. */ - return 2777; + return 2783; } else { @@ -1429,7 +1429,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx1xxxxxxxxx110xxx sumlall. */ - return 2778; + return 2784; } } } @@ -1475,7 +1475,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010000xxxxxxxxxxxxxxx11xxx umlsll. */ - return 2832; + return 2838; } else { @@ -1485,7 +1485,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx0xxxxxxxxxx11xxx umlsll. */ - return 2833; + return 2839; } else { @@ -1493,7 +1493,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx1xxxxxxxxxx11xxx umlsll. */ - return 2834; + return 2840; } } } @@ -1721,7 +1721,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011000xxxxxxx0xxxxxxx00xxx smlall. */ - return 2877; + return 2886; } else { @@ -1731,7 +1731,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxx0xx0xxxxxxx00xxx smlall. */ - return 2878; + return 2887; } else { @@ -1739,7 +1739,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxx1xx0xxxxxxx00xxx smlall. */ - return 2879; + return 2888; } } } @@ -1806,7 +1806,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011000xxxxxxx0xxxxxxx10xxx umlall. */ - return 2886; + return 2895; } else { @@ -1816,7 +1816,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxx0xx0xxxxxxx10xxx umlall. */ - return 2887; + return 2896; } else { @@ -1824,7 +1824,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxx1xx0xxxxxxx10xxx umlall. */ - return 2888; + return 2897; } } } @@ -1884,7 +1884,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011000xxxxxxx0xxxxxxx01xxx smlsll. */ - return 2880; + return 2889; } else { @@ -1894,7 +1894,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011001xxxx0xx0xxxxxxx01xxx smlsll. */ - return 2881; + return 2890; } else { @@ -1902,7 +1902,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011001xxxx1xx0xxxxxxx01xxx smlsll. */ - return 2882; + return 2891; } } } @@ -1943,7 +1943,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001100xxxxxxxxxxxxxxxx01xxx umopa. */ - return 2840; + return 2846; } } else @@ -1958,7 +1958,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011000xxxxxxx0xxxxxxx11xxx umlsll. */ - return 2889; + return 2898; } else { @@ -1968,7 +1968,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011001xxxx0xx0xxxxxxx11xxx umlsll. */ - return 2890; + return 2899; } else { @@ -1976,7 +1976,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011001xxxx1xx0xxxxxxx11xxx umlsll. */ - return 2891; + return 2900; } } } @@ -2017,7 +2017,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001100xxxxxxxxxxxxxxxx11xxx umops. */ - return 2841; + return 2847; } } } @@ -2103,7 +2103,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx0xx0xxxxxx100xxx svdot. */ - return 2782; + return 2788; } else { @@ -2133,7 +2133,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx0xx1xxxxxx010xxx udot. */ - return 2788; + return 2794; } } else @@ -2144,7 +2144,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx0xx0xxxxxx110xxx uvdot. */ - return 2864; + return 2873; } else { @@ -2152,7 +2152,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx0xx1xxxxxx110xxx udot. */ - return 2794; + return 2800; } } } @@ -2232,7 +2232,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx1xx0xxxxxx100xxx svdot. */ - return 2783; + return 2789; } else { @@ -2262,7 +2262,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx1xx1xxxxxx010xxx udot. */ - return 2789; + return 2795; } } else @@ -2273,7 +2273,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx1xx0xxxxxx110xxx uvdot. */ - return 2865; + return 2874; } else { @@ -2281,7 +2281,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx1xx1xxxxxx110xxx udot. */ - return 2795; + return 2801; } } } @@ -2362,7 +2362,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx0xxxxxxxxx101xxx usdot. */ - return 2849; + return 2858; } } else @@ -2392,7 +2392,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx0xxxxxxxxx111xxx sudot. */ - return 2772; + return 2778; } } } @@ -2460,7 +2460,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx1xx0xxxxxx101xxx usvdot. */ - return 2863; + return 2872; } else { @@ -2468,7 +2468,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx1xx1xxxxxx101xxx usdot. */ - return 2850; + return 2859; } } } @@ -2490,7 +2490,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx1xx0xxxxxx111xxx suvdot. */ - return 2781; + return 2787; } else { @@ -2498,7 +2498,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx1xx1xxxxxx111xxx sudot. */ - return 2773; + return 2779; } } } @@ -2522,7 +2522,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx000001110xxxxx0xx0xxxxxxx00xxx fmla. */ - return 2893; + return 2902; } else { @@ -2530,7 +2530,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx000001110xxxxx1xx0xxxxxxx00xxx fmla. */ - return 2894; + return 2903; } } else @@ -2576,7 +2576,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx000001110xxxxx0xx00xxxxxx01xxx sdot. */ - return 2875; + return 2884; } else { @@ -2584,7 +2584,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx000001110xxxxx1xx00xxxxxx01xxx sdot. */ - return 2876; + return 2885; } } else @@ -2593,7 +2593,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx000001110xxxxxxxx01xxxxxx01xxx svdot. */ - return 2883; + return 2892; } } else @@ -2662,7 +2662,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx000001110xxxxx0xx0xxxxxxx10xxx fmls. */ - return 2895; + return 2904; } else { @@ -2670,7 +2670,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx000001110xxxxx1xx0xxxxxxx10xxx fmls. */ - return 2896; + return 2905; } } else @@ -2681,7 +2681,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011100xxxxxxx1xxxxxxx10xxx umlal. */ - return 2808; + return 2814; } else { @@ -2691,7 +2691,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011101xxxx0xx1xxxxxxx10xxx umlal. */ - return 2809; + return 2815; } else { @@ -2699,7 +2699,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011101xxxx1xx1xxxxxxx10xxx umlal. */ - return 2810; + return 2816; } } } @@ -2725,7 +2725,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx00001110xxxxx0xx00xxxxxx11xxx udot. */ - return 2884; + return 2893; } else { @@ -2733,7 +2733,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx00001110xxxxx1xx00xxxxxx11xxx udot. */ - return 2885; + return 2894; } } else @@ -2742,7 +2742,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx00001110xxxxxxxx01xxxxxx11xxx uvdot. */ - return 2892; + return 2901; } } else @@ -2753,7 +2753,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000011100xxxxxxx1xxxxxxx11xxx umlsl. */ - return 2824; + return 2830; } else { @@ -2763,7 +2763,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000011101xxxx0xx1xxxxxxx11xxx umlsl. */ - return 2825; + return 2831; } else { @@ -2771,7 +2771,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000011101xxxx1xx1xxxxxxx11xxx umlsl. */ - return 2826; + return 2832; } } } @@ -2868,7 +2868,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xx000xxxxx001xx usmlall. */ - return 2859; + return 2868; } else { @@ -2876,7 +2876,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xx000xxxxx001xx usmlall. */ - return 2860; + return 2869; } } else @@ -2887,7 +2887,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx000xxxxx001xx usmlall. */ - return 2861; + return 2870; } else { @@ -2895,7 +2895,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx000xxxxx001xx usmlall. */ - return 2862; + return 2871; } } } @@ -3092,7 +3092,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx0xx001xxxxx001xx usmlall. */ - return 2858; + return 2867; } } else @@ -3198,7 +3198,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xx000xxxxx100xx umlall. */ - return 2820; + return 2826; } else { @@ -3206,7 +3206,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xx000xxxxx100xx umlall. */ - return 2821; + return 2827; } } else @@ -3217,7 +3217,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx000xxxxx100xx umlall. */ - return 2822; + return 2828; } else { @@ -3225,7 +3225,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx000xxxxx100xx umlall. */ - return 2823; + return 2829; } } } @@ -3237,7 +3237,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx10xxxx0xx000xxxxx101xx sumlall. */ - return 2779; + return 2785; } else { @@ -3245,7 +3245,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx11xxxx0xx000xxxxx101xx sumlall. */ - return 2780; + return 2786; } } } @@ -3346,7 +3346,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010110xxxx0xx010xxxxx10xxx umlal. */ - return 2812; + return 2818; } else { @@ -3354,7 +3354,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010111xxxx0xx010xxxxx10xxx umlal. */ - return 2813; + return 2819; } } else @@ -3365,7 +3365,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx00xx010xxxxx10xxx umlal. */ - return 2814; + return 2820; } else { @@ -3373,7 +3373,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx10xx010xxxxx10xxx umlal. */ - return 2815; + return 2821; } } } @@ -3431,7 +3431,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx0xx001xxxxx10xxx umlall. */ - return 2819; + return 2825; } else { @@ -3443,7 +3443,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xx101xxxxx10xxx udot. */ - return 2796; + return 2802; } else { @@ -3451,7 +3451,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xx101xxxxx10xxx udot. */ - return 2797; + return 2803; } } else @@ -3462,7 +3462,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx101xxxxx10xxx udot. */ - return 2798; + return 2804; } else { @@ -3470,7 +3470,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx101xxxxx10xxx udot. */ - return 2799; + return 2805; } } } @@ -3493,7 +3493,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x11xxxxx0xx011xxxxx10xxx umlal. */ - return 2811; + return 2817; } } else @@ -3720,7 +3720,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010010xxxx0xx101xxxxx01xxx usdot. */ - return 2851; + return 2860; } else { @@ -3728,7 +3728,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010011xxxx0xx101xxxxx01xxx usdot. */ - return 2852; + return 2861; } } else @@ -3739,7 +3739,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101xxxx00xx101xxxxx01xxx usdot. */ - return 2853; + return 2862; } else { @@ -3747,7 +3747,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101xxxx10xx101xxxxx01xxx usdot. */ - return 2854; + return 2863; } } } @@ -3851,7 +3851,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xxx00xxxxx11xxx umlsll. */ - return 2836; + return 2842; } else { @@ -3859,7 +3859,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xxx00xxxxx11xxx umlsll. */ - return 2837; + return 2843; } } else @@ -3870,7 +3870,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xxx00xxxxx11xxx umlsll. */ - return 2838; + return 2844; } else { @@ -3878,7 +3878,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xxx00xxxxx11xxx umlsll. */ - return 2839; + return 2845; } } } @@ -3937,7 +3937,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010110xxxx0xx010xxxxx11xxx umlsl. */ - return 2828; + return 2834; } else { @@ -3945,7 +3945,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010111xxxx0xx010xxxxx11xxx umlsl. */ - return 2829; + return 2835; } } else @@ -3956,7 +3956,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx00xx010xxxxx11xxx umlsl. */ - return 2830; + return 2836; } else { @@ -3964,7 +3964,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx10xx010xxxxx11xxx umlsl. */ - return 2831; + return 2837; } } } @@ -3979,7 +3979,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xx110xxxxx11xxx sub. */ - return 2768; + return 2774; } else { @@ -3987,7 +3987,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xx110xxxxx11xxx sub. */ - return 2769; + return 2775; } } else @@ -3998,7 +3998,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx110xxxxx11xxx sub. */ - return 2770; + return 2776; } else { @@ -4006,7 +4006,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx110xxxxx11xxx sub. */ - return 2771; + return 2777; } } } @@ -4022,7 +4022,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx0xx001xxxxx11xxx umlsll. */ - return 2835; + return 2841; } else { @@ -4034,7 +4034,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x010xxxx0xx101xxxxx11xxx sudot. */ - return 2774; + return 2780; } else { @@ -4042,7 +4042,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x011xxxx0xx101xxxxx11xxx sudot. */ - return 2775; + return 2781; } } else @@ -4055,7 +4055,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010110xxxx0xx101xxxxx11xxx udot. */ - return 2790; + return 2796; } else { @@ -4063,7 +4063,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010111xxxx0xx101xxxxx11xxx udot. */ - return 2791; + return 2797; } } else @@ -4074,7 +4074,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx00xx101xxxxx11xxx udot. */ - return 2792; + return 2798; } else { @@ -4082,7 +4082,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx10xx101xxxxx11xxx udot. */ - return 2793; + return 2799; } } } @@ -4106,7 +4106,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x11xxxxx0xx011xxxxx11xxx umlsl. */ - return 2827; + return 2833; } } else @@ -4117,7 +4117,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxx00xx111xxxxx11xxx sub. */ - return 2766; + return 2772; } else { @@ -4125,7 +4125,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxx10xx111xxxxx11xxx sub. */ - return 2767; + return 2773; } } } @@ -4137,88 +4137,187 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 13) & 0x1) == 0) { - if (((word >> 0) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { - if (((word >> 14) & 0x1) == 0) + if (((word >> 16) & 0x1) == 0) { - if (((word >> 16) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1000001xx1xxxx0100xxxxxxxxxxxxx + sel. */ + return 2643; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1000001xx1xxxx1100xxxxxxxxxxxxx + sel. */ + return 2644; + } + } + else + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x1000001xx1xxxx0100xxxxxxxxxxxx0 - sel. */ - return 2643; + x1000001xx1xxxxx110x00xxxxxxxxxx + fclamp. */ + return 2466; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x1000001xx1xxxx1100xxxxxxxxxxxx0 - sel. */ - return 2644; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1000001xx1xxxxx110010xxxxxxxxxx + fclamp. */ + return 2467; + } + else + { + if (((word >> 5) & 0x1) == 0) + { + if (((word >> 6) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1000001xx1xxxxx110110xxx00xxxxx + sqrshr. */ + return 2698; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1000001xx1xxxxx110110xxx10xxxxx + sqrshru. */ + return 2701; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1000001xx1xxxxx110110xxxx1xxxxx + uqrshr. */ + return 2852; + } + } } } else { - if (((word >> 10) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - if (((word >> 11) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x1000001xx1xxxxx110x00xxxxxxxxx0 - fclamp. */ - return 2466; + if (((word >> 0) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1000001xx1xxxxx110001xxxxxxxxx0 + sclamp. */ + return 2627; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1000001xx1xxxxx110001xxxxxxxxx1 + uclamp. */ + return 2790; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x1000001xx1xxxxx110x10xxxxxxxxx0 - fclamp. */ - return 2467; + if (((word >> 5) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1000001xx10xxxx110101xxxx0xxxxx + sqrshr. */ + return 2697; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1000001xx11xxxx110101xxxx0xxxxx + sqrshru. */ + return 2700; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1000001xx1xxxxx110101xxxx1xxxxx + uqrshr. */ + return 2851; + } } } else { - if (((word >> 11) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x1000001xx1xxxxx110x01xxxxxxxxx0 - sclamp. */ - return 2627; + if (((word >> 0) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1000001xx1xxxxx110011xxxxxxxxx0 + sclamp. */ + return 2628; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1000001xx1xxxxx110011xxxxxxxxx1 + uclamp. */ + return 2791; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x1000001xx1xxxxx110x11xxxxxxxxx0 - sclamp. */ - return 2628; + if (((word >> 5) & 0x1) == 0) + { + if (((word >> 6) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1000001xx1xxxxx110111xxx00xxxxx + sqrshrn. */ + return 2699; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1000001xx1xxxxx110111xxx10xxxxx + sqrshrun. */ + return 2702; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1000001xx1xxxxx110111xxxx1xxxxx + uqrshrn. */ + return 2853; + } } } } } - else - { - if (((word >> 11) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x1000001xx1xxxxx1x0x0xxxxxxxxxx1 - uclamp. */ - return 2784; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x1000001xx1xxxxx1x0x1xxxxxxxxxx1 - uclamp. */ - return 2785; - } - } } else { @@ -4270,7 +4369,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx101000x0xx0xxxx1 umax. */ - return 2800; + return 2806; } else { @@ -4529,7 +4628,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1100x0xx0xxxx1 umax. */ - return 2802; + return 2808; } else { @@ -4606,7 +4705,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1010x0xx0xxxx1 umax. */ - return 2801; + return 2807; } else { @@ -4614,7 +4713,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1110x0xx0xxxx1 umax. */ - return 2803; + return 2809; } } else @@ -4707,7 +4806,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx10100x10xx1xxxx0 srshl. */ - return 2697; + return 2703; } } else @@ -4729,7 +4828,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx10100x00xx1xxxx1 umin. */ - return 2804; + return 2810; } else { @@ -4737,7 +4836,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx10100x10xx1xxxx1 urshl. */ - return 2845; + return 2854; } } else @@ -4781,7 +4880,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx10xx1011100xxxxx1xxxxx ucvtf. */ - return 2786; + return 2792; } else { @@ -4789,7 +4888,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx11xx1011100xxxxx1xxxxx ucvtf. */ - return 2787; + return 2793; } } } @@ -4822,7 +4921,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx10xx1111100xxxxx1xxxxx uqcvt. */ - return 2842; + return 2848; } else { @@ -4832,7 +4931,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx11xx1111100xxxx01xxxxx uqcvt. */ - return 2843; + return 2849; } else { @@ -4840,7 +4939,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx11xx1111100xxxx11xxxxx uqcvtn. */ - return 2844; + return 2850; } } } @@ -4867,7 +4966,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x110x10xx1xxxx0 srshl. */ - return 2699; + return 2705; } } else @@ -4889,7 +4988,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x110x00xx1xxxx1 umin. */ - return 2806; + return 2812; } else { @@ -4897,7 +4996,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x110x10xx1xxxx1 urshl. */ - return 2847; + return 2856; } } else @@ -4944,7 +5043,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x101x10xx1xxxx0 srshl. */ - return 2698; + return 2704; } else { @@ -4952,7 +5051,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x111x10xx1xxxx0 srshl. */ - return 2700; + return 2706; } } } @@ -4988,7 +5087,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x101x00xx1xxxx1 umin. */ - return 2805; + return 2811; } else { @@ -4996,7 +5095,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x111x00xx1xxxx1 umin. */ - return 2807; + return 2813; } } else @@ -5007,7 +5106,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x101x10xx1xxxx1 urshl. */ - return 2846; + return 2855; } else { @@ -5015,7 +5114,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x111x10xx1xxxx1 urshl. */ - return 2848; + return 2857; } } } @@ -5065,7 +5164,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001001xxxxx000xxxxxxxxx0xxx st1b. */ - return 2707; + return 2713; } else { @@ -5073,7 +5172,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001001xxxxx010xxxxxxxxx0xxx st1w. */ - return 2731; + return 2737; } } else @@ -5084,7 +5183,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001001xxxxx001xxxxxxxxx0xxx st1h. */ - return 2723; + return 2729; } else { @@ -5092,7 +5191,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001001xxxxx011xxxxxxxxx0xxx st1d. */ - return 2715; + return 2721; } } } @@ -5106,7 +5205,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001001xxxxx000xxxxxxxxx1xxx stnt1b. */ - return 2739; + return 2745; } else { @@ -5114,7 +5213,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001001xxxxx010xxxxxxxxx1xxx stnt1w. */ - return 2763; + return 2769; } } else @@ -5125,7 +5224,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001001xxxxx001xxxxxxxxx1xxx stnt1h. */ - return 2755; + return 2761; } else { @@ -5133,7 +5232,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001001xxxxx011xxxxxxxxx1xxx stnt1d. */ - return 2747; + return 2753; } } } @@ -5161,7 +5260,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001001xxxxx100xxxxxxxxx0xxx st1b. */ - return 2708; + return 2714; } else { @@ -5169,7 +5268,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1100001001xxxxx100xxxxxxxxx0xxx str. */ - return 2765; + return 2771; } } else @@ -5178,7 +5277,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001001xxxxx110xxxxxxxxx0xxx st1w. */ - return 2732; + return 2738; } } else @@ -5189,7 +5288,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001001xxxxx101xxxxxxxxx0xxx st1h. */ - return 2724; + return 2730; } else { @@ -5197,7 +5296,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001001xxxxx111xxxxxxxxx0xxx st1d. */ - return 2716; + return 2722; } } } @@ -5211,7 +5310,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001001xxxxx100xxxxxxxxx1xxx stnt1b. */ - return 2740; + return 2746; } else { @@ -5219,7 +5318,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001001xxxxx110xxxxxxxxx1xxx stnt1w. */ - return 2764; + return 2770; } } else @@ -5230,7 +5329,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001001xxxxx101xxxxxxxxx1xxx stnt1h. */ - return 2756; + return 2762; } else { @@ -5238,7 +5337,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001001xxxxx111xxxxxxxxx1xxx stnt1d. */ - return 2748; + return 2754; } } } @@ -5280,7 +5379,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx000xxxxxxxxx0xxx st1b. */ - return 2703; + return 2709; } else { @@ -5288,7 +5387,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx100xxxxxxxxx0xxx st1b. */ - return 2704; + return 2710; } } else @@ -5299,7 +5398,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx010xxxxxxxxx0xxx st1w. */ - return 2727; + return 2733; } else { @@ -5307,7 +5406,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx110xxxxxxxxx0xxx st1w. */ - return 2728; + return 2734; } } } @@ -5321,7 +5420,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx001xxxxxxxxx0xxx st1h. */ - return 2719; + return 2725; } else { @@ -5329,7 +5428,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx101xxxxxxxxx0xxx st1h. */ - return 2720; + return 2726; } } else @@ -5340,7 +5439,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx011xxxxxxxxx0xxx st1d. */ - return 2711; + return 2717; } else { @@ -5348,7 +5447,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx111xxxxxxxxx0xxx st1d. */ - return 2712; + return 2718; } } } @@ -5365,7 +5464,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx000xxxxxxxxx1xxx stnt1b. */ - return 2735; + return 2741; } else { @@ -5373,7 +5472,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx100xxxxxxxxx1xxx stnt1b. */ - return 2736; + return 2742; } } else @@ -5384,7 +5483,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx010xxxxxxxxx1xxx stnt1w. */ - return 2759; + return 2765; } else { @@ -5392,7 +5491,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx110xxxxxxxxx1xxx stnt1w. */ - return 2760; + return 2766; } } } @@ -5406,7 +5505,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx001xxxxxxxxx1xxx stnt1h. */ - return 2751; + return 2757; } else { @@ -5414,7 +5513,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx101xxxxxxxxx1xxx stnt1h. */ - return 2752; + return 2758; } } else @@ -5425,7 +5524,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx011xxxxxxxxx1xxx stnt1d. */ - return 2743; + return 2749; } else { @@ -5433,7 +5532,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx111xxxxxxxxx1xxx stnt1d. */ - return 2744; + return 2750; } } } @@ -7835,7 +7934,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00011001000xxxxxxxxx00xxxxxxxxxx stlurb. */ - return 2937; + return 2946; } else { @@ -7843,7 +7942,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 10011001000xxxxxxxxx00xxxxxxxxxx stlur. */ - return 2945; + return 2954; } } else @@ -7854,7 +7953,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01011001000xxxxxxxxx00xxxxxxxxxx stlurh. */ - return 2941; + return 2950; } else { @@ -7862,7 +7961,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 11011001000xxxxxxxxx00xxxxxxxxxx stlur. */ - return 2948; + return 2957; } } } @@ -7900,7 +7999,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx0000x1xxxxxxxxxx cpyfp. */ - return 2997; + return 3006; } else { @@ -7908,7 +8007,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx1000x1xxxxxxxxxx cpyfprn. */ - return 3003; + return 3012; } } else @@ -7919,7 +8018,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx0100x1xxxxxxxxxx cpyfpwn. */ - return 3000; + return 3009; } else { @@ -7927,7 +8026,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx1100x1xxxxxxxxxx cpyfpn. */ - return 3006; + return 3015; } } } @@ -7941,7 +8040,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx0010x1xxxxxxxxxx cpyfprt. */ - return 3021; + return 3030; } else { @@ -7949,7 +8048,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx1010x1xxxxxxxxxx cpyfprtrn. */ - return 3027; + return 3036; } } else @@ -7960,7 +8059,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx0110x1xxxxxxxxxx cpyfprtwn. */ - return 3024; + return 3033; } else { @@ -7968,7 +8067,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx1110x1xxxxxxxxxx cpyfprtn. */ - return 3030; + return 3039; } } } @@ -7985,7 +8084,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx0001x1xxxxxxxxxx cpyfpwt. */ - return 3009; + return 3018; } else { @@ -7993,7 +8092,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx1001x1xxxxxxxxxx cpyfpwtrn. */ - return 3015; + return 3024; } } else @@ -8004,7 +8103,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx0101x1xxxxxxxxxx cpyfpwtwn. */ - return 3012; + return 3021; } else { @@ -8012,7 +8111,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx1101x1xxxxxxxxxx cpyfpwtn. */ - return 3018; + return 3027; } } } @@ -8026,7 +8125,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx0011x1xxxxxxxxxx cpyfpt. */ - return 3033; + return 3042; } else { @@ -8034,7 +8133,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx1011x1xxxxxxxxxx cpyfptrn. */ - return 3039; + return 3048; } } else @@ -8045,7 +8144,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx0111x1xxxxxxxxxx cpyfptwn. */ - return 3036; + return 3045; } else { @@ -8053,7 +8152,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx1111x1xxxxxxxxxx cpyfptn. */ - return 3042; + return 3051; } } } @@ -8118,7 +8217,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00011001010xxxxxxxxx00xxxxxxxxxx ldapurb. */ - return 2938; + return 2947; } else { @@ -8126,7 +8225,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 10011001010xxxxxxxxx00xxxxxxxxxx ldapur. */ - return 2946; + return 2955; } } else @@ -8137,7 +8236,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01011001010xxxxxxxxx00xxxxxxxxxx ldapurh. */ - return 2942; + return 2951; } else { @@ -8145,7 +8244,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 11011001010xxxxxxxxx00xxxxxxxxxx ldapur. */ - return 2949; + return 2958; } } } @@ -8183,7 +8282,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx0000x1xxxxxxxxxx cpyfm. */ - return 2998; + return 3007; } else { @@ -8191,7 +8290,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx1000x1xxxxxxxxxx cpyfmrn. */ - return 3004; + return 3013; } } else @@ -8202,7 +8301,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx0100x1xxxxxxxxxx cpyfmwn. */ - return 3001; + return 3010; } else { @@ -8210,7 +8309,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx1100x1xxxxxxxxxx cpyfmn. */ - return 3007; + return 3016; } } } @@ -8224,7 +8323,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx0010x1xxxxxxxxxx cpyfmrt. */ - return 3022; + return 3031; } else { @@ -8232,7 +8331,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx1010x1xxxxxxxxxx cpyfmrtrn. */ - return 3028; + return 3037; } } else @@ -8243,7 +8342,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx0110x1xxxxxxxxxx cpyfmrtwn. */ - return 3025; + return 3034; } else { @@ -8251,7 +8350,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx1110x1xxxxxxxxxx cpyfmrtn. */ - return 3031; + return 3040; } } } @@ -8268,7 +8367,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx0001x1xxxxxxxxxx cpyfmwt. */ - return 3010; + return 3019; } else { @@ -8276,7 +8375,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx1001x1xxxxxxxxxx cpyfmwtrn. */ - return 3016; + return 3025; } } else @@ -8287,7 +8386,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx0101x1xxxxxxxxxx cpyfmwtwn. */ - return 3013; + return 3022; } else { @@ -8295,7 +8394,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx1101x1xxxxxxxxxx cpyfmwtn. */ - return 3019; + return 3028; } } } @@ -8309,7 +8408,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx0011x1xxxxxxxxxx cpyfmt. */ - return 3034; + return 3043; } else { @@ -8317,7 +8416,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx1011x1xxxxxxxxxx cpyfmtrn. */ - return 3040; + return 3049; } } else @@ -8328,7 +8427,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx0111x1xxxxxxxxxx cpyfmtwn. */ - return 3037; + return 3046; } else { @@ -8336,7 +8435,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx1111x1xxxxxxxxxx cpyfmtn. */ - return 3043; + return 3052; } } } @@ -8404,7 +8503,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00011001100xxxxxxxxx00xxxxxxxxxx ldapursb. */ - return 2940; + return 2949; } else { @@ -8412,7 +8511,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 10011001100xxxxxxxxx00xxxxxxxxxx ldapursw. */ - return 2947; + return 2956; } } else @@ -8421,7 +8520,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1011001100xxxxxxxxx00xxxxxxxxxx ldapursh. */ - return 2944; + return 2953; } } else @@ -8432,7 +8531,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011001110xxxxxxxxx00xxxxxxxxxx ldapursb. */ - return 2939; + return 2948; } else { @@ -8440,7 +8539,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1011001110xxxxxxxxx00xxxxxxxxxx ldapursh. */ - return 2943; + return 2952; } } } @@ -8502,7 +8601,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx0000x1xxxxxxxxxx cpyfe. */ - return 2999; + return 3008; } else { @@ -8510,7 +8609,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx0000x1xxxxxxxxxx setp. */ - return 3093; + return 3102; } } else @@ -8521,7 +8620,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx1000x1xxxxxxxxxx cpyfern. */ - return 3005; + return 3014; } else { @@ -8529,7 +8628,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx1000x1xxxxxxxxxx sete. */ - return 3095; + return 3104; } } } @@ -8543,7 +8642,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx0100x1xxxxxxxxxx cpyfewn. */ - return 3002; + return 3011; } else { @@ -8551,7 +8650,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx0100x1xxxxxxxxxx setm. */ - return 3094; + return 3103; } } else @@ -8560,7 +8659,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0110011x0xxxxx1100x1xxxxxxxxxx cpyfen. */ - return 3008; + return 3017; } } } @@ -8576,7 +8675,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx0010x1xxxxxxxxxx cpyfert. */ - return 3023; + return 3032; } else { @@ -8584,7 +8683,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx0010x1xxxxxxxxxx setpn. */ - return 3099; + return 3108; } } else @@ -8595,7 +8694,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx1010x1xxxxxxxxxx cpyfertrn. */ - return 3029; + return 3038; } else { @@ -8603,7 +8702,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx1010x1xxxxxxxxxx seten. */ - return 3101; + return 3110; } } } @@ -8617,7 +8716,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx0110x1xxxxxxxxxx cpyfertwn. */ - return 3026; + return 3035; } else { @@ -8625,7 +8724,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx0110x1xxxxxxxxxx setmn. */ - return 3100; + return 3109; } } else @@ -8634,7 +8733,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0110011x0xxxxx1110x1xxxxxxxxxx cpyfertn. */ - return 3032; + return 3041; } } } @@ -8653,7 +8752,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx0001x1xxxxxxxxxx cpyfewt. */ - return 3011; + return 3020; } else { @@ -8661,7 +8760,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx0001x1xxxxxxxxxx setpt. */ - return 3096; + return 3105; } } else @@ -8672,7 +8771,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx1001x1xxxxxxxxxx cpyfewtrn. */ - return 3017; + return 3026; } else { @@ -8680,7 +8779,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx1001x1xxxxxxxxxx setet. */ - return 3098; + return 3107; } } } @@ -8694,7 +8793,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx0101x1xxxxxxxxxx cpyfewtwn. */ - return 3014; + return 3023; } else { @@ -8702,7 +8801,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx0101x1xxxxxxxxxx setmt. */ - return 3097; + return 3106; } } else @@ -8711,7 +8810,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0110011x0xxxxx1101x1xxxxxxxxxx cpyfewtn. */ - return 3020; + return 3029; } } } @@ -8727,7 +8826,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx0011x1xxxxxxxxxx cpyfet. */ - return 3035; + return 3044; } else { @@ -8735,7 +8834,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx0011x1xxxxxxxxxx setptn. */ - return 3102; + return 3111; } } else @@ -8746,7 +8845,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx1011x1xxxxxxxxxx cpyfetrn. */ - return 3041; + return 3050; } else { @@ -8754,7 +8853,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx1011x1xxxxxxxxxx setetn. */ - return 3104; + return 3113; } } } @@ -8768,7 +8867,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx0111x1xxxxxxxxxx cpyfetwn. */ - return 3038; + return 3047; } else { @@ -8776,7 +8875,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx0111x1xxxxxxxxxx setmtn. */ - return 3103; + return 3112; } } else @@ -8785,7 +8884,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0110011x0xxxxx1111x1xxxxxxxxxx cpyfetn. */ - return 3044; + return 3053; } } } @@ -9158,7 +9257,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1x11010110xxxx0x01000xxxxxxxxxx abs. */ - return 3122; + return 3131; } else { @@ -9176,7 +9275,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010110xxxxxx11000xxxxxxxxxx smax. */ - return 3125; + return 3134; } } } @@ -9256,7 +9355,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010x00xxxxxx0xx10xxxxxxxxxx setf8. */ - return 2935; + return 2944; } else { @@ -9264,7 +9363,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010x00xxxxxx1xx10xxxxxxxxxx setf16. */ - return 2936; + return 2945; } } else @@ -9371,7 +9470,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010110xxxxxx11010xxxxxxxxxx smin. */ - return 3127; + return 3136; } } } @@ -9387,7 +9486,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010110xxxx0x00110xxxxxxxxxx ctz. */ - return 3124; + return 3133; } else { @@ -9432,7 +9531,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010000xxxxxxxxx01xxxxxxxxxx rmif. */ - return 2934; + return 2943; } else { @@ -9526,7 +9625,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010x10xxxxxx11001xxxxxxxxxx umax. */ - return 3126; + return 3135; } } } @@ -9656,7 +9755,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010xx0xxxxxx11011xxxxxxxxxx umin. */ - return 3128; + return 3137; } } } @@ -9672,7 +9771,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010xx0xxxx0x00111xxxxxxxxxx cnt. */ - return 3123; + return 3132; } else { @@ -10514,7 +10613,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x01x1xxxxx000110xxxxxxxxxx usdot. */ - return 2954; + return 2963; } } } @@ -10588,7 +10687,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x01x1xxxxx000111xxxxxxxxxx sudot. */ - return 2955; + return 2964; } } } @@ -13262,7 +13361,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx011110xxxxxxxxxx usdot. */ - return 2953; + return 2962; } } } @@ -14966,7 +15065,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0100xxx10101xxxxxxxxxxxxx bfcvtnt. */ - return 2982; + return 2991; } } else @@ -15209,7 +15308,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x00x1xxxxxx00xxxxxxxxxxxxx ld1rob. */ - return 2958; + return 2967; } else { @@ -15217,7 +15316,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x01x1xxxxxx00xxxxxxxxxxxxx ld1roh. */ - return 2959; + return 2968; } } else @@ -15449,7 +15548,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0011xxxxx010xxxxxxxxxxxxx bfdot. */ - return 2979; + return 2988; } else { @@ -15470,7 +15569,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0111xxxxx010xx0xxxxxxxxxx bfmlalb. */ - return 2986; + return 2995; } else { @@ -15478,7 +15577,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0111xxxxx010xx1xxxxxxxxxx bfmlalt. */ - return 2985; + return 2994; } } else @@ -15533,7 +15632,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0011xxxxx1x0xxxxxxxxxxxxx bfdot. */ - return 2978; + return 2987; } else { @@ -15545,7 +15644,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0111xxxxx1x0xx0xxxxxxxxxx bfmlalb. */ - return 2984; + return 2993; } else { @@ -15553,7 +15652,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0111xxxxx1x0xx1xxxxxxxxxx bfmlalt. */ - return 2983; + return 2992; } } else @@ -15604,7 +15703,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x00x1xxxxx001xxxxxxxxxxxxx ld1rob. */ - return 2962; + return 2971; } else { @@ -15612,7 +15711,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x01x1xxxxx001xxxxxxxxxxxxx ld1roh. */ - return 2963; + return 2972; } } else @@ -15971,7 +16070,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0101xxxxx111xxxxxxxxxxxxx fmmla. */ - return 2956; + return 2965; } else { @@ -16004,7 +16103,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0011xxxxx111xxxxxxxxxxxxx bfmmla. */ - return 2980; + return 2989; } else { @@ -16034,7 +16133,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0111xxxxx111xxxxxxxxxxxxx fmmla. */ - return 2957; + return 2966; } else { @@ -16163,7 +16262,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1101xxxxx000x00xxxxxxxxxx zip1. */ - return 2966; + return 2975; } else { @@ -16173,7 +16272,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1101xxxxx000010xxxxxxxxxx uzp1. */ - return 2968; + return 2977; } else { @@ -16181,7 +16280,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1101xxxxx000110xxxxxxxxxx trn1. */ - return 2970; + return 2979; } } } @@ -16193,7 +16292,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1101xxxxx000x01xxxxxxxxxx zip2. */ - return 2967; + return 2976; } else { @@ -16203,7 +16302,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1101xxxxx000011xxxxxxxxxx uzp2. */ - return 2969; + return 2978; } else { @@ -16211,7 +16310,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1101xxxxx000111xxxxxxxxxx trn2. */ - return 2971; + return 2980; } } } @@ -17270,7 +17369,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1000xxxxx100110xxxxxxxxxx smmla. */ - return 2950; + return 2959; } else { @@ -17278,7 +17377,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1100xxxxx100110xxxxxxxxxx usmmla. */ - return 2952; + return 2961; } } else @@ -17287,7 +17386,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1x10xxxxx100110xxxxxxxxxx ummla. */ - return 2951; + return 2960; } } } @@ -18783,7 +18882,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x10x1xxxxx000xxxxxxxxxxxxx ld1row. */ - return 2960; + return 2969; } else { @@ -18791,7 +18890,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x11x1xxxxx000xxxxxxxxxxxxx ld1rod. */ - return 2961; + return 2970; } } } @@ -19165,7 +19264,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x10x1xxxxx001xxxxxxxxxxxxx ld1row. */ - return 2964; + return 2973; } else { @@ -19173,7 +19272,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x11x1xxxxx001xxxxxxxxxxxxx ld1rod. */ - return 2965; + return 2974; } } } @@ -19534,7 +19633,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx01x000xxxxx10xxx whilege. */ - return 2866; + return 2875; } else { @@ -19542,7 +19641,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx01x000xxxxx11xxx whilegt. */ - return 2867; + return 2876; } } else @@ -19586,7 +19685,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx01x010xxxxx10xxx whilehs. */ - return 2869; + return 2878; } else { @@ -19594,7 +19693,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx01x010xxxxx11xxx whilehi. */ - return 2868; + return 2877; } } else @@ -19641,7 +19740,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx01x001xxxxx10xxx whilelt. */ - return 2873; + return 2882; } else { @@ -19649,7 +19748,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx01x001xxxxx11xxx whilele. */ - return 2870; + return 2879; } } else @@ -19693,7 +19792,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx01x011xxxxx10xxx whilelo. */ - return 2871; + return 2880; } else { @@ -19701,7 +19800,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx01x011xxxxx11xxx whilels. */ - return 2872; + return 2881; } } else @@ -20827,7 +20926,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x110001x10101xxxxxxxxxxxxx bfcvt. */ - return 2981; + return 2990; } } else @@ -22188,7 +22287,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1010100xxxxxxxxxxxxxxxxxxx1xxxx bc.c. */ - return 3117; + return 3126; } else { @@ -22768,7 +22867,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx0000xxxxxxxxxxxx cpyp. */ - return 3045; + return 3054; } else { @@ -22776,7 +22875,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx0000xxxxxxxxxxxx cpye. */ - return 3047; + return 3056; } } else @@ -22787,7 +22886,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx1000xxxxxxxxxxxx cpyprn. */ - return 3051; + return 3060; } else { @@ -22795,7 +22894,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx1000xxxxxxxxxxxx cpyern. */ - return 3053; + return 3062; } } } @@ -22809,7 +22908,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx0100xxxxxxxxxxxx cpypwn. */ - return 3048; + return 3057; } else { @@ -22817,7 +22916,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx0100xxxxxxxxxxxx cpyewn. */ - return 3050; + return 3059; } } else @@ -22828,7 +22927,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx1100xxxxxxxxxxxx cpypn. */ - return 3054; + return 3063; } else { @@ -22836,7 +22935,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx1100xxxxxxxxxxxx cpyen. */ - return 3056; + return 3065; } } } @@ -22853,7 +22952,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx0010xxxxxxxxxxxx cpyprt. */ - return 3069; + return 3078; } else { @@ -22861,7 +22960,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx0010xxxxxxxxxxxx cpyert. */ - return 3071; + return 3080; } } else @@ -22872,7 +22971,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx1010xxxxxxxxxxxx cpyprtrn. */ - return 3075; + return 3084; } else { @@ -22880,7 +22979,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx1010xxxxxxxxxxxx cpyertrn. */ - return 3077; + return 3086; } } } @@ -22894,7 +22993,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx0110xxxxxxxxxxxx cpyprtwn. */ - return 3072; + return 3081; } else { @@ -22902,7 +23001,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx0110xxxxxxxxxxxx cpyertwn. */ - return 3074; + return 3083; } } else @@ -22913,7 +23012,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx1110xxxxxxxxxxxx cpyprtn. */ - return 3078; + return 3087; } else { @@ -22921,7 +23020,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx1110xxxxxxxxxxxx cpyertn. */ - return 3080; + return 3089; } } } @@ -22941,7 +23040,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx0001xxxxxxxxxxxx cpypwt. */ - return 3057; + return 3066; } else { @@ -22949,7 +23048,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx0001xxxxxxxxxxxx cpyewt. */ - return 3059; + return 3068; } } else @@ -22960,7 +23059,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx1001xxxxxxxxxxxx cpypwtrn. */ - return 3063; + return 3072; } else { @@ -22968,7 +23067,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx1001xxxxxxxxxxxx cpyewtrn. */ - return 3065; + return 3074; } } } @@ -22982,7 +23081,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx0101xxxxxxxxxxxx cpypwtwn. */ - return 3060; + return 3069; } else { @@ -22990,7 +23089,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx0101xxxxxxxxxxxx cpyewtwn. */ - return 3062; + return 3071; } } else @@ -23001,7 +23100,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx1101xxxxxxxxxxxx cpypwtn. */ - return 3066; + return 3075; } else { @@ -23009,7 +23108,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx1101xxxxxxxxxxxx cpyewtn. */ - return 3068; + return 3077; } } } @@ -23026,7 +23125,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx0011xxxxxxxxxxxx cpypt. */ - return 3081; + return 3090; } else { @@ -23034,7 +23133,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx0011xxxxxxxxxxxx cpyet. */ - return 3083; + return 3092; } } else @@ -23045,7 +23144,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx1011xxxxxxxxxxxx cpyptrn. */ - return 3087; + return 3096; } else { @@ -23053,7 +23152,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx1011xxxxxxxxxxxx cpyetrn. */ - return 3089; + return 3098; } } } @@ -23067,7 +23166,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx0111xxxxxxxxxxxx cpyptwn. */ - return 3084; + return 3093; } else { @@ -23075,7 +23174,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx0111xxxxxxxxxxxx cpyetwn. */ - return 3086; + return 3095; } } else @@ -23086,7 +23185,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx1111xxxxxxxxxxxx cpyptn. */ - return 3090; + return 3099; } else { @@ -23094,7 +23193,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx1111xxxxxxxxxxxx cpyetn. */ - return 3092; + return 3101; } } } @@ -23128,7 +23227,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx0000xxxxxxxxxxxx cpym. */ - return 3046; + return 3055; } else { @@ -23136,7 +23235,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx0000xxxxxxxxxxxx setgp. */ - return 3105; + return 3114; } } else @@ -23147,7 +23246,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx1000xxxxxxxxxxxx cpymrn. */ - return 3052; + return 3061; } else { @@ -23155,7 +23254,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx1000xxxxxxxxxxxx setge. */ - return 3107; + return 3116; } } } @@ -23169,7 +23268,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx0100xxxxxxxxxxxx cpymwn. */ - return 3049; + return 3058; } else { @@ -23177,7 +23276,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx0100xxxxxxxxxxxx setgm. */ - return 3106; + return 3115; } } else @@ -23186,7 +23285,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011101x1xxxxxx1100xxxxxxxxxxxx cpymn. */ - return 3055; + return 3064; } } } @@ -23202,7 +23301,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx0010xxxxxxxxxxxx cpymrt. */ - return 3070; + return 3079; } else { @@ -23210,7 +23309,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx0010xxxxxxxxxxxx setgpn. */ - return 3111; + return 3120; } } else @@ -23221,7 +23320,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx1010xxxxxxxxxxxx cpymrtrn. */ - return 3076; + return 3085; } else { @@ -23229,7 +23328,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx1010xxxxxxxxxxxx setgen. */ - return 3113; + return 3122; } } } @@ -23243,7 +23342,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx0110xxxxxxxxxxxx cpymrtwn. */ - return 3073; + return 3082; } else { @@ -23251,7 +23350,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx0110xxxxxxxxxxxx setgmn. */ - return 3112; + return 3121; } } else @@ -23260,7 +23359,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011101x1xxxxxx1110xxxxxxxxxxxx cpymrtn. */ - return 3079; + return 3088; } } } @@ -23279,7 +23378,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx0001xxxxxxxxxxxx cpymwt. */ - return 3058; + return 3067; } else { @@ -23287,7 +23386,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx0001xxxxxxxxxxxx setgpt. */ - return 3108; + return 3117; } } else @@ -23298,7 +23397,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx1001xxxxxxxxxxxx cpymwtrn. */ - return 3064; + return 3073; } else { @@ -23306,7 +23405,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx1001xxxxxxxxxxxx setget. */ - return 3110; + return 3119; } } } @@ -23320,7 +23419,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx0101xxxxxxxxxxxx cpymwtwn. */ - return 3061; + return 3070; } else { @@ -23328,7 +23427,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx0101xxxxxxxxxxxx setgmt. */ - return 3109; + return 3118; } } else @@ -23337,7 +23436,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011101x1xxxxxx1101xxxxxxxxxxxx cpymwtn. */ - return 3067; + return 3076; } } } @@ -23353,7 +23452,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx0011xxxxxxxxxxxx cpymt. */ - return 3082; + return 3091; } else { @@ -23361,7 +23460,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx0011xxxxxxxxxxxx setgptn. */ - return 3114; + return 3123; } } else @@ -23372,7 +23471,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx1011xxxxxxxxxxxx cpymtrn. */ - return 3088; + return 3097; } else { @@ -23380,7 +23479,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx1011xxxxxxxxxxxx setgetn. */ - return 3116; + return 3125; } } } @@ -23394,7 +23493,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx0111xxxxxxxxxxxx cpymtwn. */ - return 3085; + return 3094; } else { @@ -23402,7 +23501,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx0111xxxxxxxxxxxx setgmtn. */ - return 3115; + return 3124; } } else @@ -23411,7 +23510,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011101x1xxxxxx1111xxxxxxxxxxxx cpymtn. */ - return 3091; + return 3100; } } } @@ -23578,7 +23677,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110xx0xxxxx1x1001xxxxxxxxxx smmla. */ - return 2972; + return 2981; } } } @@ -23611,7 +23710,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110xx0xxxxx1x0101xxxxxxxxxx sdot. */ - return 2898; + return 2907; } } else @@ -23685,7 +23784,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110xx0xxxxx1x1011xxxxxxxxxx usmmla. */ - return 2974; + return 2983; } } } @@ -23718,7 +23817,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110xx0xxxxx1x0111xxxxxxxxxx usdot. */ - return 2975; + return 2984; } } else @@ -23765,7 +23864,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110000xxxxxxxxxxxxxxxxxxxxx eor3. */ - return 2905; + return 2914; } else { @@ -23773,7 +23872,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110100xxxxxxxxxxxxxxxxxxxxx xar. */ - return 2907; + return 2916; } } else @@ -23784,7 +23883,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110x10xxxxx0xxxxxxxxxxxxxxx sm3ss1. */ - return 2909; + return 2918; } else { @@ -23798,7 +23897,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110010xxxxx1xxx00xxxxxxxxxx sm3tt1a. */ - return 2910; + return 2919; } else { @@ -23806,7 +23905,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110110xxxxx1xxx00xxxxxxxxxx sha512su0. */ - return 2903; + return 2912; } } else @@ -23815,7 +23914,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110x10xxxxx1xxx10xxxxxxxxxx sm3tt2a. */ - return 2912; + return 2921; } } else @@ -23828,7 +23927,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110010xxxxx1xxx01xxxxxxxxxx sm3tt1b. */ - return 2911; + return 2920; } else { @@ -23836,7 +23935,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110110xxxxx1xxx01xxxxxxxxxx sm4e. */ - return 2916; + return 2925; } } else @@ -23845,7 +23944,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110x10xxxxx1xxx11xxxxxxxxxx sm3tt2b. */ - return 2913; + return 2922; } } } @@ -24026,7 +24125,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx101110xx0xxxxx100101xxxxxxxxxx udot. */ - return 2897; + return 2906; } } else @@ -24057,7 +24156,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx101110xx0xxxxx101x01xxxxxxxxxx ummla. */ - return 2973; + return 2982; } else { @@ -24076,7 +24175,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx101110xx0xxxxx1x1011xxxxxxxxxx bfmmla. */ - return 2989; + return 2998; } else { @@ -24086,7 +24185,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx1011100x0xxxxx1x1111xxxxxxxxxx bfdot. */ - return 2987; + return 2996; } else { @@ -24096,7 +24195,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01011101x0xxxxx1x1111xxxxxxxxxx bfmlalb. */ - return 2994; + return 3003; } else { @@ -24104,7 +24203,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11011101x0xxxxx1x1111xxxxxxxxxx bfmlalt. */ - return 2993; + return 3002; } } } @@ -24688,7 +24787,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000011101x1xxxx1011010xxxxxxxxxx bfcvtn. */ - return 2990; + return 2999; } else { @@ -24696,7 +24795,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010011101x1xxxx1011010xxxxxxxxxx bfcvtn2. */ - return 2991; + return 3000; } } } @@ -25014,7 +25113,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110xx1xxxxx0xxxxxxxxxxxxxxx bcax. */ - return 2908; + return 2917; } } else @@ -25625,7 +25724,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 11001110xx1xxxxx100000xxxxxxxxxx sha512h. */ - return 2901; + return 2910; } } } @@ -25677,7 +25776,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 11001110xx1xxxxx110000xxxxxxxxxx sm3partw1. */ - return 2914; + return 2923; } } } @@ -25920,7 +26019,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110xx1xxxxx100010xxxxxxxxxx sha512su1. */ - return 2904; + return 2913; } } else @@ -25996,7 +26095,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x0011100x1xxxxx110010xxxxxxxxxx sm4ekey. */ - return 2917; + return 2926; } } else @@ -26822,7 +26921,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110xx1xxxxx100001xxxxxxxxxx sha512h2. */ - return 2902; + return 2911; } } else @@ -26854,7 +26953,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x0011100x1xxxxx110001xxxxxxxxxx sm3partw2. */ - return 2915; + return 2924; } } else @@ -27094,7 +27193,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110xx1xxxxx100011xxxxxxxxxx rax1. */ - return 2906; + return 2915; } } else @@ -27126,7 +27225,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01011100x1xxxxx110011xxxxxxxxxx fmlal2. */ - return 2920; + return 2929; } else { @@ -27134,7 +27233,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11011100x1xxxxx110011xxxxxxxxxx fmlal2. */ - return 2924; + return 2933; } } } @@ -27156,7 +27255,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01011101x1xxxxx110011xxxxxxxxxx fmlsl2. */ - return 2921; + return 2930; } else { @@ -27164,7 +27263,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11011101x1xxxxx110011xxxxxxxxxx fmlsl2. */ - return 2925; + return 2934; } } } @@ -27203,7 +27302,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x00011100x1xxxxx111011xxxxxxxxxx fmlal. */ - return 2918; + return 2927; } else { @@ -27211,7 +27310,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10011100x1xxxxx111011xxxxxxxxxx fmlal. */ - return 2922; + return 2931; } } else @@ -27233,7 +27332,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x00011101x1xxxxx111011xxxxxxxxxx fmlsl. */ - return 2919; + return 2928; } else { @@ -27241,7 +27340,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10011101x1xxxxx111011xxxxxxxxxx fmlsl. */ - return 2923; + return 2932; } } else @@ -29049,7 +29148,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0001111xxxxxxxx0000x0xxxxxxxxxx fmlal. */ - return 2926; + return 2935; } else { @@ -29057,7 +29156,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1001111xxxxxxxx0000x0xxxxxxxxxx fmlal. */ - return 2930; + return 2939; } } else @@ -29079,7 +29178,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0001111xxxxxxxx0100x0xxxxxxxxxx fmlsl. */ - return 2927; + return 2936; } else { @@ -29087,7 +29186,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1001111xxxxxxxx0100x0xxxxxxxxxx fmlsl. */ - return 2931; + return 2940; } } else @@ -29593,7 +29692,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0101111xxxxxxxx1000x0xxxxxxxxxx fmlal2. */ - return 2928; + return 2937; } else { @@ -29601,7 +29700,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1101111xxxxxxxx1000x0xxxxxxxxxx fmlal2. */ - return 2932; + return 2941; } } } @@ -29623,7 +29722,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0101111xxxxxxxx1100x0xxxxxxxxxx fmlsl2. */ - return 2929; + return 2938; } else { @@ -29631,7 +29730,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1101111xxxxxxxx1100x0xxxxxxxxxx fmlsl2. */ - return 2933; + return 2942; } } } @@ -29687,7 +29786,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx001111xxxxxxxx1110x0xxxxxxxxxx sdot. */ - return 2900; + return 2909; } else { @@ -29695,7 +29794,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx101111xxxxxxxx1110x0xxxxxxxxxx udot. */ - return 2899; + return 2908; } } } @@ -29798,7 +29897,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx00111100xxxxxx1111x0xxxxxxxxxx sudot. */ - return 2977; + return 2986; } else { @@ -29806,7 +29905,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx00111110xxxxxx1111x0xxxxxxxxxx usdot. */ - return 2976; + return 2985; } } else @@ -29817,7 +29916,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx00111101xxxxxx1111x0xxxxxxxxxx bfdot. */ - return 2988; + return 2997; } else { @@ -29827,7 +29926,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x000111111xxxxxx1111x0xxxxxxxxxx bfmlalb. */ - return 2996; + return 3005; } else { @@ -29835,7 +29934,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x100111111xxxxxx1111x0xxxxxxxxxx bfmlalt. */ - return 2995; + return 3004; } } } @@ -30363,11 +30462,11 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode) case 2407: value = 2412; break; /* st1q --> st1q. */ case 2412: return NULL; /* st1q --> NULL. */ case 12: value = 19; break; /* add --> addg. */ - case 19: value = 3118; break; /* addg --> smax. */ - case 3118: value = 3119; break; /* smax --> umax. */ - case 3119: value = 3120; break; /* umax --> smin. */ - case 3120: value = 3121; break; /* smin --> umin. */ - case 3121: return NULL; /* umin --> NULL. */ + case 19: value = 3127; break; /* addg --> smax. */ + case 3127: value = 3128; break; /* smax --> umax. */ + case 3128: value = 3129; break; /* umax --> smin. */ + case 3129: value = 3130; break; /* smin --> umin. */ + case 3130: return NULL; /* umin --> NULL. */ case 16: value = 20; break; /* sub --> subg. */ case 20: return NULL; /* subg --> NULL. */ case 971: value = 975; break; /* stnp --> stp. */ @@ -30525,8 +30624,8 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode) case 824: return NULL; /* fsqrt --> NULL. */ case 832: value = 833; break; /* frintz --> frintz. */ case 833: return NULL; /* frintz --> NULL. */ - case 825: value = 2992; break; /* fcvt --> bfcvt. */ - case 2992: return NULL; /* bfcvt --> NULL. */ + case 825: value = 3001; break; /* fcvt --> bfcvt. */ + case 3001: return NULL; /* bfcvt --> NULL. */ case 834: value = 835; break; /* frinta --> frinta. */ case 835: return NULL; /* frinta --> NULL. */ case 836: value = 837; break; /* frintx --> frintx. */ @@ -31055,7 +31154,7 @@ aarch64_extract_operand (const aarch64_operand *self, case 33: case 34: case 35: - case 268: + case 270: return aarch64_ext_reglane (self, info, code, inst, errors); case 36: return aarch64_ext_reglist (self, info, code, inst, errors); @@ -31102,12 +31201,12 @@ aarch64_extract_operand (const aarch64_operand *self, case 193: case 194: case 237: - case 262: - case 263: + case 264: case 265: case 267: - case 272: - case 273: + case 269: + case 274: + case 275: return aarch64_ext_imm (self, info, code, inst, errors); case 44: case 45: @@ -31178,8 +31277,8 @@ aarch64_extract_operand (const aarch64_operand *self, case 107: return aarch64_ext_prfop (self, info, code, inst, errors); case 108: - case 264: case 266: + case 268: return aarch64_ext_none (self, info, code, inst, errors); case 109: return aarch64_ext_hint (self, info, code, inst, errors); @@ -31259,6 +31358,7 @@ aarch64_extract_operand (const aarch64_operand *self, case 184: case 185: case 186: + case 250: return aarch64_ext_sve_shrimm (self, info, code, inst, errors); case 204: case 205: @@ -31292,8 +31392,6 @@ aarch64_extract_operand (const aarch64_operand *self, return aarch64_ext_sme_za_hv_tiles_range (self, info, code, inst, errors); case 235: case 236: - case 249: - case 250: case 251: case 252: case 253: @@ -31305,6 +31403,8 @@ aarch64_extract_operand (const aarch64_operand *self, case 259: case 260: case 261: + case 262: + case 263: return aarch64_ext_simple_index (self, info, code, inst, errors); case 239: case 240: @@ -31320,9 +31420,11 @@ aarch64_extract_operand (const aarch64_operand *self, return aarch64_ext_sme_sm_za (self, info, code, inst, errors); case 248: return aarch64_ext_sme_pred_reg_with_index (self, info, code, inst, errors); - case 269: - case 270: + case 249: + return aarch64_ext_plain_shrimm (self, info, code, inst, errors); case 271: + case 272: + case 273: return aarch64_ext_x0_to_x30 (self, info, code, inst, errors); default: assert (0); abort (); } diff --git a/opcodes/aarch64-dis.c b/opcodes/aarch64-dis.c index fd13c924804..019ee8b0b81 100644 --- a/opcodes/aarch64-dis.c +++ b/opcodes/aarch64-dis.c @@ -2157,6 +2157,19 @@ aarch64_ext_simple_index (const aarch64_operand *self, aarch64_opnd_info *info, info->reglane.index = extract_all_fields_after (self, 1, code); return true; } + +/* Decode a plain shift-right immediate, when there is only a single + element size. */ +bool +aarch64_ext_plain_shrimm (const aarch64_operand *self, aarch64_opnd_info *info, + const aarch64_insn code, + const aarch64_inst *inst ATTRIBUTE_UNUSED, + aarch64_operand_error *errors ATTRIBUTE_UNUSED) +{ + unsigned int base = 1 << get_operand_field_width (self, 0); + info->imm.value = base - extract_field (self->fields[0], code, 0); + return true; +} /* Bitfields that are commonly used to encode certain operands' information may be partially used as part of the base opcode in some instructions. @@ -3078,6 +3091,10 @@ aarch64_decode_variant_using_iclass (aarch64_inst *inst) } break; + case sme_shift: + i = extract_field (FLD_SVE_tszh, inst->value, 0); + goto sve_shift; + case sme_size_12_bhs: variant = extract_field (FLD_SME_size_12, inst->value, 0); if (variant >= 3) diff --git a/opcodes/aarch64-dis.h b/opcodes/aarch64-dis.h index 6e6c00b1de2..3be382fe5fd 100644 --- a/opcodes/aarch64-dis.h +++ b/opcodes/aarch64-dis.h @@ -135,6 +135,7 @@ AARCH64_DECL_OPD_EXTRACTOR (ext_imm_rotate1); AARCH64_DECL_OPD_EXTRACTOR (ext_imm_rotate2); AARCH64_DECL_OPD_EXTRACTOR (ext_x0_to_x30); AARCH64_DECL_OPD_EXTRACTOR (ext_simple_index); +AARCH64_DECL_OPD_EXTRACTOR (ext_plain_shrimm); #undef AARCH64_DECL_OPD_EXTRACTOR diff --git a/opcodes/aarch64-opc-2.c b/opcodes/aarch64-opc-2.c index a2ef94536ff..ae707ef82c9 100644 --- a/opcodes/aarch64-opc-2.c +++ b/opcodes/aarch64-opc-2.c @@ -273,6 +273,8 @@ const struct aarch64_operand aarch64_operands[] = {AARCH64_OPND_CLASS_ADDRESS, "SME_ADDR_RI_U4xVL", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rn,FLD_imm4_0}, "memory offset"}, {AARCH64_OPND_CLASS_ADDRESS, "SME_SM_ZA", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_CRm}, "streaming mode"}, {AARCH64_OPND_CLASS_SVE_REG, "SME_PnT_Wm_imm", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SME_Rm,FLD_SVE_Pn,FLD_SME_i1,FLD_SME_tszh,FLD_SME_tszl}, "Source scalable predicate register with index "}, + {AARCH64_OPND_CLASS_IMMEDIATE, "SME_SHRIMM4", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SVE_imm4}, "a shift-right immediate operand"}, + {AARCH64_OPND_CLASS_IMMEDIATE, "SME_SHRIMM5", 1 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SVE_tszh,FLD_SVE_imm5b}, "a shift-right immediate operand"}, {AARCH64_OPND_CLASS_SVE_REG, "SME_Zm_INDEX1", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SME_Zm, FLD_imm1_10}, "an indexed SVE vector register"}, {AARCH64_OPND_CLASS_SVE_REG, "SME_Zm_INDEX2", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SME_Zm, FLD_imm2_10}, "an indexed SVE vector register"}, {AARCH64_OPND_CLASS_SVE_REG, "SME_Zm_INDEX3_1", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SME_Zm, FLD_imm1_10, FLD_imm2_1}, "an indexed SVE vector register"}, diff --git a/opcodes/aarch64-opc.c b/opcodes/aarch64-opc.c index 0418a21b295..810548a93bd 100644 --- a/opcodes/aarch64-opc.c +++ b/opcodes/aarch64-opc.c @@ -2924,6 +2924,16 @@ operand_general_constraint_met_p (const aarch64_opnd_info *opnds, int idx, } break; + case AARCH64_OPND_SME_SHRIMM4: + size = 1 << get_operand_fields_width (get_operand_from_code (type)); + if (!value_in_range_p (opnd->imm.value, 1, size)) + { + set_imm_out_of_range_error (mismatch_detail, idx, 1, size); + return 0; + } + break; + + case AARCH64_OPND_SME_SHRIMM5: case AARCH64_OPND_SVE_SHRIMM_PRED: case AARCH64_OPND_SVE_SHRIMM_UNPRED: case AARCH64_OPND_SVE_SHRIMM_UNPRED_22: @@ -4103,6 +4113,8 @@ aarch64_print_operand (char *buf, size_t size, bfd_vma pc, case AARCH64_OPND_FBITS: case AARCH64_OPND_TME_UIMM16: case AARCH64_OPND_SIMM5: + case AARCH64_OPND_SME_SHRIMM4: + case AARCH64_OPND_SME_SHRIMM5: case AARCH64_OPND_SVE_SHLIMM_PRED: case AARCH64_OPND_SVE_SHLIMM_UNPRED: case AARCH64_OPND_SVE_SHLIMM_UNPRED_22: diff --git a/opcodes/aarch64-tbl.h b/opcodes/aarch64-tbl.h index b0c5bb54ae4..a6f5747c417 100644 --- a/opcodes/aarch64-tbl.h +++ b/opcodes/aarch64-tbl.h @@ -1628,6 +1628,10 @@ { \ QLF2(S_H,S_S), \ } +#define OP_SVE_HSU \ +{ \ + QLF3(S_H,S_S,NIL), \ +} #define OP_SVE_HU \ { \ QLF2(S_H,NIL), \ @@ -1854,6 +1858,11 @@ QLF3(S_S,P_M,S_H), \ QLF3(S_D,P_M,S_S), \ } +#define OP_SVE_VVU_BH_SD \ +{ \ + QLF3(S_B,S_S,NIL), \ + QLF3(S_H,S_D,NIL), \ +} #define OP_SVE_VVU_HSD_BHS \ { \ QLF3(S_H,S_B,NIL), \ @@ -5623,6 +5632,12 @@ const struct aarch64_opcode aarch64_opcode_table[] = SME2_INSN ("sqdmulh", 0xc120ac00, 0xff30ffe3, sme_size_22, 0, OP3 (SME_Zdnx4, SME_Zdnx4, SME_Zm), OP_SVE_VVV_BHSD, 0, 1), SME2_INSN ("sqdmulh", 0xc120b400, 0xff21ffe1, sme_size_22, 0, OP3 (SME_Zdnx2, SME_Zdnx2, SME_Zmx2), OP_SVE_VVV_BHSD, 0, 1), SME2_INSN ("sqdmulh", 0xc120bc00, 0xff23ffe3, sme_size_22, 0, OP3 (SME_Zdnx4, SME_Zdnx4, SME_Zmx4), OP_SVE_VVV_BHSD, 0, 1), + SME2_INSN ("sqrshr", 0xc1e0d400, 0xfff0fc20, sme_misc, 0, OP3 (SVE_Zd, SME_Znx2, SME_SHRIMM4), OP_SVE_HSU, 0, 0), + SME2_INSN ("sqrshr", 0xc120d800, 0xff20fc60, sme_shift, 0, OP3 (SVE_Zd, SME_Znx4, SME_SHRIMM5), OP_SVE_VVU_BH_SD, 0, 0), + SME2_INSN ("sqrshrn", 0xc120dc00, 0xff20fc60, sme_shift, 0, OP3 (SVE_Zd, SME_Znx4, SME_SHRIMM5), OP_SVE_VVU_BH_SD, 0, 0), + SME2_INSN ("sqrshru", 0xc1f0d400, 0xfff0fc20, sme_misc, 0, OP3 (SVE_Zd, SME_Znx2, SME_SHRIMM4), OP_SVE_HSU, 0, 0), + SME2_INSN ("sqrshru", 0xc120d840, 0xff20fc60, sme_shift, 0, OP3 (SVE_Zd, SME_Znx4, SME_SHRIMM5), OP_SVE_VVU_BH_SD, 0, 0), + SME2_INSN ("sqrshrun", 0xc120dc40, 0xff20fc60, sme_shift, 0, OP3 (SVE_Zd, SME_Znx4, SME_SHRIMM5), OP_SVE_VVU_BH_SD, 0, 0), SME2_INSN ("srshl", 0xc120a220, 0xff30ffe1, sme_size_22, 0, OP3 (SME_Zdnx2, SME_Zdnx2, SME_Zm), OP_SVE_VVV_BHSD, 0, 1), SME2_INSN ("srshl", 0xc120aa20, 0xff30ffe3, sme_size_22, 0, OP3 (SME_Zdnx4, SME_Zdnx4, SME_Zm), OP_SVE_VVV_BHSD, 0, 1), SME2_INSN ("srshl", 0xc120b220, 0xff21ffe1, sme_size_22, 0, OP3 (SME_Zdnx2, SME_Zdnx2, SME_Zmx2), OP_SVE_VVV_BHSD, 0, 1), @@ -5771,6 +5786,9 @@ const struct aarch64_opcode aarch64_opcode_table[] = SME2_INSN ("uqcvt", 0xc123e020, 0xfffffc20, sme_misc, 0, OP2 (SVE_Zd, SME_Znx2), OP_SVE_HS, 0, 0), SME2_INSN ("uqcvt", 0xc133e020, 0xff7ffc60, sme_sz_23, 0, OP2 (SVE_Zd, SME_Znx4), OP_SVE_VV_BH_SD, 0, 0), SME2_INSN ("uqcvtn", 0xc133e060, 0xff7ffc60, sme_sz_23, 0, OP2 (SVE_Zd, SME_Znx4), OP_SVE_VV_BH_SD, 0, 0), + SME2_INSN ("uqrshr", 0xc1e0d420, 0xfff0fc20, sme_misc, 0, OP3 (SVE_Zd, SME_Znx2, SME_SHRIMM4), OP_SVE_HSU, 0, 0), + SME2_INSN ("uqrshr", 0xc120d820, 0xff20fc60, sme_shift, 0, OP3 (SVE_Zd, SME_Znx4, SME_SHRIMM5), OP_SVE_VVU_BH_SD, 0, 0), + SME2_INSN ("uqrshrn", 0xc120dc20, 0xff20fc60, sme_shift, 0, OP3 (SVE_Zd, SME_Znx4, SME_SHRIMM5), OP_SVE_VVU_BH_SD, 0, 0), SME2_INSN ("urshl", 0xc120a221, 0xff30ffe1, sme_size_22, 0, OP3 (SME_Zdnx2, SME_Zdnx2, SME_Zm), OP_SVE_VVV_BHSD, 0, 1), SME2_INSN ("urshl", 0xc120aa21, 0xff30ffe3, sme_size_22, 0, OP3 (SME_Zdnx4, SME_Zdnx4, SME_Zm), OP_SVE_VVV_BHSD, 0, 1), SME2_INSN ("urshl", 0xc120b221, 0xff21ffe1, sme_size_22, 0, OP3 (SME_Zdnx2, SME_Zdnx2, SME_Zmx2), OP_SVE_VVV_BHSD, 0, 1), @@ -6547,6 +6565,10 @@ const struct aarch64_opcode aarch64_opcode_table[] = Y(SVE_REG, sme_pred_reg_with_index, "SME_PnT_Wm_imm", 0, \ F(FLD_SME_Rm,FLD_SVE_Pn,FLD_SME_i1,FLD_SME_tszh,FLD_SME_tszl), \ "Source scalable predicate register with index ") \ + Y(IMMEDIATE, plain_shrimm, "SME_SHRIMM4", 0, F(FLD_SVE_imm4), \ + "a shift-right immediate operand") \ + Y(IMMEDIATE, sve_shrimm, "SME_SHRIMM5", 1 << OPD_F_OD_LSB, \ + F(FLD_SVE_tszh,FLD_SVE_imm5b), "a shift-right immediate operand") \ Y(SVE_REG, simple_index, "SME_Zm_INDEX1", 0, \ F(FLD_SME_Zm, FLD_imm1_10), "an indexed SVE vector register") \ Y(SVE_REG, simple_index, "SME_Zm_INDEX2", 0, \ |