VBROADCAST{F,I}32x2 are the only exceptions 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,
{ "vbroadcastsd", { XM, EXxmm_mq }, 0 },
},
- /* EVEX_LEN_0F381A_P_2_W_0 */
+ /* EVEX_LEN_0F381A_P_2_W_0_M_0 */
{
{ Bad_Opcode },
{ "vbroadcastf32x4", { XM, EXxmm }, 0 },
{ "vbroadcastf32x4", { XM, EXxmm }, 0 },
},
- /* EVEX_LEN_0F381A_P_2_W_1 */
+ /* EVEX_LEN_0F381A_P_2_W_1_M_0 */
{
{ Bad_Opcode },
{ "vbroadcastf64x2", { XM, EXxmm }, 0 },
{ "vbroadcastf64x2", { XM, EXxmm }, 0 },
},
- /* EVEX_LEN_0F381B_P_2_W_0 */
+ /* EVEX_LEN_0F381B_P_2_W_0_M_0 */
{
{ Bad_Opcode },
{ Bad_Opcode },
{ "vbroadcastf32x8", { XM, EXymm }, 0 },
},
- /* EVEX_LEN_0F381B_P_2_W_1 */
+ /* EVEX_LEN_0F381B_P_2_W_1_M_0 */
{
{ Bad_Opcode },
{ Bad_Opcode },
{ "vperm%LW", { XM, Vex, EXx }, 0 },
},
- /* EVEX_LEN_0F385A_P_2_W_0 */
+ /* EVEX_LEN_0F385A_P_2_W_0_M_0 */
{
{ Bad_Opcode },
{ "vbroadcasti32x4", { XM, EXxmm }, 0 },
{ "vbroadcasti32x4", { XM, EXxmm }, 0 },
},
- /* EVEX_LEN_0F385A_P_2_W_1 */
+ /* EVEX_LEN_0F385A_P_2_W_1_M_0 */
{
{ Bad_Opcode },
{ "vbroadcasti64x2", { XM, EXxmm }, 0 },
{ "vbroadcasti64x2", { XM, EXxmm }, 0 },
},
- /* EVEX_LEN_0F385B_P_2_W_0 */
+ /* EVEX_LEN_0F385B_P_2_W_0_M_0 */
{
{ Bad_Opcode },
{ Bad_Opcode },
{ "vbroadcasti32x8", { XM, EXymm }, 0 },
},
- /* EVEX_LEN_0F385B_P_2_W_1 */
+ /* EVEX_LEN_0F385B_P_2_W_1_M_0 */
{
{ Bad_Opcode },
{ Bad_Opcode },
/* MOD_EVEX_0F2B */
{ "vmovntpX", { EXx, XM }, PREFIX_OPCODE },
},
+ /* MOD_EVEX_0F381A_P_2_W_0 */
+ {
+ { EVEX_LEN_TABLE (EVEX_LEN_0F381A_P_2_W_0_M_0) },
+ },
+ /* MOD_EVEX_0F381A_P_2_W_1 */
+ {
+ { EVEX_LEN_TABLE (EVEX_LEN_0F381A_P_2_W_1_M_0) },
+ },
+ /* MOD_EVEX_0F381B_P_2_W_0 */
+ {
+ { EVEX_LEN_TABLE (EVEX_LEN_0F381B_P_2_W_0_M_0) },
+ },
+ /* MOD_EVEX_0F381B_P_2_W_1 */
+ {
+ { EVEX_LEN_TABLE (EVEX_LEN_0F381B_P_2_W_1_M_0) },
+ },
+ /* MOD_EVEX_0F385A_P_2_W_0 */
+ {
+ { EVEX_LEN_TABLE (EVEX_LEN_0F385A_P_2_W_0_M_0) },
+ },
+ /* MOD_EVEX_0F385A_P_2_W_1 */
+ {
+ { EVEX_LEN_TABLE (EVEX_LEN_0F385A_P_2_W_1_M_0) },
+ },
+ /* MOD_EVEX_0F385B_P_2_W_0 */
+ {
+ { EVEX_LEN_TABLE (EVEX_LEN_0F385B_P_2_W_0_M_0) },
+ },
+ /* MOD_EVEX_0F385B_P_2_W_1 */
+ {
+ { EVEX_LEN_TABLE (EVEX_LEN_0F385B_P_2_W_1_M_0) },
+ },
{
/* MOD_EVEX_0F38C6_REG_1 */
{ PREFIX_TABLE (PREFIX_EVEX_0F38C6_REG_1) },
},
/* EVEX_W_0F381A_P_2 */
{
- { EVEX_LEN_TABLE (EVEX_LEN_0F381A_P_2_W_0) },
- { EVEX_LEN_TABLE (EVEX_LEN_0F381A_P_2_W_1) },
+ { MOD_TABLE (MOD_EVEX_0F381A_P_2_W_0) },
+ { MOD_TABLE (MOD_EVEX_0F381A_P_2_W_1) },
},
/* EVEX_W_0F381B_P_2 */
{
- { EVEX_LEN_TABLE (EVEX_LEN_0F381B_P_2_W_0) },
- { EVEX_LEN_TABLE (EVEX_LEN_0F381B_P_2_W_1) },
+ { MOD_TABLE (MOD_EVEX_0F381B_P_2_W_0) },
+ { MOD_TABLE (MOD_EVEX_0F381B_P_2_W_1) },
},
/* EVEX_W_0F381E_P_2 */
{
},
/* EVEX_W_0F385A_P_2 */
{
- { EVEX_LEN_TABLE (EVEX_LEN_0F385A_P_2_W_0) },
- { EVEX_LEN_TABLE (EVEX_LEN_0F385A_P_2_W_1) },
+ { MOD_TABLE (MOD_EVEX_0F385A_P_2_W_0) },
+ { MOD_TABLE (MOD_EVEX_0F385A_P_2_W_1) },
},
/* EVEX_W_0F385B_P_2 */
{
- { EVEX_LEN_TABLE (EVEX_LEN_0F385B_P_2_W_0) },
- { EVEX_LEN_TABLE (EVEX_LEN_0F385B_P_2_W_1) },
+ { MOD_TABLE (MOD_EVEX_0F385B_P_2_W_0) },
+ { MOD_TABLE (MOD_EVEX_0F385B_P_2_W_1) },
},
/* EVEX_W_0F3862_P_2 */
{
MOD_EVEX_0F16_PREFIX_2,
MOD_EVEX_0F17,
MOD_EVEX_0F2B,
+ 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,
MOD_EVEX_0F38C6_REG_1,
MOD_EVEX_0F38C6_REG_2,
MOD_EVEX_0F38C6_REG_5,
EVEX_LEN_0F3816_P_2,
EVEX_LEN_0F3819_P_2_W_0,
EVEX_LEN_0F3819_P_2_W_1,
- 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_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_0F3836_P_2,
- 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,
+ 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,
EVEX_LEN_0F38C6_REG_1_PREFIX_2,
EVEX_LEN_0F38C6_REG_2_PREFIX_2,
EVEX_LEN_0F38C6_REG_5_PREFIX_2,