diff options
-rw-r--r-- | opcodes/ChangeLog | 14 | ||||
-rw-r--r-- | opcodes/i386-dis-evex-prefix.h | 6 | ||||
-rw-r--r-- | opcodes/i386-dis-evex-w.h | 4 | ||||
-rw-r--r-- | opcodes/i386-dis-evex.h | 2 | ||||
-rw-r--r-- | opcodes/i386-dis.c | 16 |
5 files changed, 27 insertions, 15 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index f5463b0..296ef26 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,5 +1,19 @@ 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, diff --git a/opcodes/i386-dis-evex-prefix.h b/opcodes/i386-dis-evex-prefix.h index 413fd97..01998c5 100644 --- a/opcodes/i386-dis-evex-prefix.h +++ b/opcodes/i386-dis-evex-prefix.h @@ -1235,12 +1235,6 @@ { Bad_Opcode }, { VEX_W_TABLE (EVEX_W_0F3A1B_P_2) }, }, - /* PREFIX_EVEX_0F3A1D */ - { - { Bad_Opcode }, - { Bad_Opcode }, - { VEX_W_TABLE (EVEX_W_0F3A1D_P_2) }, - }, /* PREFIX_EVEX_0F3A1E */ { { Bad_Opcode }, diff --git a/opcodes/i386-dis-evex-w.h b/opcodes/i386-dis-evex-w.h index dd3caad..ed7968a 100644 --- a/opcodes/i386-dis-evex-w.h +++ b/opcodes/i386-dis-evex-w.h @@ -738,10 +738,6 @@ { EVEX_LEN_TABLE (EVEX_LEN_0F3A1B_P_2_W_0) }, { EVEX_LEN_TABLE (EVEX_LEN_0F3A1B_P_2_W_1) }, }, - /* EVEX_W_0F3A1D_P_2 */ - { - { "vcvtps2ph", { EXxmmq, XM, EXxEVexS, Ib }, 0 }, - }, /* EVEX_W_0F3A21_P_2 */ { { "vinsertps", { XMM, Vex, EXxmm_md, Ib }, 0 }, diff --git a/opcodes/i386-dis-evex.h b/opcodes/i386-dis-evex.h index 249812b..667d39d 100644 --- a/opcodes/i386-dis-evex.h +++ b/opcodes/i386-dis-evex.h @@ -616,7 +616,7 @@ static const struct dis386 evex_table[][256] = { { PREFIX_TABLE (PREFIX_EVEX_0F3A1A) }, { PREFIX_TABLE (PREFIX_EVEX_0F3A1B) }, { Bad_Opcode }, - { PREFIX_TABLE (PREFIX_EVEX_0F3A1D) }, + { PREFIX_TABLE (PREFIX_VEX_0F3A1D) }, { PREFIX_TABLE (PREFIX_EVEX_0F3A1E) }, { PREFIX_TABLE (PREFIX_EVEX_0F3A1F) }, /* 20 */ diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index 62f4281..7f521b2 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -1615,7 +1615,6 @@ enum PREFIX_EVEX_0F3A19, PREFIX_EVEX_0F3A1A, PREFIX_EVEX_0F3A1B, - PREFIX_EVEX_0F3A1D, PREFIX_EVEX_0F3A1E, PREFIX_EVEX_0F3A1F, PREFIX_EVEX_0F3A20, @@ -1910,6 +1909,7 @@ enum VEX_W_0F380D_P_2, VEX_W_0F380E_P_2, VEX_W_0F380F_P_2, + VEX_W_0F3813_P_2, VEX_W_0F3816_P_2, VEX_W_0F3818_P_2, VEX_W_0F3819_P_2, @@ -1934,6 +1934,7 @@ enum VEX_W_0F3A06_P_2, VEX_W_0F3A18_P_2, VEX_W_0F3A19_P_2, + VEX_W_0F3A1D_P_2, VEX_W_0F3A30_P_2_LEN_0, VEX_W_0F3A31_P_2_LEN_0, VEX_W_0F3A32_P_2_LEN_0, @@ -2110,7 +2111,6 @@ enum EVEX_W_0F3A19_P_2, EVEX_W_0F3A1A_P_2, EVEX_W_0F3A1B_P_2, - EVEX_W_0F3A1D_P_2, EVEX_W_0F3A21_P_2, EVEX_W_0F3A23_P_2, EVEX_W_0F3A38_P_2, @@ -5504,7 +5504,7 @@ static const struct dis386 prefix_table[][4] = { { { Bad_Opcode }, { Bad_Opcode }, - { "vcvtph2ps", { XM, EXxmmq }, 0 }, + { VEX_W_TABLE (VEX_W_0F3813_P_2) }, }, /* PREFIX_VEX_0F3816 */ @@ -6326,7 +6326,7 @@ static const struct dis386 prefix_table[][4] = { { { Bad_Opcode }, { Bad_Opcode }, - { "vcvtps2ph", { EXxmmq, XM, Ib }, 0 }, + { VEX_W_TABLE (VEX_W_0F3A1D_P_2) }, }, /* PREFIX_VEX_0F3A20 */ @@ -9903,6 +9903,10 @@ static const struct dis386 vex_w_table[][2] = { { "vtestpd", { XM, EXx }, 0 }, }, { + /* VEX_W_0F3813_P_2 */ + { "vcvtph2ps", { XM, EXxmmq }, 0 }, + }, + { /* VEX_W_0F3816_P_2 */ { "vpermps", { XM, Vex, EXx }, 0 }, }, @@ -10001,6 +10005,10 @@ static const struct dis386 vex_w_table[][2] = { { "vextractf128", { EXxmm, XM, Ib }, 0 }, }, { + /* VEX_W_0F3A1D_P_2 */ + { "vcvtps2ph", { EXxmmq, XM, EXxEVexS, Ib }, 0 }, + }, + { /* VEX_W_0F3A30_P_2_LEN_0 */ { MOD_TABLE (MOD_VEX_W_0_0F3A30_P_2_LEN_0) }, { MOD_TABLE (MOD_VEX_W_1_0F3A30_P_2_LEN_0) }, |