x86: re-work operand handling for 5-operand XOP insns
[deliverable/binutils-gdb.git] / opcodes / ChangeLog
index 3de6d6462230ab51e902e5808054fd37b65fad79..18605c849bb9ec492330c1e5dfac7e767c91779a 100644 (file)
@@ -1,3 +1,53 @@
+2020-07-08  Jan Beulich  <jbeulich@suse.com>
+
+       * i386-dis.c (OP_EX_VexImmW, OP_XMM_VexW, EXVexImmW, XMVexW,
+       VEX_W_0F3A48_P_2, VEX_W_0F3A49_P_2, vex_w_done, get_vex_imm8,
+       OP_EX_VexReg): Delete.
+       (OP_VexI4, VexI4): New.
+       (vex_w_table): Move vpermil2ps and vpermil2pd entries ...
+       (prefix_table): ... here.
+       (print_insn): Drop setting of vex_w_done.
+
+2020-07-08  Jan Beulich  <jbeulich@suse.com>
+
+       * i386-dis.c (OP_EX_VexW, EXVexW, EXdVexW, EXqVexW): Delete.
+       (prefix_table, vex_len_table): Replace operands for FMA4 insns.
+       (xop_table): Replace operands of 4-operand insns.
+       (OP_REG_VexI4): Move VEX.W based operand swaping here.
+
+2020-07-07  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * arc-opc.c (insert_rbd): New function.
+       (RBD): Define.
+       (RBDdup): Likewise.
+       * arc-tbl.h (vadd2, vadd4h, vmac2h, vmpy2h, vsub4h): Update
+       instructions.
+
+2020-07-07  Jan Beulich  <jbeulich@suse.com>
+
+       * i386-dis.c (EVEX_W_0F3826_P_1, EVEX_W_0F3826_P_2,
+       EVEX_W_0F3828_P_1, EVEX_W_0F3829_P_1, EVEX_W_0F3854_P_2,
+       EVEX_W_0F3866_P_2, EVEX_W_0F3875_P_2, EVEX_W_0F387D_P_2,
+       EVEX_W_0F388D_P_2, EVEX_W_0F3A3E_P_2, EVEX_W_0F3A3F_P_2):
+       Delete.
+       (putop): Handle "BW".
+       * i386-dis-evex-w.h: Move entries for opcodes 0F3826, 0F3826,
+       0F3828, 0F3829, 0F3854, 0F3866, 0F3875, 0F387D, 0F388D, 0F3A3E,
+       and 0F3A3F ...
+       * i386-dis-evex-prefix.h: ... here.
+
+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,
This page took 0.032696 seconds and 4 git commands to generate.