+2020-07-06 Jan Beulich <jbeulich@suse.com>
+
+ * i386-dis-evex-len.h (vbroadcastf32x8, vbroadcasti32x8,
+ vinsertf32x8, vinsertf64x4, vextractf32x8, vextractf64x4): Use
+ EXymm.
+ (vinserti32x8, vinserti64x4, vextracti32x8, vextracti64x4):
+ Likewise. Mark 256-bit entries invalid.
+
+2020-07-06 Jan Beulich <jbeulich@suse.com>
+
+ * i386-dis.c (PREFIX_EVEX_0F62, PREFIX_EVEX_0F6A,
+ PREFIX_EVEX_0F6B, PREFIX_EVEX_0F6C, PREFIX_EVEX_0F6D,
+ PREFIX_EVEX_0FD2, PREFIX_EVEX_0FD3, PREFIX_EVEX_0FD4,
+ PREFIX_EVEX_0FF2, PREFIX_EVEX_0FF3, PREFIX_EVEX_0FF4,
+ PREFIX_EVEX_0FFA, PREFIX_EVEX_0FFB, PREFIX_EVEX_0FFE,
+ PREFIX_EVEX_0F382B): Delete.
+ (EVEX_W_0F62_P_2, EVEX_W_0F6A_P_2, EVEX_W_0F6B_P_2,
+ EVEX_W_0F6C_P_2, EVEX_W_0F6D_P_2, EVEX_W_0FD2_P_2,
+ EVEX_W_0FD3_P_2, EVEX_W_0FD4_P_2, EVEX_W_0FF2_P_2,
+ EVEX_W_0FF3_P_2, EVEX_W_0FF4_P_2, EVEX_W_0FFA_P_2,
+ EVEX_W_0FFB_P_2, EVEX_W_0FFE_P_2, EVEX_W_0F382B_P_2): Rename
+ to ...
+ (EVEX_W_0F62, EVEX_W_0F6A, EVEX_W_0F6B, EVEX_W_0F6C,
+ EVEX_W_0F6D, EVEX_W_0FD2, EVEX_W_0FD3, EVEX_W_0FD4,
+ EVEX_W_0FF2, EVEX_W_0FF3, EVEX_W_0FF4, EVEX_W_0FFA,
+ EVEX_W_0FFB, EVEX_W_0FFE, EVEX_W_0F382B): ... these
+ respectively.
+ * i386-dis-evex.h (evex_table): Reference VEX_W table entries
+ for opcodes 0F62, 0F6A, 0F6B, 0F6C, 0F6D, 0FD2, 0FD3, 0FD4,
+ 0FF2, 0FF3, 0FF4, 0FFA, 0FFB, 0FFE, 0F382B.
+ * i386-dis-evex-prefix.h (PREFIX_EVEX_0F62, PREFIX_EVEX_0F6A,
+ PREFIX_EVEX_0F6B, PREFIX_EVEX_0F6C, PREFIX_EVEX_0F6D,
+ PREFIX_EVEX_0FD2, PREFIX_EVEX_0FD3, PREFIX_EVEX_0FD4,
+ PREFIX_EVEX_0FF2, PREFIX_EVEX_0FF3, PREFIX_EVEX_0FF4,
+ PREFIX_EVEX_0FFA, PREFIX_EVEX_0FFB, PREFIX_EVEX_0FFE,
+ PREFIX_EVEX_0F382B): Remove table entries.
+ * i386-dis-evex-w.h: Reference VEX table entries for opcodes
+ 0F62, 0F6A, 0F6B, 0F6C, 0F6D, 0FD2, 0FD3, 0FD4, 0FF2, 0FF3,
+ 0FF4, 0FFA, 0FFB, 0FFE, 0F382B.
+
+2020-07-06 Jan Beulich <jbeulich@suse.com>
+
+ * i386-dis.c (EVEX_LEN_0F3816_P_2, EVEX_LEN_0F3836_P_2,
+ EVEX_LEN_0F3A00_P_2_W_1, EVEX_LEN_0F3A01_P_2_W_1): New
+ enumerators.
+ * i386-dis-evex-len.h (evex_len_table): New EVEX_LEN_0F3816_P_2,
+ EVEX_LEN_0F3836_P_2, EVEX_LEN_0F3A00_P_2_W_1, and
+ EVEX_LEN_0F3A01_P_2_W_1 table entries.
+ * i386-dis-evex-prefix.h, i386-dis-evex-w.h: Reference the above
+ entries.
+
+2020-07-06 Jan Beulich <jbeulich@suse.com>
+
+ * i386-dis.c (EVEX_LEN_0FC4_P_2, EVEX_LEN_0FC5_P_2,
+ EVEX_LEN_0F3A14_P_2, EVEX_LEN_0F3A15_P_2, EVEX_LEN_0F3A16_P_2,
+ EVEX_LEN_0F3A17_P_2, EVEX_LEN_0F3A20_P_2,
+ EVEX_LEN_0F3A21_P_2_W_0, EVEX_LEN_0F3A22_P_2): New enumerators.
+ * i386-dis-evex-len.h (evex_len_table): New EVEX_LEN_0FC4_P_2,
+ EVEX_LEN_0FC5_P_2, EVEX_LEN_0F3A14_P_2, EVEX_LEN_0F3A15_P_2,
+ EVEX_LEN_0F3A16_P_2, EVEX_LEN_0F3A17_P_2, EVEX_LEN_0F3A20_P_2,
+ EVEX_LEN_0F3A21_P_2_W_0, and EVEX_LEN_0F3A22_P_2 table entries.
+ * i386-dis-evex-prefix.h, i386-dis-evex-w.h: Reference the above
+ entries.
+
+2020-07-06 Jan Beulich <jbeulich@suse.com>
+
+ * i386-dis.c (PREFIX_EVEX_0F3A1D, EVEX_W_0F3A1D_P_2): Delete.
+ (VEX_W_0F3813_P_2, VEX_W_0F3A1D_P_2): New enumerators.
+ (prefix_table): Reference VEX_W_0F3813_P_2 and VEX_W_0F3A1D_P_2
+ respectively.
+ (vex_w_table): New VEX_W_0F3813_P_2 and VEX_W_0F3A1D_P_2 table
+ entries.
+ * i386-dis-evex.h (evex_table): Reference VEX table entry for
+ opcode 0F3A1D.
+ * i386-dis-evex-prefix.h (PREFIX_EVEX_0F3A1D): Delete table
+ entry.
+ * i386-dis-evex-w.h (EVEX_W_0F3A1D_P_2): Likewise.
+
+2020-07-06 Jan Beulich <jbeulich@suse.com>
+
+ * i386-dis.c (PREFIX_EVEX_0F60, PREFIX_EVEX_0F61,
+ PREFIX_EVEX_0F63, PREFIX_EVEX_0F67, PREFIX_EVEX_0F68,
+ PREFIX_EVEX_0F69, PREFIX_EVEX_0FD1, PREFIX_EVEX_0FD5,
+ PREFIX_EVEX_0FD8, PREFIX_EVEX_0FD9, PREFIX_EVEX_0FDA,
+ PREFIX_EVEX_0FDC, PREFIX_EVEX_0FDD, PREFIX_EVEX_0FDE,
+ PREFIX_EVEX_0FE0, PREFIX_EVEX_0FE1, PREFIX_EVEX_0FE3,
+ PREFIX_EVEX_0FE4, PREFIX_EVEX_0FE5, PREFIX_EVEX_0FE8,
+ PREFIX_EVEX_0FE9, PREFIX_EVEX_0FEA, PREFIX_EVEX_0FEC,
+ PREFIX_EVEX_0FED, PREFIX_EVEX_0FEE, PREFIX_EVEX_0FF1,
+ PREFIX_EVEX_0FF5, PREFIX_EVEX_0FF6, PREFIX_EVEX_0FF8,
+ PREFIX_EVEX_0FF9, PREFIX_EVEX_0FFC, PREFIX_EVEX_0FFD,
+ PREFIX_EVEX_0F3800, PREFIX_EVEX_0F3804, PREFIX_EVEX_0F380B,
+ PREFIX_EVEX_0F380C, PREFIX_EVEX_0F3818, PREFIX_EVEX_0F381C,
+ PREFIX_EVEX_0F381D, PREFIX_EVEX_0F383C, PREFIX_EVEX_0F383E,
+ PREFIX_EVEX_0F3858, PREFIX_EVEX_0F3878, PREFIX_EVEX_0F3879,
+ PREFIX_EVEX_0F3896, PREFIX_EVEX_0F3897, PREFIX_EVEX_0F3898,
+ PREFIX_EVEX_0F3899, PREFIX_EVEX_0F389C, PREFIX_EVEX_0F389D,
+ PREFIX_EVEX_0F389E, PREFIX_EVEX_0F389F, PREFIX_EVEX_0F38A6,
+ PREFIX_EVEX_0F38A7, PREFIX_EVEX_0F38A8, PREFIX_EVEX_0F38A9,
+ PREFIX_EVEX_0F38AC, PREFIX_EVEX_0F38AD, PREFIX_EVEX_0F38AE,
+ PREFIX_EVEX_0F38AF, PREFIX_EVEX_0F38B6, PREFIX_EVEX_0F38B7,
+ PREFIX_EVEX_0F38B8, PREFIX_EVEX_0F38B9, PREFIX_EVEX_0F38BA,
+ PREFIX_EVEX_0F38BB, PREFIX_EVEX_0F38BC, PREFIX_EVEX_0F38BD,
+ PREFIX_EVEX_0F38BE, PREFIX_EVEX_0F38BF, PREFIX_EVEX_0F38CF,
+ PREFIX_EVEX_0F38DC, PREFIX_EVEX_0F38DD, PREFIX_EVEX_0F38DE,
+ PREFIX_EVEX_0F38DF, PREFIX_EVEX_0F3A04, PREFIX_EVEX_0F3A0F,
+ PREFIX_EVEX_0F3A44, PREFIX_EVEX_0F3ACE, PREFIX_EVEX_0F3ACF,
+ EVEX_W_0F380C_P_2, EVEX_W_0F3818_P_2, EVEX_W_0F3858_P_2,
+ EVEX_W_0F3878_P_2, EVEX_W_0F3879_P_2, EVEX_W_0F3A04_P_2,
+ EVEX_W_0F3ACE_P_2, EVEX_W_0F3ACF_P_2): Delete.
+ (prefix_table): Add EXxEVexR to FMA table entries.
+ (OP_Rounding): Move abort() invocation.
+ * i386-dis-evex.h (evex_table): Reference VEX table for opcodes
+ 0F60, 0F61, 0F63, 0F67, 0F68, 0F69, 0FD1, 0FD5, 0FD8, 0FD9,
+ 0FDA, 0FDC, 0FDD, 0FDE, 0FE0, 0FE1, 0FE3, 0FE4, 0FE5, 0FE8,
+ 0FE9, 0FEA, 0FEC, 0FED, 0FEE, 0FF1, 0FF5, 0FF6, 0FF8, 0FF9,
+ 0FFC, 0FFD, 0F3800, 0F3804, 0F380B, 0F380C, 0F3818, 0F381C,
+ 0F381D, 0F383C, 0F383E, 0F3858, 0F3878, 0F3879, 0F3896, 0F3897,
+ 0F3898, 0F3899, 0F389C, 0F389D, 0F389E, 0F389F, 0F38A6, 0F38A7,
+ 0F38A8, 0F38A9, 0F38AC, 0F38AD, 0F38AE, 0F38AF, 0F38B6, 0F38B7,
+ 0F38B8, 0F38B9, 0F38BA, 0F38BB, 0F38BC, 0F38BD, 0F38BE, 0F38BF,
+ 0F38CF, 0F38DC, 0F38DD, 0F38DE, 0F38DF, 0F3A04, 0F3A0F, 0F3A44,
+ 0F3ACE, 0F3ACF.
+ * i386-dis-evex-prefix.h (PREFIX_EVEX_0F60, PREFIX_EVEX_0F61,
+ PREFIX_EVEX_0F63, PREFIX_EVEX_0F67, PREFIX_EVEX_0F68,
+ PREFIX_EVEX_0F69, PREFIX_EVEX_0FD1, PREFIX_EVEX_0FD5,
+ PREFIX_EVEX_0FD8, PREFIX_EVEX_0FD9, PREFIX_EVEX_0FDA,
+ PREFIX_EVEX_0FDC, PREFIX_EVEX_0FDD, PREFIX_EVEX_0FDE,
+ PREFIX_EVEX_0FE0, PREFIX_EVEX_0FE1, PREFIX_EVEX_0FE3,
+ PREFIX_EVEX_0FE4, PREFIX_EVEX_0FE5, PREFIX_EVEX_0FE8,
+ PREFIX_EVEX_0FE9, PREFIX_EVEX_0FEA, PREFIX_EVEX_0FEC,
+ PREFIX_EVEX_0FED, PREFIX_EVEX_0FEE, PREFIX_EVEX_0FF1,
+ PREFIX_EVEX_0FF5, PREFIX_EVEX_0FF6, PREFIX_EVEX_0FF8,
+ PREFIX_EVEX_0FF9, PREFIX_EVEX_0FFC, PREFIX_EVEX_0FFD,
+ PREFIX_EVEX_0F3800, PREFIX_EVEX_0F3804, PREFIX_EVEX_0F380B,
+ PREFIX_EVEX_0F380C, PREFIX_EVEX_0F3818, PREFIX_EVEX_0F381C,
+ PREFIX_EVEX_0F381D, PREFIX_EVEX_0F383C, PREFIX_EVEX_0F383E,
+ PREFIX_EVEX_0F3858, PREFIX_EVEX_0F3878, PREFIX_EVEX_0F3879,
+ PREFIX_EVEX_0F3896, PREFIX_EVEX_0F3897, PREFIX_EVEX_0F3898,
+ PREFIX_EVEX_0F3899, PREFIX_EVEX_0F389C, PREFIX_EVEX_0F389D,
+ PREFIX_EVEX_0F389E, PREFIX_EVEX_0F389F, PREFIX_EVEX_0F38A6,
+ PREFIX_EVEX_0F38A7, PREFIX_EVEX_0F38A8, PREFIX_EVEX_0F38A9,
+ PREFIX_EVEX_0F38AC, PREFIX_EVEX_0F38AD, PREFIX_EVEX_0F38AE,
+ PREFIX_EVEX_0F38AF, PREFIX_EVEX_0F38B6, PREFIX_EVEX_0F38B7,
+ PREFIX_EVEX_0F38B8, PREFIX_EVEX_0F38B9, PREFIX_EVEX_0F38BA,
+ PREFIX_EVEX_0F38BB, PREFIX_EVEX_0F38BC, PREFIX_EVEX_0F38BD,
+ PREFIX_EVEX_0F38BE, PREFIX_EVEX_0F38BF, PREFIX_EVEX_0F38CF,
+ PREFIX_EVEX_0F38DC, PREFIX_EVEX_0F38DD, PREFIX_EVEX_0F38DE,
+ PREFIX_EVEX_0F38DF, PREFIX_EVEX_0F3A04, PREFIX_EVEX_0F3A0F,
+ PREFIX_EVEX_0F3A44, PREFIX_EVEX_0F3ACE, PREFIX_EVEX_0F3ACF):
+ Delete table entries.
+ * i386-dis-evex-w.h (EVEX_W_0F380C_P_2, EVEX_W_0F3818_P_2,
+ EVEX_W_0F3858_P_2, EVEX_W_0F3878_P_2, EVEX_W_0F3879_P_2,
+ EVEX_W_0F3A04_P_2, EVEX_W_0F3ACE_P_2, EVEX_W_0F3ACF_P_2):
+ Likewise.
+
+2020-07-06 Jan Beulich <jbeulich@suse.com>
+
+ * i386-dis.c (EXqScalarS): Delete.
+ (vex_len_table): Replace EXqScalarS by EXqVexScalarS.
+ * i386-dis-evex-w.h (vmovq): Use EXqVexScalarS.
+
+2020-07-06 Jan Beulich <jbeulich@suse.com>
+
+ * i386-dis.c (safe-ctype.h): Include.
+ (EXdScalar, EXqScalar): Delete.
+ (d_scalar_mode, q_scalar_mode): Delete.
+ (prefix_table, vex_len_table): Use EXxmm_md in place of
+ EXdScalar and EXxmm_mq in place of EXqScalar.
+ (intel_operand_size, OP_E_memory, OP_EX): Remove uses of
+ d_scalar_mode and q_scalar_mode.
+ * i386-dis-evex-w.h (vmovss): Use EXxmm_md.
+ (vmovsd): Use EXxmm_mq.
+
+2020-07-06 Yuri Chornoivan <yurchor@ukr.net>
+
+ PR 26204
+ * arc-dis.c: Fix spelling mistake.
+ * po/opcodes.pot: Regenerate.
+
+2020-07-06 Nick Clifton <nickc@redhat.com>
+
+ * po/pt_BR.po: Updated Brazilian Portugugese translation.
+ * po/uk.po: Updated Ukranian translation.
+
+2020-07-04 Nick Clifton <nickc@redhat.com>
+
+ * configure: Regenerate.
+ * po/opcodes.pot: Regenerate.
+
+2020-07-04 Nick Clifton <nickc@redhat.com>
+
+ Binutils 2.35 branch created.
+
+2020-07-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-gen.c (opcode_modifiers): Add VexSwapSources.
+ * i386-opc.h (VexSwapSources): New.
+ (i386_opcode_modifier): Add vexswapsources.
+ * i386-opc.tbl: Add VexSwapSources to BMI2 and BMI instructions
+ with two source operands swapped.
+ * i386-tbl.h: Regenerated.
+
+2020-06-30 Nelson Chu <nelson.chu@sifive.com>
+
+ * riscv-dis.c (print_insn_args, case 'E'): Updated. Let the
+ unprivileged CSR can also be initialized.
+
+2020-06-29 Alan Modra <amodra@gmail.com>
+
+ * arm-dis.c: Use C style comments.
+ * cr16-opc.c: Likewise.
+ * ft32-dis.c: Likewise.
+ * moxie-opc.c: Likewise.
+ * tic54x-dis.c: Likewise.
+ * s12z-opc.c: Remove useless comment.
+ * xgate-dis.c: Likewise.
+
+2020-06-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-opc.tbl: Add a blank line.
+
+2020-06-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-gen.c (opcode_modifiers): Replace VecSIB with SIB.
+ (VecSIB128): Renamed to ...
+ (VECSIB128): This.
+ (VecSIB256): Renamed to ...
+ (VECSIB256): This.
+ (VecSIB512): Renamed to ...
+ (VECSIB512): This.
+ (VecSIB): Renamed to ...
+ (SIB): This.
+ (i386_opcode_modifier): Replace vecsib with sib.
+ * i386-opc.tbl (VecSIB128): New.
+ (VecSIB256): Likewise.
+ (VecSIB512): Likewise.
+ Replace VecSIB=1, VecSIB=2 and VecSIB=3 with VecSIB128, VecSIB256
+ and VecSIB512, respectively.
+
+2020-06-26 Jan Beulich <jbeulich@suse.com>
+
+ * i386-dis.c: Adjust description of I macro.
+ (x86_64_table): Drop use of I.
+ (float_mem): Replace use of I.
+ (putop): Remove handling of I. Adjust setting/clearing of "alt".
+
+2020-06-26 Jan Beulich <jbeulich@suse.com>
+
+ * i386-dis.c: (print_insn): Avoid straight assignment to
+ priv.orig_sizeflag when processing -M sub-options.
+
+2020-06-25 Jan Beulich <jbeulich@suse.com>
+
+ * i386-dis.c: Adjust description of J macro.
+ (dis386, x86_64_table, mod_table): Replace J.
+ (putop): Remove handling of J.
+
+2020-06-25 Jan Beulich <jbeulich@suse.com>
+
+ * i386-dis.c: (float_mem): Reduce alternatives for fstpt and fldpt.
+
+2020-06-25 Jan Beulich <jbeulich@suse.com>
+
+ * i386-dis.c: Adjust description of "LQ" macro.
+ (dis386_twobyte): Use LQ for sysret.
+ (putop): Adjust handling of LQ.
+
+2020-06-22 Nelson Chu <nelson.chu@sifive.com>
+
+ * riscv-opc.c: Move the structures and functions to bfd/elfxx-riscv.c.
+ * riscv-dis.c: Include elfxx-riscv.h.
+
+2020-06-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-dis.c (prefix_table): Revert the last vmgexit change.
+
+2020-06-17 Lili Cui <lili.cui@intel.com>
+
+ * i386-dis.c (prefix_table): Delete the incorrect vmgexit.
+
+2020-06-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR gas/26115
+ * i386-dis.c (prefix_table): Replace xsuspldtrk with xsusldtrk.
+ * i386-opc.tbl: Likewise.
+ * i386-tbl.h: Regenerated.
+
+2020-06-12 Nelson Chu <nelson.chu@sifive.com>
+
+ * riscv-opc.c (priv_specs): Remove v1.9 and PRIV_SPEC_CLASS_1P9.
+
+2020-06-11 Alex Coplan <alex.coplan@arm.com>
+
+ * aarch64-opc.c (SYSREG): New macro for describing system registers.
+ (SR_CORE): Likewise.
+ (SR_FEAT): Likewise.
+ (SR_RNG): Likewise.
+ (SR_V8_1): Likewise.
+ (SR_V8_2): Likewise.
+ (SR_V8_3): Likewise.
+ (SR_V8_4): Likewise.
+ (SR_PAN): Likewise.
+ (SR_RAS): Likewise.
+ (SR_SSBS): Likewise.
+ (SR_SVE): Likewise.
+ (SR_ID_PFR2): Likewise.
+ (SR_PROFILE): Likewise.
+ (SR_MEMTAG): Likewise.
+ (SR_SCXTNUM): Likewise.
+ (aarch64_sys_regs): Refactor to store feature information in the table.
+ (aarch64_sys_reg_supported_p): Collapse logic for system registers
+ that now describe their own features.
+ (aarch64_pstatefield_supported_p): Likewise.
+
+2020-06-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-dis.c (prefix_table): Fix a typo in comments.
+
+2020-06-09 Jan Beulich <jbeulich@suse.com>
+
+ * i386-dis.c (rex_ignored): Delete.
+ (ckprefix): Drop rex_ignored initialization.
+ (get_valid_dis386): Drop setting of rex_ignored.
+ (print_insn): Drop checking of rex_ignored. Don't record data
+ size prefix as used with VEX-and-alike encodings.
+
+2020-06-09 Jan Beulich <jbeulich@suse.com>
+
+ * i386-dis.c (MOD_0F12_PREFIX_2, MOD_0F16_PREFIX_2,
+ MOD_VEX_0F12_PREFIX_2, MOD_VEX_0F16_PREFIX_2): New enumerators.
+ (VEX_LEN_0F12_P_2, VEX_LEN_0F16_P_2): Delete.
+ (VEX_LEN_0F12_P_2_M_0, VEX_LEN_0F16_P_2_M_0): Define.
+ (prefix_table): Decode MOD for cases 2 of opcodes 0F12, 0F16,
+ VEX_0F12, and VEX_0F16.
+ (vex_len_table): Use X for vmovlp* and vmovh*s. Drop
+ VEX_LEN_0F12_P_2 and VEX_LEN_0F16_P_2 entries.
+ (mod_table): Use X for movlpX and movhpX. Drop PREFIX_OPCODE
+ from movlps and movhlps. New MOD_0F12_PREFIX_2,
+ MOD_0F16_PREFIX_2, MOD_VEX_0F12_PREFIX_2, and
+ MOD_VEX_0F16_PREFIX_2 entries.
+
+2020-06-09 Jan Beulich <jbeulich@suse.com>
+
+ * i386-dis.c (MOD_EVEX_0F12_PREFIX_2, MOD_EVEX_0F13,
+ MOD_EVEX_0F16_PREFIX_2, MOD_EVEX_0F17, MOD_EVEX_0F2B): New enumerators.
+ (PREFIX_EVEX_0F13, PREFIX_EVEX_0F14, PREFIX_EVEX_0F15,
+ PREFIX_EVEX_0F17, PREFIX_EVEX_0F28, PREFIX_EVEX_0F29,
+ PREFIX_EVEX_0F2B, PREFIX_EVEX_0F54, PREFIX_EVEX_0F55,
+ PREFIX_EVEX_0F56, PREFIX_EVEX_0F57, PREFIX_EVEX_0FC6,
+ EVEX_W_0F10_P_0, EVEX_W_0F10_P_2, EVEX_W_0F11_P_0,
+ EVEX_W_0F11_P_2, EVEX_W_0F12_P_0_M_0, EVEX_W_0F12_P_2,
+ EVEX_W_0F13_P_0, EVEX_W_0F13_P_2, EVEX_W_0F14_P_0,
+ EVEX_W_0F14_P_2, EVEX_W_0F15_P_0, EVEX_W_0F15_P_2,
+ EVEX_W_0F16_P_0_M_0, EVEX_W_0F16_P_2, EVEX_W_0F17_P_0,
+ EVEX_W_0F17_P_2, EVEX_W_0F28_P_0, EVEX_W_0F28_P_2,
+ EVEX_W_0F29_P_0, EVEX_W_0F29_P_2, EVEX_W_0F2B_P_0,
+ EVEX_W_0F2B_P_2, EVEX_W_0F2E_P_0, EVEX_W_0F2E_P_2,
+ EVEX_W_0F2F_P_0, EVEX_W_0F2F_P_2, EVEX_W_0F51_P_0,
+ EVEX_W_0F51_P_2, EVEX_W_0F54_P_0, EVEX_W_0F54_P_2,
+ EVEX_W_0F55_P_0, EVEX_W_0F55_P_2, EVEX_W_0F56_P_0,
+ EVEX_W_0F56_P_2, EVEX_W_0F57_P_0, EVEX_W_0F57_P_2,
+ EVEX_W_0F58_P_0, EVEX_W_0F58_P_2, EVEX_W_0F59_P_0,
+ EVEX_W_0F59_P_2, EVEX_W_0F5C_P_0, EVEX_W_0F5C_P_2,
+ EVEX_W_0F5D_P_0, EVEX_W_0F5D_P_2, EVEX_W_0F5E_P_0,
+ EVEX_W_0F5E_P_2, EVEX_W_0F5F_P_0, EVEX_W_0F5F_P_2,
+ EVEX_W_0FC2_P_0, EVEX_W_0FC2_P_2, EVEX_W_0FC6_P_0,
+ EVEX_W_0FC6_P_2): Delete.
+ (print_insn): Add EVEX.W vs embedded prefix consistency check
+ to prefix validation.
+ * i386-dis-evex.h (evex_table): Don't further descend for
+ vunpcklpX, vunpckhpX, vmovapX, vandpX, vandnpX, vorpX, vxorpX,
+ and vshufpX. Continue with MOD decoding for opcodes 0F13, 0F17,
+ and 0F2B.
+ * i386-dis-evex-mod.h: Add/adjust vmovlpX/vmovhpX entries.
+ * i386-dis-evex-prefix.h: Don't further descend for vmovupX,
+ vucomisX, vcomisX, vsqrtpX, vaddpX, vmulpX, vsubpX, vminpX,
+ vdivpX, vmaxpX, and vcmppX. Continue with MOD decoding for cases
+ 2 of PREFIX_EVEX_0F12, PREFIX_EVEX_0F16, and PREFIX_EVEX_0F29.
+ Drop PREFIX_EVEX_0F13, PREFIX_EVEX_0F14, PREFIX_EVEX_0F15,
+ PREFIX_EVEX_0F17, PREFIX_EVEX_0F28, PREFIX_EVEX_0F2B,
+ PREFIX_EVEX_0F54, PREFIX_EVEX_0F55, PREFIX_EVEX_0F56,
+ PREFIX_EVEX_0F57, and PREFIX_EVEX_0FC6 entries.
+ * i386-dis-evex-w.h: Drop EVEX_W_0F10_P_0, EVEX_W_0F10_P_2,
+ EVEX_W_0F11_P_0, EVEX_W_0F11_P_2, EVEX_W_0F12_P_0_M_0,
+ EVEX_W_0F12_P_2, EVEX_W_0F12_P_3, EVEX_W_0F13_P_0,
+ EVEX_W_0F13_P_2, EVEX_W_0F14_P_0, EVEX_W_0F14_P_2,
+ EVEX_W_0F15_P_0, EVEX_W_0F15_P_2, EVEX_W_0F16_P_0_M_0,
+ EVEX_W_0F16_P_2, EVEX_W_0F17_P_0, EVEX_W_0F17_P_2,
+ EVEX_W_0F28_P_0, EVEX_W_0F28_P_2, EVEX_W_0F29_P_0,
+ EVEX_W_0F29_P_2, EVEX_W_0F2B_P_0, EVEX_W_0F2B_P_2,
+ EVEX_W_0F2E_P_0, EVEX_W_0F2E_P_2, EVEX_W_0F2F_P_0,
+ EVEX_W_0F2F_P_2, EVEX_W_0F51_P_0, EVEX_W_0F51_P_2,
+ EVEX_W_0F54_P_0, EVEX_W_0F54_P_2, EVEX_W_0F55_P_0,
+ EVEX_W_0F55_P_2, EVEX_W_0F56_P_0, EVEX_W_0F56_P_2,
+ EVEX_W_0F57_P_0, EVEX_W_0F57_P_2, EVEX_W_0F58_P_0,
+ EVEX_W_0F58_P_2, EVEX_W_0F59_P_0, EVEX_W_0F59_P_2,
+ EVEX_W_0F5C_P_0, EVEX_W_0F5C_P_2, EVEX_W_0F5D_P_0,
+ EVEX_W_0F5D_P_2, EVEX_W_0F5E_P_0, EVEX_W_0F5E_P_2,
+ EVEX_W_0F5F_P_0, EVEX_W_0F5F_P_2, EVEX_W_0FC2_P_0,
+ EVEX_W_0FC2_P_2, EVEX_W_0FC6_P_0, and EVEX_W_0FC6_P_2 entries.
+
+2020-06-09 Jan Beulich <jbeulich@suse.com>
+
+ * i386-dis.c (vex_table): Use PREFIX_OPCODE for vunpcklpX,
+ vunpckhpX, vmovapX, vandpX, vandnpX, vorpX, vxorpX and vshufpX.
+ (vex_len_table) : Likewise for vmovlpX, vmovhpX, vmovntpX, and
+ vmovmskpX.
+ (print_insn): Drop pointless check against bad_opcode. Split
+ prefix validation into legacy and VEX-and-alike parts.
+ (putop): Re-work 'X' macro handling.
+
+2020-06-09 Jan Beulich <jbeulich@suse.com>
+
+ * i386-dis.c (MOD_0F51): Rename to ...
+ (MOD_0F50): ... this.
+
+2020-06-08 Alex Coplan <alex.coplan@arm.com>
+
+ * arm-dis.c (arm_opcodes): Add dfb.
+ (thumb32_opcodes): Add dfb.
+
+2020-06-08 Jan Beulich <jbeulich@suse.com>
+
+ * i386-opc.h (reg_entry): Const-qualify reg_name field.
+
+2020-06-06 Alan Modra <amodra@gmail.com>
+
+ * ppc-dis.c (ppc_opts): Accept -mpwr10/-Mpwr10.
+
+2020-06-05 Alan Modra <amodra@gmail.com>
+
+ * cgen-dis.c (hash_insn_array): Increase size of buf. Assert
+ size is large enough.
+
+2020-06-04 Jose E. Marchesi <jose.marchesi@oracle.com>
+
+ * disassemble.c (disassemble_init_for_target): Set endian_code for
+ bpf targets.
+ * bpf-desc.c: Regenerate.
+ * bpf-opc.c: Likewise.
+ * bpf-dis.c: Likewise.
+
+2020-06-03 Jose E. Marchesi <jose.marchesi@oracle.com>
+
+ * cgen-opc.c (cgen_get_insn_value): Get an `endian' argument.
+ (cgen_put_insn_value): Likewise.
+ (cgen_lookup_insn): Pass endianness to cgen_{get,put}_insn_value.
+ * cgen-dis.in (print_insn): Likewise.
+ * cgen-ibld.in (insert_1): Likewise.
+ (insert_1): Likewise.
+ (insert_insn_normal): Likewise.
+ (extract_1): Likewise.
+ * bpf-dis.c: Regenerate.
+ * bpf-ibld.c: Likewise.
+ * bpf-ibld.c: Likewise.
+ * cgen-dis.in: Likewise.
+ * cgen-ibld.in: Likewise.
+ * cgen-opc.c: Likewise.
+ * epiphany-dis.c: Likewise.
+ * epiphany-ibld.c: Likewise.
+ * fr30-dis.c: Likewise.
+ * fr30-ibld.c: Likewise.
+ * frv-dis.c: Likewise.
+ * frv-ibld.c: Likewise.
+ * ip2k-dis.c: Likewise.
+ * ip2k-ibld.c: Likewise.
+ * iq2000-dis.c: Likewise.
+ * iq2000-ibld.c: Likewise.
+ * lm32-dis.c: Likewise.
+ * lm32-ibld.c: Likewise.
+ * m32c-dis.c: Likewise.
+ * m32c-ibld.c: Likewise.
+ * m32r-dis.c: Likewise.
+ * m32r-ibld.c: Likewise.
+ * mep-dis.c: Likewise.
+ * mep-ibld.c: Likewise.
+ * mt-dis.c: Likewise.
+ * mt-ibld.c: Likewise.
+ * or1k-dis.c: Likewise.
+ * or1k-ibld.c: Likewise.
+ * xc16x-dis.c: Likewise.
+ * xc16x-ibld.c: Likewise.
+ * xstormy16-dis.c: Likewise.
+ * xstormy16-ibld.c: Likewise.
+
+2020-06-04 Jose E. Marchesi <jemarch@gnu.org>
+
+ * cgen-dis.in (cpu_desc_list): New field `insn_endian'.
+ (print_insn_): Handle instruction endian.
+ * bpf-dis.c: Regenerate.
+ * bpf-desc.c: Regenerate.
+ * epiphany-dis.c: Likewise.
+ * epiphany-desc.c: Likewise.
+ * fr30-dis.c: Likewise.
+ * fr30-desc.c: Likewise.
+ * frv-dis.c: Likewise.
+ * frv-desc.c: Likewise.
+ * ip2k-dis.c: Likewise.
+ * ip2k-desc.c: Likewise.
+ * iq2000-dis.c: Likewise.
+ * iq2000-desc.c: Likewise.
+ * lm32-dis.c: Likewise.
+ * lm32-desc.c: Likewise.
+ * m32c-dis.c: Likewise.
+ * m32c-desc.c: Likewise.
+ * m32r-dis.c: Likewise.
+ * m32r-desc.c: Likewise.
+ * mep-dis.c: Likewise.
+ * mep-desc.c: Likewise.
+ * mt-dis.c: Likewise.
+ * mt-desc.c: Likewise.
+ * or1k-dis.c: Likewise.
+ * or1k-desc.c: Likewise.
+ * xc16x-dis.c: Likewise.
+ * xc16x-desc.c: Likewise.
+ * xstormy16-dis.c: Likewise.
+ * xstormy16-desc.c: Likewise.
+
+2020-06-03 Nick Clifton <nickc@redhat.com>
+
+ * po/sr.po: Updated Serbian translation.
+
+2020-06-03 Nelson Chu <nelson.chu@sifive.com>
+
+ * riscv-opc.c (riscv_get_isa_spec_class): Change bfd_boolean to int.
+ (riscv_get_priv_spec_class): Likewise.
+
+2020-06-01 Alan Modra <amodra@gmail.com>
+
+ * bpf-desc.c: Regenerate.
+
+2020-05-28 Jose E. Marchesi <jose.marchesi@oracle.com>
+ David Faust <david.faust@oracle.com>
+
+ * bpf-desc.c: Regenerate.
+ * bpf-opc.h: Likewise.
+ * bpf-opc.c: Likewise.
+ * bpf-dis.c: Likewise.
+
+2020-05-28 Alan Modra <amodra@gmail.com>
+
+ * nios2-dis.c (nios2_print_insn_arg): Avoid shift left of negative
+ values.
+
+2020-05-28 Alan Modra <amodra@gmail.com>
+
+ * ns32k-dis.c (print_insn_arg): Handle d value of 'f' for
+ immediates.
+ (print_insn_ns32k): Revert last change.
+
+2020-05-28 Nick Clifton <nickc@redhat.com>
+
+ * ns32k-dis.c (print_insn_ns32k): Change the arg_bufs array to
+ static.
+
+2020-05-26 Sandra Loosemore <sandra@codesourcery.com>
+
+ Fix extraction of signed constants in nios2 disassembler (again).
+
+ * nios2-dis.c (nios2_print_insn_arg): Add explicit casts to
+ extractions of signed fields.
+
+2020-05-26 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
+
+ * s390-opc.txt: Relocate vector load/store instructions with
+ additional alignment parameter and change architecture level
+ constraint from z14 to z13.
+
+2020-05-21 Alan Modra <amodra@gmail.com>
+
+ * arc-ext.c: Replace "if (x) free (x)" with "free (x)" throughout.
+ * sparc-dis.c: Likewise.
+ * tic4x-dis.c: Likewise.
+ * xtensa-dis.c: Likewise.
+ * bpf-desc.c: Regenerate.
+ * epiphany-desc.c: Regenerate.
+ * fr30-desc.c: Regenerate.
+ * frv-desc.c: Regenerate.
+ * ip2k-desc.c: Regenerate.
+ * iq2000-desc.c: Regenerate.
+ * lm32-desc.c: Regenerate.
+ * m32c-desc.c: Regenerate.
+ * m32r-desc.c: Regenerate.
+ * mep-asm.c: Regenerate.
+ * mep-desc.c: Regenerate.
+ * mt-desc.c: Regenerate.
+ * or1k-desc.c: Regenerate.
+ * xc16x-desc.c: Regenerate.
+ * xstormy16-desc.c: Regenerate.
+
+2020-05-20 Nelson Chu <nelson.chu@sifive.com>
+
+ * riscv-opc.c (riscv_ext_version_table): The table used to store
+ all information about the supported spec and the corresponding ISA
+ versions. Currently, only Zicsr is supported to verify the
+ correctness of Z sub extension settings. Others will be supported
+ in the future patches.
+ (struct isa_spec_t, isa_specs): List for all supported ISA spec
+ classes and the corresponding strings.
+ (riscv_get_isa_spec_class): New function. Get the corresponding ISA
+ spec class by giving a ISA spec string.
+ * riscv-opc.c (struct priv_spec_t): New structure.
+ (struct priv_spec_t priv_specs): List for all supported privilege spec
+ classes and the corresponding strings.
+ (riscv_get_priv_spec_class): New function. Get the corresponding
+ privilege spec class by giving a spec string.
+ (riscv_get_priv_spec_name): New function. Get the corresponding
+ privilege spec string by giving a CSR version class.
+ * riscv-dis.c: Updated since DECLARE_CSR is changed.
+ * riscv-dis.c: Add new disassembler option -Mpriv-spec to dump the CSR
+ according to the chosen version. Build a hash table riscv_csr_hash to
+ store the valid CSR for the chosen pirv verison. Dump the direct
+ CSR address rather than it's name if it is invalid.
+ (parse_riscv_dis_option_without_args): New function. Parse the options
+ without arguments.
+ (parse_riscv_dis_option): Call parse_riscv_dis_option_without_args to
+ parse the options without arguments first, and then handle the options
+ with arguments. Add the new option -Mpriv-spec, which has argument.
+ * riscv-dis.c (print_riscv_disassembler_options): Add description
+ about the new OBJDUMP option.
+
+2020-05-19 Peter Bergner <bergner@linux.ibm.com>
+
+ * ppc-opc.c (insert_ls, extract_ls): Handle 3-bit L fields and new
+ WC values on POWER10 sync, dcbf and wait instructions.
+ (insert_pl, extract_pl): New functions.
+ (L2OPT, LS, WC): Use insert_ls and extract_ls.
+ (LS3): New , 3-bit L for sync.
+ (LS3, L3OPT): New, 3-bit L for sync and dcbf.
+ (SC2, PL): New, 2-bit SC and PL for sync and wait.
+ (XWCPL_MASK, XL3RT_MASK, XSYNCLS_MASK): New instruction masks.
+ (XOPL3, XWCPL, XSYNCLS): New opcode macros.
+ (powerpc_opcodes) <dcbflp, dcbfps, dcbstps pause_short, phwsync,
+ plwsync, stcisync, stncisync, stsync, waitrsv>: New extended mnemonics.
+ <wait>: Enable PL operand on POWER10.
+ <dcbf>: Enable L3OPT operand on POWER10.
+ <sync>: Enable SC2 operand on POWER10.
+
+2020-05-19 Stafford Horne <shorne@gmail.com>
+
+ PR 25184
+ * or1k-asm.c: Regenerate.
+ * or1k-desc.c: Regenerate.
+ * or1k-desc.h: Regenerate.
+ * or1k-dis.c: Regenerate.
+ * or1k-ibld.c: Regenerate.
+ * or1k-opc.c: Regenerate.
+ * or1k-opc.h: Regenerate.
+ * or1k-opinst.c: Regenerate.
+
+2020-05-11 Alan Modra <amodra@gmail.com>
+
+ * ppc-opc (powerpc_opcodes): Add xscmpeqqp, xscmpgeqp, xscmpgtqp,
+ xsmaxcqp, xsmincqp.
+
+2020-05-11 Alan Modra <amodra@gmail.com>
+
+ * ppc-opc.c (powerpc_opcodes): Add lxvrbx, lxvrhx, lxvrwx, lxvrdx,
+ stxvrbx, stxvrhx, stxvrwx, stxvrdx.
+
+2020-05-11 Alan Modra <amodra@gmail.com>
+
+ * ppc-opc.c (powerpc_opcodes): Add xvtlsbb.
+
+2020-05-11 Alan Modra <amodra@gmail.com>
+
+ * ppc-opc.c (powerpc_opcodes): Add vstribl, vstribr, vstrihl, vstrihr,
+ vclrlb, vclrrb, vstribl., vstribr., vstrihl., vstrihr..
+
+2020-05-11 Peter Bergner <bergner@linux.ibm.com>
+
+ * ppc-opc.c (powerpc_opcodes) <setbc, setbcr, setnbc, setnbcr>: New
+ mnemonics.
+
+2020-05-11 Alan Modra <amodra@gmail.com>
+
+ * ppc-opc.c (UIM8, P_U8XX4_MASK): Define.
+ (powerpc_opcodes): Add vgnb, vcfuged, vpextd, vpdepd, vclzdm,
+ vctzdm, cntlzdm, pdepd, pextd, cfuged, cnttzdm.
+ (prefix_opcodes): Add xxeval.
+
+2020-05-11 Alan Modra <amodra@gmail.com>
+
+ * ppc-opc.c (powerpc_opcodes): Add xxgenpcvbm, xxgenpcvhm,
+ xxgenpcvwm, xxgenpcvdm.
+
+2020-05-11 Alan Modra <amodra@gmail.com>
+
+ * ppc-opc.c (MP, VXVAM_MASK): Define.
+ (VXVAPS_MASK): Use VXVA_MASK.
+ (powerpc_opcodes): Add mtvsrbmi, vexpandbm, vexpandhm, vexpandwm,
+ vexpanddm, vexpandqm, vextractbm, vextracthm, vextractwm,
+ vextractdm, vextractqm, mtvsrbm, mtvsrhm, mtvsrwm, mtvsrdm, mtvsrqm,
+ vcntmbb, vcntmbh, vcntmbw, vcntmbd.
+
+2020-05-11 Alan Modra <amodra@gmail.com>
+ Peter Bergner <bergner@linux.ibm.com>
+
+ * ppc-opc.c (insert_xa6a, extract_xa6a, insert_xb6a, extract_xb6a):
+ New functions.
+ (powerpc_operands): Define ACC, PMSK8, PMSK4, PMSK2, XMSK, YMSK,
+ YMSK2, XA6a, XA6ap, XB6a entries.
+ (PMMIRR, P_X_MASK, P_XX1_MASK, P_GER_MASK): Define
+ (P_GER2_MASK, P_GER4_MASK, P_GER8_MASK, P_GER64_MASK): Define.
+ (PPCVSX4): Define.
+ (powerpc_opcodes): Add xxmfacc, xxmtacc, xxsetaccz,
+ xvi8ger4pp, xvi8ger4, xvf16ger2pp, xvf16ger2, xvf32gerpp, xvf32ger,
+ xvi4ger8pp, xvi4ger8, xvi16ger2spp, xvi16ger2s, xvbf16ger2pp,
+ xvbf16ger2, xvf64gerpp, xvf64ger, xvi16ger2, xvf16ger2np,
+ xvf32gernp, xvi8ger4spp, xvi16ger2pp, xvbf16ger2np, xvf64gernp,
+ xvf16ger2pn, xvf32gerpn, xvbf16ger2pn, xvf64gerpn, xvf16ger2nn,
+ xvf32gernn, xvbf16ger2nn, xvf64gernn, xvcvbf16sp, xvcvspbf16.
+ (prefix_opcodes): Add pmxvi8ger4pp, pmxvi8ger4, pmxvf16ger2pp,
+ pmxvf16ger2, pmxvf32gerpp, pmxvf32ger, pmxvi4ger8pp, pmxvi4ger8,
+ pmxvi16ger2spp, pmxvi16ger2s, pmxvbf16ger2pp, pmxvbf16ger2,
+ pmxvf64gerpp, pmxvf64ger, pmxvi16ger2, pmxvf16ger2np, pmxvf32gernp,
+ pmxvi8ger4spp, pmxvi16ger2pp, pmxvbf16ger2np, pmxvf64gernp,
+ pmxvf16ger2pn, pmxvf32gerpn, pmxvbf16ger2pn, pmxvf64gerpn,
+ pmxvf16ger2nn, pmxvf32gernn, pmxvbf16ger2nn, pmxvf64gernn.
+
2020-05-11 Alan Modra <amodra@gmail.com>
* ppc-opc.c (insert_imm32, extract_imm32): New functions.