x86: adjust/correct VFRCZ{P,S}{S,D} decoding
[deliverable/binutils-gdb.git] / opcodes / ChangeLog
index f09d59943115e4937609a26fa0513805bb32c7a8..e02d8e59758dde36bd72cfee57e6435c354a3417 100644 (file)
@@ -1,3 +1,481 @@
+2020-07-06  Jan Beulich  <jbeulich@suse.com>
+
+       * i386-dis.c (VEX_LEN_0FXOP_09_80, VEX_LEN_0FXOP_09_81): Delete.
+       (VEX_LEN_0FXOP_09_82_W_0, VEX_LEN_0FXOP_09_83_W_0,
+       VEX_W_0FXOP_09_80, VEX_W_0FXOP_09_81, VEX_W_0FXOP_09_82,
+       VEX_W_0FXOP_09_83): New enumerators.
+       (xop_table): Reference the above.
+       (vex_len_table): Replace vfrczp* entries by vfrczs* ones.
+       (vex_w_table): New VEX_W_0FXOP_09_80, VEX_W_0FXOP_09_81,
+       VEX_W_0FXOP_09_82, and VEX_W_0FXOP_09_83 entries.
+       (get_valid_dis386): Return bad_opcode for XOP.PP != 0.
+
+2020-07-06  Jan Beulich  <jbeulich@suse.com>
+
+       * i386-dis.c (EVEX_W_0F3838_P_1,
+       EVEX_W_0F3839_P_1, EVEX_W_0F3840_P_2, EVEX_W_0F3855_P_2,
+       EVEX_W_0F3868_P_3, EVEX_W_0F3871_P_2, EVEX_W_0F3873_P_2,
+       EVEX_W_0F3A50_P_2, EVEX_W_0F3A51_P_2, EVEX_W_0F3A56_P_2,
+       EVEX_W_0F3A57_P_2, EVEX_W_0F3A66_P_2, EVEX_W_0F3A67_P_2,
+       EVEX_W_0F3A71_P_2, EVEX_W_0F3A73_P_2): Delete.
+       (putop): Centralize management of last[]. Delete SAVE_LAST.
+       * i386-dis-evex-w.h: Move entries for opcodes 0F3838, 0F3839,
+       0F3840, 0F3855, 0F3868, 0F3871, 0F3873, 0F3A50, 0F3A51, 0F3A56,
+       0F3A57, 0F3A66, 0F3A67, 0F3A71, and 0F3A73 ...
+       * i386-dis-evex-prefix.h: here.
+
+2020-07-06  Jan Beulich  <jbeulich@suse.com>
+
+       * i386-dis.c (MOD_EVEX_0F381A_P_2_W_0, MOD_EVEX_0F381A_P_2_W_1,
+       MOD_EVEX_0F381B_P_2_W_0, MOD_EVEX_0F381B_P_2_W_1,
+       MOD_EVEX_0F385A_P_2_W_0, MOD_EVEX_0F385A_P_2_W_1,
+       MOD_EVEX_0F385B_P_2_W_0, MOD_EVEX_0F385B_P_2_W_1): New
+       enumerators.
+       (EVEX_LEN_0F381A_P_2_W_0, EVEX_LEN_0F381A_P_2_W_1,
+       EVEX_LEN_0F381B_P_2_W_0, EVEX_LEN_0F381B_P_2_W_1,
+       EVEX_LEN_0F385A_P_2_W_0, EVEX_LEN_0F385A_P_2_W_1,
+       EVEX_LEN_0F385B_P_2_W_0, EVEX_LEN_0F385B_P_2_W_1): Rename to ...
+       (EVEX_LEN_0F381A_P_2_W_0_M_0, EVEX_LEN_0F381A_P_2_W_1_M_0,
+       EVEX_LEN_0F381B_P_2_W_0_M_0, EVEX_LEN_0F381B_P_2_W_1_M_0,
+       EVEX_LEN_0F385A_P_2_W_0_M_0, EVEX_LEN_0F385A_P_2_W_1_M_0,
+       EVEX_LEN_0F385B_P_2_W_0_M_0, EVEX_LEN_0F385B_P_2_W_1_M_0): ...
+       these, respectively.
+       * i386-dis-evex-len.h: Adjust comments.
+       * i386-dis-evex-mod.h: New MOD_EVEX_0F381A_P_2_W_0,
+       MOD_EVEX_0F381A_P_2_W_1, MOD_EVEX_0F381B_P_2_W_0,
+       MOD_EVEX_0F381B_P_2_W_1, MOD_EVEX_0F385A_P_2_W_0,
+       MOD_EVEX_0F385A_P_2_W_1, MOD_EVEX_0F385B_P_2_W_0, and
+       MOD_EVEX_0F385B_P_2_W_1 table entries.
+       * i386-dis-evex-w.h: Reference mod_table[] for
+       EVEX_W_0F381A_P_2, EVEX_W_0F381B_P_2, EVEX_W_0F385A_P_2, and
+       EVEX_W_0F385B_P_2.
+
+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.
This page took 0.026865 seconds and 4 git commands to generate.