+
+ * configure.ac: Don't check for limits.h, string.h, strings.h or
+ stdlib.h.
+ (AC_ISC_POSIX): Don't invoke.
+ * sysdep.h: Include stdlib.h and string.h unconditionally.
+ * i386-opc.h: Include limits.h unconditionally.
+ * wasm32-dis.c: Likewise.
+ * cgen-opc.c: Don't include alloca-conf.h.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+
+
+ * arm-dis.c (strneq): Remove strneq and use startswith.
+ * cr16-dis.c (print_insn_cr16): Likewise.
+ * score-dis.c (streq): Likewise.
+ (strneq): Likewise.
+ * score7-dis.c (strneq): Likewise.
+
+
+ PR 27675
+ * ppc-opc.c (powerpc_opcodes): Add mfummcr2 and mfmmcr2.
+
+
+ * sysdep.h (POISON_BFD_BOOLEAN): Define.
+ * aarch64-asm-2.c, * aarch64-asm.c, * aarch64-asm.h,
+ * aarch64-dis-2.c, * aarch64-dis.c, * aarch64-dis.h,
+ * aarch64-gen.c, * aarch64-opc.c, * aarch64-opc.h, * arc-dis.c,
+ * arc-dis.h, * arc-fxi.h, * arc-opc.c, * arm-dis.c, * bfin-dis.c,
+ * cris-dis.c, * csky-dis.c, * csky-opc.h, * dis-buf.c,
+ * disassemble.c, * frv-opc.c, * frv-opc.h, * h8300-dis.c,
+ * i386-dis.c, * m68k-dis.c, * metag-dis.c, * microblaze-dis.c,
+ * microblaze-dis.h, * micromips-opc.c, * mips-dis.c,
+ * mips-formats.h, * mips-opc.c, * mips16-opc.c, * mmix-dis.c,
+ * msp430-dis.c, * nds32-dis.c, * nfp-dis.c, * nios2-dis.c,
+ * ppc-dis.c, * riscv-dis.c, * score-dis.c, * score7-dis.c,
+ * tic6x-dis.c, * v850-dis.c, * vax-dis.c, * wasm32-dis.c,
+ * xtensa-dis.c: Replace bfd_boolean with bool, FALSE with false,
+ and TRUE with true throughout.
+
+
+ * aarch64-dis.c: Include stdint.h in place of bfd_stdint.h.
+ * aarch64-dis.h: Likewise.
+ * aarch64-opc.c: Likewise.
+ * avr-dis.c: Likewise.
+ * csky-dis.c: Likewise.
+ * nds32-asm.c: Likewise.
+ * nds32-dis.c: Likewise.
+ * nfp-dis.c: Likewise.
+ * riscv-dis.c: Likewise.
+ * s12z-dis.c: Likewise.
+ * wasm32-dis.c: Likewise.
+
+
+ * i386-opc.c (cs, ds, ss, es, fs, gs): Delete.
+ (i386_seg_prefixes): New.
+ * i386-opc.h (cs, ds, ss, es, fs, gs): Delete.
+ (i386_seg_prefixes): Declare.
+
+
+ * i386-opc.h (REGNAM_AL, REGNAM_AX, REGNAM_EAX): Delete.
+
+
+ * i386-opc.h (REGNAM_AL, REGNAM_AX, REGNAM_EAX): Adjust values.
+ * i386-reg.tbl (st): Move down.
+ (st(0)): Delete. Extend comment.
+ * i386-tbl.h: Re-generate.
+
+
+ * i386-opc.tbl (movq, movabs): Move next to mov counterparts.
+ (cmpsd): Move next to cmps.
+ (movsd): Move next to movs.
+ (cmpxchg16b): Move to separate section.
+ (fisttp, fisttpll): Likewise.
+ (monitor, mwait): Likewise.
+ * i386-tbl.h: Re-generate.
+
+
+ * i386-opc.tbl (psadbw): Add <sse2:comm>.
+ (vpsadbw): Add C.
+ * i386-tbl.h: Re-generate.
+
+
+ * i386-opc.tbl (mmx, sse, sse2, sse3, ssse3, sse41, sse42, aes,
+ pclmul, gfni): New templates. Use them wherever possible. Move
+ SSE4.1 pextrw into respective section.
+ * i386-tbl.h: Re-generate.
+
+
+ * i386-gen.c (output_i386_opcode): Widen type of "opcode". Use
+ strtoull(). Bump upper loop bound. Widen masks. Sanity check
+ "length".
+ * i386-opc.tbl (Prefix_0X66, Prefix_0XF2, Prefix_0XF3): Delete.
+ Convert all of their uses to representation in opcode.
+
+
+ * i386-opc.h (struct insn_template): Shrink base_opcode to 16
+ bits. Shrink extension_opcode to 9 bits. Make it signed. Change
+ value of None. Shrink operands to 3 bits.
+
+
+ * i386-gen.c (process_i386_opcode_modifier): New parameter
+ "space".
+ (output_i386_opcode): New local variable "space". Adjust
+ process_i386_opcode_modifier() invocation.
+ (process_i386_opcodes): Adjust process_i386_opcode_modifier()
+ invocation.
+ * i386-tbl.h: Re-generate.
+
+
+ * aarch64-opc.c (vector_qualifier_p): Simplify boolean expression.
+ (fp_qualifier_p, get_data_pattern): Likewise.
+ (aarch64_get_operand_modifier_from_value): Likewise.
+ (aarch64_extend_operator_p, aarch64_shift_operator_p): Likewise.
+ (operand_variant_qualifier_p): Likewise.
+ (qualifier_value_in_range_constraint_p): Likewise.
+ (aarch64_get_qualifier_esize): Likewise.
+ (aarch64_get_qualifier_nelem): Likewise.
+ (aarch64_get_qualifier_standard_value): Likewise.
+ (get_lower_bound, get_upper_bound): Likewise.
+ (aarch64_find_best_match, match_operands_qualifier): Likewise.
+ (aarch64_print_operand): Likewise.
+ * aarch64-opc.h (operand_has_inserter, operand_has_extractor): Likewise.
+ (operand_need_sign_extension, operand_need_shift_by_two): Likewise.
+ (operand_need_shift_by_four, operand_maybe_stack_pointer): Likewise.
+ * arm-dis.c (print_insn_mve, print_insn_thumb32): Likewise.
+ * tic6x-dis.c (tic6x_check_fetch_packet_header): Likewise.
+ (print_insn_tic6x): Likewise.
+
+
+ * arc-dis.c (extract_operand_value): Correct NULL cast.
+ * frv-opc.h: Regenerate.
+
+
+ * i386-opc.tbl (movq): Add CpuSSE2 to SSE2 form. Add CpuMMX to
+ MMX form.
+ * i386-tbl.h: Re-generate.
+
+
+ * nios2-dis.c (nios2_print_insn_arg): Fix sign extension of
+ immediate in br.n instruction.
+
+
+ * i386-dis.c (XMGatherD, VexGatherD): New.
+ (vex_table): Use VexGatherD for vpgatherd* and vgatherdp*.
+ (print_insn): Check masking for S/G insns.
+ (OP_E_memory): New local variable check_gather. Extend mandatory
+ SIB check. Check register conflicts for (EVEX-encoded) gathers.
+ Extend check for disallowed 16-bit addressing.
+ (OP_VEX): New local variables modrm_reg and sib_index. Convert
+ if()s to switch(). Check register conflicts for (VEX-encoded)
+ gathers. Drop no longer reachable cases.
+ * i386-dis-evex.h (evex_table): Use XMGatherD for vpgatherd* and
+ vgatherdp*.
+
+
+ * i386-dis.c (print_insn): Mark as bad EVEX encodings specifying
+ zeroing-masking without masking.
+
+
+ * i386-opc.tbl (invlpgb): Fix multi-operand form.
+ (pvalidate, rmpupdate, rmpadjust): Add multi-operand forms. Mark
+ single-operand forms as deprecated.
+ * i386-tbl.h: Re-generate.
+
+
+ PR 27647
+ * ppc-opc.c (XLOCB_MASK): Delete.
+ (XLBOBB_MASK, XLBOBIBB_MASK, XLBOCBBB_MASK): Define using
+ XLBH_MASK.
+ (powerpc_opcodes): Accept a BH field on all extended forms of
+ bclr, bclrl, bcctr, bcctrl, bctar, bctarl.
+
+
+ * i386-gen.c (output_i386_opcode): Drop processing of
+ opcode_length. Calculate length from base_opcode. Adjust prefix
+ encoding determination.
+ (process_i386_opcodes): Drop output of fake opcode_length.
+ * i386-opc.h (struct insn_template): Drop opcode_length field.
+ * i386-opc.tbl: Drop opcode length field from all templates.
+ * i386-tbl.h: Re-generate.
+
+
+ * i386-gen.c (process_i386_opcode_modifier): Return void. New
+ parameter "prefix". Drop local variable "regular_encoding".
+ Record prefix setting / check for consistency.
+ (output_i386_opcode): Parse opcode_length and base_opcode
+ earlier. Derive prefix encoding. Drop no longer applicable
+ consistency checking. Adjust process_i386_opcode_modifier()
+ invocation.
+ (process_i386_opcodes): Adjust process_i386_opcode_modifier()
+ invocation.
+ * i386-tbl.h: Re-generate.
+
+
+ * i386-gen.c (process_i386_opcode_modifier): Drop IsPrefix
+ check.
+ * i386-opc.h (Prefix_*): Move #define-s.
+ * i386-opc.tbl: Move pseudo prefix enumerator values to
+ extension opcode field. Introduce pseudopfx template.
+ * i386-tbl.h: Re-generate.
+
+
+ * i386-opc.h (PREFIX_0XF2, PREFIX_0XF3): Excahnge values. Extend
+ comment.
+ * i386-tbl.h: Re-generate.
+
+
+ * i386-opc.h (struct insn_template): Move cpu_flags field past
+ opcode_modifier one.
+ * i386-tbl.h: Re-generate.
+
+
+ * i386-gen.c (opcode_modifiers): New OpcodeSpace element.
+ * i386-opc.h (OpcodeSpace): New enumerator.
+ (VEX0F, VEX0F38, VEX0F3A, XOP08, XOP09, XOP0A): Rename to ...
+ (SPACE_BASE, SPACE_0F, SPACE_0F38, SPACE_0F3A, SPACE_XOP08,
+ SPACE_XOP09, SPACE_XOP0A): ... respectively.
+ (struct i386_opcode_modifier): New field opcodespace. Shrink
+ opcodeprefix field.
+ i386-opc.tbl (Space0F, Space0F38, Space0F3A, SpaceXOP08,
+ SpaceXOP09, SpaceXOP0A): Define. Use them to replace
+ OpcodePrefix uses.
+ * i386-tbl.h: Re-generate.
+
+
+ * aarch64-dis.c (parse_aarch64_dis_option): Replace usage of CONST_STRNEQ with startswith.
+ * arc-dis.c (parse_option): Likewise.
+ * arm-dis.c (parse_arm_disassembler_options): Likewise.
+ * cris-dis.c (print_with_operands): Likewise.
+ * h8300-dis.c (bfd_h8_disassemble): Likewise.
+ * i386-dis.c (print_insn): Likewise.
+ * ia64-gen.c (fetch_insn_class): Likewise.
+ (parse_resource_users): Likewise.
+ (in_iclass): Likewise.
+ (lookup_specifier): Likewise.
+ (insert_opcode_dependencies): Likewise.
+ * mips-dis.c (parse_mips_ase_option): Likewise.
+ (parse_mips_dis_option): Likewise.
+ * s390-dis.c (disassemble_init_s390): Likewise.
+ * wasm32-dis.c (parse_wasm32_disassembler_options): Likewise.
+
+
+ * riscv-opc.c (riscv_opcodes): Add zba, zbb and zbc instructions.
+
+
+ * aarch64-opc.c: Add lorc_el1, lorea_el1, lorn_el1, lorsa_el1,
+ icc_ctlr_el3, icc_sre_elx, ich_vtr_el2 system registers.
+
+
+ * i386-dis.c (print_insn <PREFIX_IGNORED>): Correct typo.
+
+
+ * i386-dis.c (OP_XMM): Re-order checks.
+
+
+ * i386-dis.c (putop): Drop need_vex check when also checking
+ vex.evex.
+ (intel_operand_size, OP_E_memory): Drop vex.evex check when also
+ checking vex.b.
+
+
+ * i386-dis.c (OP_E_memory): Drop xmmq_mode from broadcast
+ checks. Move case label past broadcast check.
+
+
+ * opcodes/i386-dis.c (MVexVSIBDQWpX, MVexVSIBQDWpX,
+ vex_vsib_d_w_d_mode, vex_vsib_q_w_d_mode,
+ REG_EVEX_0F38C7_M_0_L_2_W_0, REG_EVEX_0F38C7_M_0_L_2_W_1,
+ EVEX_W_0F3891, EVEX_W_0F3893, EVEX_W_0F38A1, EVEX_W_0F38A3,
+ EVEX_W_0F38C7_M_0_L_2): Delete.
+ (REG_EVEX_0F38C7_M_0_L_2): New.
+ (intel_operand_size): Handle VEX and EVEX the same for
+ vex_vsib_d_w_dq_mode and vex_vsib_q_w_dq_mode. Drop
+ vex_vsib_d_w_d_mode and vex_vsib_q_w_d_mode cases.
+ (OP_E_memory, OP_XMM, OP_VEX): Drop vex_vsib_d_w_d_mode and
+ vex_vsib_q_w_d_mode uses.
+ * i386-dis-evex.h (evex_table): Adjust opcode 0F3891, 0F3893,
+ 0F38A1, and 0F38A3 entries.
+ * i386-dis-evex-len.h (evex_len_table): Adjust opcode 0F38C7
+ entry.
+ * i386-dis-evex-reg.h: Fold opcode 0F38C7 entries.
+ * i386-dis-evex-w.h: Delete opcode 0F3891, 0F3893, 0F38A1, and
+ 0F38A3 entries.
+
+
+ * opcodes/i386-dis.c (REG_0FXOP_09_01_L_0, REG_0FXOP_09_02_L_0,
+ REG_0FXOP_09_12_M_1_L_0, REG_0FXOP_0A_12_L_0,
+ MOD_VEX_0FXOP_09_12): Rename to ...
+ (REG_XOP_09_01_L_0, REG_XOP_09_02_L_0, REG_XOP_09_12_M_1_L_0,
+ REG_XOP_0A_12_L_0, MOD_XOP_09_12): ... these.
+ (MOD_62_32BIT, MOD_8D, MOD_C4_32BIT, MOD_C5_32BIT,
+ RM_0F3A0F_P_1_MOD_3_REG_0, X86_64_0F24, X86_64_0F26,
+ X86_64_VEX_0F3849, X86_64_VEX_0F384B, X86_64_VEX_0F385C,
+ X86_64_VEX_0F385E, X86_64_0FC7_REG_6_MOD_3_PREFIX_1): Move.
+ (reg_table): Adjust comments.
+ (x86_64_table): Move X86_64_0F24, X86_64_0F26,
+ X86_64_VEX_0F3849, X86_64_VEX_0F384B, X86_64_VEX_0F385C,
+ X86_64_VEX_0F385E, and X86_64_0FC7_REG_6_MOD_3_PREFIX_1 entries.
+ (xop_table): Adjust opcode 09_01, 09_02, and 09_12 entries.
+ (vex_len_table): Adjust opcode 0A_12 entry.
+ (mod_table): Move MOD_62_32BIT, MOD_8D, MOD_C4_32BIT,
+ MOD_C5_32BIT, and MOD_XOP_09_12 entries.
+ (rm_table): Move hreset entry.
+
+
+ * opcodes/i386-dis.c (EVEX_LEN_0F6E, EVEX_LEN_0F7E_P_1,
+ EVEX_LEN_0F7E_P_2, EVEX_LEN_0FC4, EVEX_LEN_0FC5, EVEX_LEN_0FD6,
+ EVEX_LEN_0F3816, EVEX_LEN_0F3A14, EVEX_LEN_0F3A15,
+ EVEX_LEN_0F3A16, EVEX_LEN_0F3A17, EVEX_LEN_0F3A20,
+ EVEX_LEN_0F3A21_W_0, EVEX_LEN_0F3A22, EVEX_W_0FD6_L_0): Delete.
+ (EVEX_LEN_0F3816, EVEX_W_0FD6): New.
+ (get_valid_dis386): Also handle 512-bit vector length when
+ vectoring into vex_len_table[].
+ * i386-dis-evex.h (evex_table): Adjust opcode 0F6E, 0FC4, 0FC5,
+ 0FD6, 0F3A14, 0F3A15, 0F3A16, 0F3A17, 0F3A20, and 0F3A22
+ entries.
+ * i386-dis-evex-len.h: Delete opcode 0F6E, 0FC4, 0FC5, 0FD6,
+ 0F3A14, 0F3A15, 0F3A16, 0F3A17, 0F3A20, and 0F3A22 entries.
+ * i386-dis-evex-prefix.h: Adjust 0F7E entry.
+ * i386-dis-evex-w.h: Adjust 0F7E, 0F7F, 0FD6, and 0F3A21
+ entries.
+
+
+ * opcodes/i386-dis.c (EVEX_LEN_0F3A00_W_1, EVEX_LEN_0F3A01_W_1):
+ Rename to EVEX_LEN_0F3A00 and EVEX_LEN_0F3A01 respectively.
+ EVEX_W_0F3A00, EVEX_W_0F3A01): Delete.
+ * i386-dis-evex.h (evex_table): Adjust opcode 0F3A00 and 0F3A01
+ entries.
+ * i386-dis-evex-len.h (evex_len_table): Likewise.
+ * i386-dis-evex-w.h: Remove opcode 0F3A00 and 0F3A01 entries.
+
+
+ * opcodes/i386-dis.c (REG_EVEX_0F38C6, REG_EVEX_0F38C7,
+ MOD_EVEX_0F381A_W_0, MOD_EVEX_0F381A_W_1, MOD_EVEX_0F381B_W_0,
+ MOD_EVEX_0F381B_W_1, MOD_EVEX_0F385A_W_0, MOD_EVEX_0F385A_W_1,
+ MOD_EVEX_0F385B_W_0, MOD_EVEX_0F385B_W_1,
+ MOD_EVEX_0F38C6_REG_1, MOD_EVEX_0F38C6_REG_2,
+ MOD_EVEX_0F38C6_REG_5, MOD_EVEX_0F38C6_REG_6,
+ MOD_EVEX_0F38C7_REG_1, MOD_EVEX_0F38C7_REG_2,
+ MOD_EVEX_0F38C7_REG_5, MOD_EVEX_0F38C7_REG_6
+ EVEX_LEN_0F3819_W_0, EVEX_LEN_0F3819_W_1,
+ EVEX_LEN_0F381A_W_0_M_0, EVEX_LEN_0F381A_W_1_M_0,
+ EVEX_LEN_0F381B_W_0_M_0, EVEX_LEN_0F381B_W_1_M_0,
+ EVEX_LEN_0F385A_W_0_M_0, EVEX_LEN_0F385A_W_1_M_0,
+ EVEX_LEN_0F385B_W_0_M_0, EVEX_LEN_0F385B_W_1_M_0,
+ EVEX_LEN_0F38C6_R_1_M_0, EVEX_LEN_0F38C6_R_2_M_0,
+ EVEX_LEN_0F38C6_R_5_M_0, EVEX_LEN_0F38C6_R_6_M_0,
+ EVEX_LEN_0F38C7_R_1_M_0_W_0, EVEX_LEN_0F38C7_R_1_M_0_W_1,
+ EVEX_LEN_0F38C7_R_2_M_0_W_0, EVEX_LEN_0F38C7_R_2_M_0_W_1,
+ EVEX_LEN_0F38C7_R_5_M_0_W_0, EVEX_LEN_0F38C7_R_5_M_0_W_1,
+ EVEX_LEN_0F38C7_R_6_M_0_W_0, EVEX_LEN_0F38C7_R_6_M_0_W_1,
+ EVEX_LEN_0F3A18_W_0, EVEX_LEN_0F3A18_W_1, EVEX_LEN_0F3A19_W_0,
+ EVEX_LEN_0F3A19_W_1, EVEX_LEN_0F3A1A_W_0, EVEX_LEN_0F3A1A_W_1,
+ EVEX_LEN_0F3A1B_W_0, EVEX_LEN_0F3A1B_W_1, EVEX_LEN_0F3A23_W_0,
+ EVEX_LEN_0F3A23_W_1, EVEX_LEN_0F3A38_W_0, EVEX_LEN_0F3A38_W_1,
+ EVEX_LEN_0F3A39_W_0, EVEX_LEN_0F3A39_W_1, EVEX_LEN_0F3A3A_W_0,
+ EVEX_LEN_0F3A3A_W_1, EVEX_LEN_0F3A3B_W_0, EVEX_LEN_0F3A3B_W_1,
+ EVEX_LEN_0F3A43_W_0, EVEX_LEN_0F3A43_W_1 EVEX_W_0F3819,
+ EVEX_W_0F381A, EVEX_W_0F381B, EVEX_W_0F385A, EVEX_W_0F385B,
+ EVEX_W_0F38C7_R_1_M_0, EVEX_W_0F38C7_R_2_M_0,
+ EVEX_W_0F38C7_R_5_M_0, EVEX_W_0F38C7_R_6_M_0,
+ EVEX_W_0F3A18, EVEX_W_0F3A19, EVEX_W_0F3A1A, EVEX_W_0F3A1B,
+ EVEX_W_0F3A23, EVEX_W_0F3A38, EVEX_W_0F3A39, EVEX_W_0F3A3A,
+ EVEX_W_0F3A3B, EVEX_W_0F3A43): Delete.
+ REG_EVEX_0F38C6_M_0_L_2, REG_EVEX_0F38C7_M_0_L_2_W_0,
+ REG_EVEX_0F38C7_M_0_L_2_W_1, MOD_EVEX_0F381A,
+ MOD_EVEX_0F381B, MOD_EVEX_0F385A, MOD_EVEX_0F385B,
+ MOD_EVEX_0F38C6, MOD_EVEX_0F38C7 EVEX_LEN_0F3819,
+ EVEX_LEN_0F381A_M_0, EVEX_LEN_0F381B_M_0,
+ EVEX_LEN_0F385A_M_0, EVEX_LEN_0F385B_M_0,
+ EVEX_LEN_0F38C6_M_0, EVEX_LEN_0F38C7_M_0,
+ EVEX_LEN_0F3A18, EVEX_LEN_0F3A19, EVEX_LEN_0F3A1A,
+ EVEX_LEN_0F3A1B, EVEX_LEN_0F3A23, EVEX_LEN_0F3A38,
+ EVEX_LEN_0F3A39, EVEX_LEN_0F3A3A, EVEX_LEN_0F3A3B,
+ EVEX_LEN_0F3A43, EVEX_W_0F3819_L_n, EVEX_W_0F381A_M_0_L_n,
+ EVEX_W_0F381B_M_0_L_2, EVEX_W_0F385A_M_0_L_n,
+ EVEX_W_0F385B_M_0_L_2, EVEX_W_0F38C7_M_0_L_2,
+ EVEX_W_0F3A18_L_n, EVEX_W_0F3A19_L_n, EVEX_W_0F3A1A_L_2,
+ EVEX_W_0F3A1B_L_2, EVEX_W_0F3A23_L_n, EVEX_W_0F3A38_L_n,
+ EVEX_W_0F3A39_L_n, EVEX_W_0F3A3A_L_2, EVEX_W_0F3A3B_L_2,
+ EVEX_W_0F3A43_L_n): New.
+ * i386-dis-evex.h (evex_table): Adjust opcode 0F3819, 0F381A,
+ 0F381B, 0F385A, 0F385B, 0F38C7, 0F3A18, 0F3A19, 0F3A1A, 0F3A1B,
+ 0F3A23, 0F3A38, 0F3A39, 0F3A3A, 0F3A3B, and 0F3A43 entries.
+ * i386-dis-evex-len.h (evex_len_table): Link to vex_w_table[]
+ for opcodes 0F3819, 0F381A, 0F381B, 0F385A, 0F385B, 0F38C7,
+ 0F3A18, 0F3A19, 0F3A1A, 0F3A1B, 0F3A23, 0F3A38, 0F3A39, 0F3A3A,
+ 0F3A3B, and 0F3A43. Link to reg_table[] for opcodes 0F38C6.
+ * i386-dis-evex-mod.h: Adjust opcode 0F381A, 0F381B, 0F385A,
+ 0F385B, 0F38C6, and 0F38C7 entries.
+ * i386-dis-evex-reg.h: No longer link to mod_table[] for opcodes
+ 0F38C6 and 0F38C7.
+ * i386-dis-evex-w.h: No longer link to evex_len_table[] for
+ opcodes 0F3819, 0F38C7, 0F3A18, 0F3A19, 0F3A1A, 0F3A1B, 0F3A23,
+ 0F3A38, 0F3A39, 0F3A3A, 0F3A3B, and 0F3A43. No longer link to
+ evex_len_table[] for opcodes 0F381A, 0F381B, 0F385A, and 0F385B.
+
+
+ * opcodes/i386-dis.c (MOD_VEX_W_0_0F41_P_0_LEN_1,
+ MOD_VEX_W_1_0F41_P_0_LEN_1, MOD_VEX_W_0_0F41_P_2_LEN_1,
+ MOD_VEX_W_1_0F41_P_2_LEN_1, MOD_VEX_W_0_0F42_P_0_LEN_1,
+ MOD_VEX_W_1_0F42_P_0_LEN_1, MOD_VEX_W_0_0F42_P_2_LEN_1,
+ MOD_VEX_W_1_0F42_P_2_LEN_1, MOD_VEX_W_0_0F44_P_0_LEN_1,
+ MOD_VEX_W_1_0F44_P_0_LEN_1, MOD_VEX_W_0_0F44_P_2_LEN_1,
+ MOD_VEX_W_1_0F44_P_2_LEN_1, MOD_VEX_W_0_0F45_P_0_LEN_1,
+ MOD_VEX_W_1_0F45_P_0_LEN_1, MOD_VEX_W_0_0F45_P_2_LEN_1,
+ MOD_VEX_W_1_0F45_P_2_LEN_1, MOD_VEX_W_0_0F46_P_0_LEN_1,
+ MOD_VEX_W_1_0F46_P_0_LEN_1, MOD_VEX_W_0_0F46_P_2_LEN_1,
+ MOD_VEX_W_1_0F46_P_2_LEN_1, MOD_VEX_W_0_0F47_P_0_LEN_1,
+ MOD_VEX_W_1_0F47_P_0_LEN_1, MOD_VEX_W_0_0F47_P_2_LEN_1,
+ MOD_VEX_W_1_0F47_P_2_LEN_1, MOD_VEX_W_0_0F4A_P_0_LEN_1,
+ MOD_VEX_W_1_0F4A_P_0_LEN_1, MOD_VEX_W_0_0F4A_P_2_LEN_1,
+ MOD_VEX_W_1_0F4A_P_2_LEN_1, MOD_VEX_W_0_0F4B_P_0_LEN_1,
+ MOD_VEX_W_1_0F4B_P_0_LEN_1, MOD_VEX_W_0_0F4B_P_2_LEN_1,
+ MOD_VEX_W_0_0F91_P_0_LEN_0, MOD_VEX_W_1_0F91_P_0_LEN_0,
+ MOD_VEX_W_0_0F91_P_2_LEN_0, MOD_VEX_W_1_0F91_P_2_LEN_0,
+ MOD_VEX_W_0_0F92_P_0_LEN_0, MOD_VEX_W_0_0F92_P_2_LEN_0,
+ MOD_VEX_0F92_P_3_LEN_0, MOD_VEX_W_0_0F93_P_0_LEN_0,
+ MOD_VEX_W_0_0F93_P_2_LEN_0, MOD_VEX_0F93_P_3_LEN_0,
+ MOD_VEX_W_0_0F98_P_0_LEN_0, MOD_VEX_W_1_0F98_P_0_LEN_0,
+ MOD_VEX_W_0_0F98_P_2_LEN_0, MOD_VEX_W_1_0F98_P_2_LEN_0,
+ MOD_VEX_W_0_0F99_P_0_LEN_0, MOD_VEX_W_1_0F99_P_0_LEN_0,
+ MOD_VEX_W_0_0F99_P_2_LEN_0, MOD_VEX_W_1_0F99_P_2_LEN_0,
+ PREFIX_VEX_0F41, PREFIX_VEX_0F42, PREFIX_VEX_0F44,
+ PREFIX_VEX_0F45, PREFIX_VEX_0F46, PREFIX_VEX_0F47,
+ PREFIX_VEX_0F4A, PREFIX_VEX_0F4B, PREFIX_VEX_0F90,
+ PREFIX_VEX_0F91, PREFIX_VEX_0F92, PREFIX_VEX_0F93,
+ PREFIX_VEX_0F98, PREFIX_VEX_0F99, VEX_LEN_0F41_P_0,
+ VEX_LEN_0F41_P_2, VEX_LEN_0F42_P_0, VEX_LEN_0F42_P_2,
+ VEX_LEN_0F44_P_0, VEX_LEN_0F44_P_2, VEX_LEN_0F45_P_0,
+ VEX_LEN_0F45_P_2, VEX_LEN_0F46_P_0, VEX_LEN_0F46_P_2,
+ VEX_LEN_0F47_P_0, VEX_LEN_0F47_P_2, VEX_LEN_0F4A_P_0,
+ VEX_LEN_0F4A_P_2, VEX_LEN_0F4B_P_0, VEX_LEN_0F4B_P_2,
+ VEX_LEN_0F90_P_0, VEX_LEN_0F90_P_2, VEX_LEN_0F91_P_0,
+ VEX_LEN_0F91_P_2, VEX_LEN_0F92_P_0, VEX_LEN_0F92_P_2,
+ VEX_LEN_0F92_P_3, VEX_LEN_0F93_P_0, VEX_LEN_0F93_P_2,
+ VEX_LEN_0F93_P_3, VEX_LEN_0F98_P_0, VEX_LEN_0F98_P_2,
+ VEX_LEN_0F99_P_0, VEX_LEN_0F99_P_2, VEX_W_0F41_P_0_LEN_1,
+ VEX_W_0F41_P_2_LEN_1, VEX_W_0F42_P_0_LEN_1,
+ VEX_W_0F42_P_2_LEN_1, VEX_W_0F44_P_0_LEN_0,
+ VEX_W_0F44_P_2_LEN_0, VEX_W_0F45_P_0_LEN_1,
+ VEX_W_0F45_P_2_LEN_1, VEX_W_0F46_P_0_LEN_1,
+ VEX_W_0F46_P_2_LEN_1, VEX_W_0F47_P_0_LEN_1,
+ VEX_W_0F47_P_2_LEN_1, VEX_W_0F4A_P_0_LEN_1,
+ VEX_W_0F4A_P_2_LEN_1, VEX_W_0F4B_P_0_LEN_1,
+ VEX_W_0F4B_P_2_LEN_1, VEX_W_0F90_P_0_LEN_0,
+ VEX_W_0F90_P_2_LEN_0, VEX_W_0F91_P_0_LEN_0,
+ VEX_W_0F91_P_2_LEN_0, VEX_W_0F92_P_0_LEN_0,
+ VEX_W_0F92_P_2_LEN_0, VEX_W_0F93_P_0_LEN_0,
+ VEX_W_0F93_P_2_LEN_0, VEX_W_0F98_P_0_LEN_0,
+ VEX_W_0F98_P_2_LEN_0, VEX_W_0F99_P_0_LEN_0,
+ VEX_W_0F99_P_2_LEN_0): Delete.
+ MOD_VEX_0F41_L_1, MOD_VEX_0F42_L_1, MOD_VEX_0F44_L_0,
+ MOD_VEX_0F45_L_1, MOD_VEX_0F46_L_1, MOD_VEX_0F47_L_1,
+ MOD_VEX_0F4A_L_1, MOD_VEX_0F4B_L_1, MOD_VEX_0F91_L_0,
+ MOD_VEX_0F92_L_0, MOD_VEX_0F93_L_0, MOD_VEX_0F98_L_0,
+ MOD_VEX_0F99_L_0, PREFIX_VEX_0F41_L_1_M_1_W_0,
+ PREFIX_VEX_0F41_L_1_M_1_W_1, PREFIX_VEX_0F42_L_1_M_1_W_0,
+ PREFIX_VEX_0F42_L_1_M_1_W_1, PREFIX_VEX_0F44_L_0_M_1_W_0,
+ PREFIX_VEX_0F44_L_0_M_1_W_1, PREFIX_VEX_0F45_L_1_M_1_W_0,
+ PREFIX_VEX_0F45_L_1_M_1_W_1, PREFIX_VEX_0F46_L_1_M_1_W_0,
+ PREFIX_VEX_0F46_L_1_M_1_W_1, PREFIX_VEX_0F47_L_1_M_1_W_0,
+ PREFIX_VEX_0F47_L_1_M_1_W_1, PREFIX_VEX_0F4A_L_1_M_1_W_0,
+ PREFIX_VEX_0F4A_L_1_M_1_W_1, PREFIX_VEX_0F4B_L_1_M_1_W_0,
+ PREFIX_VEX_0F4B_L_1_M_1_W_1, PREFIX_VEX_0F90_L_0_W_0,
+ PREFIX_VEX_0F90_L_0_W_1, PREFIX_VEX_0F91_L_0_M_0_W_0,
+ PREFIX_VEX_0F91_L_0_M_0_W_1, PREFIX_VEX_0F92_L_0_M_1_W_0,
+ PREFIX_VEX_0F92_L_0_M_1_W_1, PREFIX_VEX_0F93_L_0_M_1_W_0,
+ PREFIX_VEX_0F93_L_0_M_1_W_1, PREFIX_VEX_0F98_L_0_M_1_W_0,
+ PREFIX_VEX_0F98_L_0_M_1_W_1, PREFIX_VEX_0F99_L_0_M_1_W_0,
+ PREFIX_VEX_0F99_L_0_M_1_W_1, VEX_LEN_0F41, VEX_LEN_0F42,
+ VEX_LEN_0F44, VEX_LEN_0F45, VEX_LEN_0F46, VEX_LEN_0F47,
+ VEX_LEN_0F4A, VEX_LEN_0F4B, VEX_LEN_0F90, VEX_LEN_0F91,
+ VEX_LEN_0F92, VEX_LEN_0F93, VEX_LEN_0F98, VEX_LEN_0F99,
+ VEX_W_0F41_L_1_M_1, VEX_W_0F42_L_1_M_1, VEX_W_0F44_L_0_M_1,
+ VEX_W_0F45_L_1_M_1, VEX_W_0F46_L_1_M_1, VEX_W_0F47_L_1_M_1,
+ VEX_W_0F4A_L_1_M_1, VEX_W_0F4B_L_1_M_1, VEX_W_0F90_L_0,
+ VEX_W_0F91_L_0_M_0, VEX_W_0F92_L_0_M_1, VEX_W_0F93_L_0_M_1,
+ VEX_W_0F98_L_0_M_1, VEX_W_0F99_L_0_M_1): New.
+ (prefix_table): No longer link to vex_len_table[] for opcodes
+ 0F41, 0F42, 0F44, 0F45, 0F46, 0F47, 0F4A, 0F4B, 0F90, 0F91,
+ 0F92, 0F93, 0F98, and 0F99.
+ (vex_table): Link to vex_len_table[] for opcodes 0F41, 0F42,
+ 0F44, 0F45, 0F46, 0F47, 0F4A, 0F4B, 0F90, 0F91, 0F92, 0F93,
+ 0F98, and 0F99.
+ (vex_len_table): Link to mod_table[] for opcodes 0F41, 0F42,
+ 0F44, 0F45, 0F46, 0F47, 0F4A, 0F4B, 0F90, 0F91, 0F92, 0F93,
+ 0F98, and 0F99.
+ (vex_w_table): Link to prefix_table[] for opcodes 0F41, 0F42,
+ 0F44, 0F45, 0F46, 0F47, 0F4A, 0F4B, 0F90, 0F91, 0F92, 0F93,
+ 0F98, and 0F99.
+ (mod_table): Link to vex_w_table[] for opcodes 0F41, 0F42,
+ 0F44, 0F45, 0F46, 0F47, 0F4A, 0F4B, 0F90, 0F91, 0F92, 0F93,
+ 0F98, and 0F99.
+
+
+ * opcodes/i386-dis.c (VEX_REG_0F71, VEX_REG_0F72, VEX_REG_0F73):
+ Rename to REG_VEX_0F71_M_0, REG_VEX_0F72_M_0, and
+ REG_VEX_0F73_M_0 respectively.
+ (MOD_VEX_0F71_REG_2, MOD_VEX_0F71_REG_4, MOD_VEX_0F71_REG_6,
+ MOD_VEX_0F72_REG_2, MOD_VEX_0F72_REG_4, MOD_VEX_0F72_REG_6,
+ MOD_VEX_0F73_REG_2, MOD_VEX_0F73_REG_3, MOD_VEX_0F73_REG_6,
+ MOD_VEX_0F73_REG_7): Delete.
+ (MOD_VEX_0F71, MOD_VEX_0F72, MOD_VEX_0F73): New.
+ (PREFIX_VEX_0F38F5, PREFIX_VEX_0F38F6, PREFIX_VEX_0F38F7,
+ PREFIX_VEX_0F3AF0): Rename to PREFIX_VEX_0F38F5_L_0,
+ PREFIX_VEX_0F38F6_L_0, PREFIX_VEX_0F38F7_L_0,
+ PREFIX_VEX_0F3AF0_L_0 respectively.
+ (VEX_LEN_0F38F3_R_1, VEX_LEN_0F38F3_R_2, VEX_LEN_0F38F3_R_3,
+ VEX_LEN_0F38F5_P_0, VEX_LEN_0F38F5_P_1, VEX_LEN_0F38F5_P_3,
+ VEX_LEN_0F38F6_P_3, VEX_LEN_0F38F7_P_0, VEX_LEN_0F38F7_P_1,
+ VEX_LEN_0F38F7_P_2, VEX_LEN_0F38F7_P_3): Delete.
+ (VEX_LEN_0F38F3, VEX_LEN_0F38F5, VEX_LEN_0F38F6,
+ VEX_LEN_0F38F7): New.
+ (VEX_LEN_0F3AF0_P_3): Rename to VEX_LEN_0F3AF0.
+ (reg_table): No longer link to mod_table[] for VEX opcodes 0F71,
+ 0F72, and 0F73. No longer link to vex_len_table[] for opcode
+ 0F38F3.
+ (prefix_table): No longer link to vex_len_table[] for opcodes
+ 0F38F5, 0F38F6, 0F38F7, and 0F3AF0.
+ (vex_table): Link to mod_table[] for opcodes 0F71, 0F72, and
+ 0F73. Link to vex_len_table[] for opcodes 0F38F3, 0F38F5,
+ 0F38F6, 0F38F7, and 0F3AF0.
+ (vex_len_table): Link to reg_table[] for opcode 0F38F3. Link to
+ prefix_table[] for opcodes 0F38F5, 0F38F6, 0F38F7, and 0F3AF0.
+ (mod_table): Link to reg_table[] for VEX opcodes 0F71, 0F72, and
+ 0F73.
+
+
+ * opcodes/i386-dis.c (REG_0F71, REG_0F72, REG_0F73): Rename to
+ REG_0F71_MOD_0, REG_0F72_MOD_0, and REG_0F73_MOD_0 respectively.
+ (MOD_0F71_REG_2, MOD_0F71_REG_4, MOD_0F71_REG_6, MOD_0F72_REG_2,
+ MOD_0F72_REG_4, MOD_0F72_REG_6, MOD_0F73_REG_2, MOD_0F73_REG_3,
+ MOD_0F73_REG_6, MOD_0F73_REG_7): Delete.
+ (MOD_0F71, MOD_0F72, MOD_0F73): New.
+ (dis386_twobyte): Link to mod_table[] for opcodes 71, 72, and
+ 73.
+ (reg_table): No longer link to mod_table[] for opcodes 0F71,
+ 0F72, and 0F73.
+ (mod_table): Link to reg_table[] for opcodes 0F71, 0F72, and
+ 0F73.
+
* opcodes/i386-dis.c (MOD_0F18_REG_4, MOD_0F18_REG_5,