+2020-07-08 Jan Beulich <jbeulich@suse.com>
+
+ * i386-dis.c (XMVexScalarI4): Define.
+ (VEX_LEN_0F3A6A_P_2, VEX_LEN_0F3A6B_P_2, VEX_LEN_0F3A6E_P_2,
+ VEX_LEN_0F3A6F_P_2, VEX_LEN_0F3A7A_P_2, VEX_LEN_0F3A7B_P_2,
+ VEX_LEN_0F3A7E_P_2, VEX_LEN_0F3A7F_P_2): Delete.
+ (vex_len_table): Move scalar FMA4 entries ...
+ (prefix_table): ... here.
+ (OP_REG_VexI4): Handle scalar_mode.
+ * i386-opc.tbl: Use VexLIG for scalar FMA4 insns.
+ * i386-tbl.h: Re-generate.
+
+2020-07-08 Jan Beulich <jbeulich@suse.com>
+
+ * i386-dis.c (OP_Vex_2src_1, OP_Vex_2src_2, Vex_2src_1,
+ Vex_2src_2): Delete.
+ (OP_VexW, VexW): New.
+ (xop_table): Use EXx for rotates by immediate. Use EXx and VexW
+ for shifts and rotates by register.
+
+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,
+ 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,