diff options
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes/ChangeLog | 19 | ||||
-rw-r--r-- | opcodes/i386-dis-evex-mod.h | 20 | ||||
-rw-r--r-- | opcodes/i386-dis-evex-prefix.h | 8 | ||||
-rw-r--r-- | opcodes/i386-dis-evex-w.h | 34 | ||||
-rw-r--r-- | opcodes/i386-dis.c | 17 |
5 files changed, 35 insertions, 63 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 965f7a7..82172eb 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,5 +1,24 @@ 2019-07-01 Jan Beulich <jbeulich@suse.com> + * i386-dis.c (EXdScalarS, MOD_EVEX_0F10_PREFIX_1, + MOD_EVEX_0F10_PREFIX_3, MOD_EVEX_0F11_PREFIX_1, + MOD_EVEX_0F11_PREFIX_3, EVEX_W_0F10_P_1_M_0, + EVEX_W_0F10_P_1_M_1, EVEX_W_0F10_P_3_M_0, EVEX_W_0F10_P_3_M_1, + EVEX_W_0F11_P_1_M_0, EVEX_W_0F11_P_1_M_1, EVEX_W_0F11_P_3_M_0, + EVEX_W_0F11_P_3_M_1): Delete. + (EVEX_W_0F10_P_1, EVEX_W_0F10_P_3, EVEX_W_0F11_P_1, + EVEX_W_0F11_P_3): New. + * i386-dis-evex-mod.h: Remove MOD_EVEX_0F10_PREFIX_1, + MOD_EVEX_0F10_PREFIX_3, MOD_EVEX_0F11_PREFIX_1, and + MOD_EVEX_0F11_PREFIX_3 table entries. + * i386-dis-evex-prefix.h: Adjust PREFIX_EVEX_0F10 and + PREFIX_EVEX_0F11 table entries. + * i386-dis-evex-w.h: Replace EVEX_W_0F10_P_1_M_{0,1}, + EVEX_W_0F10_P_3_M_{0,1}, EVEX_W_0F11_P_1_M_{0,1}, and + EVEX_W_0F11_P_3_M_{0,1} table entries. + +2019-07-01 Jan Beulich <jbeulich@suse.com> + * i386-dis.c (EXdVex, EXdVexS, EXqVex, EXqVexS, XMVex): Delete. diff --git a/opcodes/i386-dis-evex-mod.h b/opcodes/i386-dis-evex-mod.h index 2ae35c3..37db98a 100644 --- a/opcodes/i386-dis-evex-mod.h +++ b/opcodes/i386-dis-evex-mod.h @@ -1,24 +1,4 @@ { - /* MOD_EVEX_0F10_PREFIX_1 */ - { VEX_W_TABLE (EVEX_W_0F10_P_1_M_0) }, - { VEX_W_TABLE (EVEX_W_0F10_P_1_M_1) }, - }, - { - /* MOD_EVEX_0F10_PREFIX_3 */ - { VEX_W_TABLE (EVEX_W_0F10_P_3_M_0) }, - { VEX_W_TABLE (EVEX_W_0F10_P_3_M_1) }, - }, - { - /* MOD_EVEX_0F11_PREFIX_1 */ - { VEX_W_TABLE (EVEX_W_0F11_P_1_M_0) }, - { VEX_W_TABLE (EVEX_W_0F11_P_1_M_1) }, - }, - { - /* MOD_EVEX_0F11_PREFIX_3 */ - { VEX_W_TABLE (EVEX_W_0F11_P_3_M_0) }, - { VEX_W_TABLE (EVEX_W_0F11_P_3_M_1) }, - }, - { /* MOD_EVEX_0F12_PREFIX_0 */ { VEX_W_TABLE (EVEX_W_0F12_P_0_M_0) }, { VEX_W_TABLE (EVEX_W_0F12_P_0_M_1) }, diff --git a/opcodes/i386-dis-evex-prefix.h b/opcodes/i386-dis-evex-prefix.h index 248d7a2..1f296c1 100644 --- a/opcodes/i386-dis-evex-prefix.h +++ b/opcodes/i386-dis-evex-prefix.h @@ -1,16 +1,16 @@ /* PREFIX_EVEX_0F10 */ { { VEX_W_TABLE (EVEX_W_0F10_P_0) }, - { MOD_TABLE (MOD_EVEX_0F10_PREFIX_1) }, + { VEX_W_TABLE (EVEX_W_0F10_P_1) }, { VEX_W_TABLE (EVEX_W_0F10_P_2) }, - { MOD_TABLE (MOD_EVEX_0F10_PREFIX_3) }, + { VEX_W_TABLE (EVEX_W_0F10_P_3) }, }, /* PREFIX_EVEX_0F11 */ { { VEX_W_TABLE (EVEX_W_0F11_P_0) }, - { MOD_TABLE (MOD_EVEX_0F11_PREFIX_1) }, + { VEX_W_TABLE (EVEX_W_0F11_P_1) }, { VEX_W_TABLE (EVEX_W_0F11_P_2) }, - { MOD_TABLE (MOD_EVEX_0F11_PREFIX_3) }, + { VEX_W_TABLE (EVEX_W_0F11_P_3) }, }, /* PREFIX_EVEX_0F12 */ { diff --git a/opcodes/i386-dis-evex-w.h b/opcodes/i386-dis-evex-w.h index 44e4b48..5aa2a63 100644 --- a/opcodes/i386-dis-evex-w.h +++ b/opcodes/i386-dis-evex-w.h @@ -2,55 +2,37 @@ { { "vmovups", { XM, EXEvexXNoBcst }, 0 }, }, - /* EVEX_W_0F10_P_1_M_0 */ + /* EVEX_W_0F10_P_1 */ { - { "vmovss", { XMScalar, EXdScalar }, 0 }, - }, - /* EVEX_W_0F10_P_1_M_1 */ - { - { "vmovss", { XMScalar, VexScalar, EXxmm_md }, 0 }, + { "vmovss", { XMVexScalar, VexScalar, EXdScalar }, 0 }, }, /* EVEX_W_0F10_P_2 */ { { Bad_Opcode }, { "vmovupd", { XM, EXEvexXNoBcst }, 0 }, }, - /* EVEX_W_0F10_P_3_M_0 */ - { - { Bad_Opcode }, - { "vmovsd", { XMScalar, EXqScalar }, 0 }, - }, - /* EVEX_W_0F10_P_3_M_1 */ + /* EVEX_W_0F10_P_3 */ { { Bad_Opcode }, - { "vmovsd", { XMScalar, VexScalar, EXxmm_mq }, 0 }, + { "vmovsd", { XMVexScalar, VexScalar, EXqScalar }, 0 }, }, /* EVEX_W_0F11_P_0 */ { { "vmovups", { EXxS, XM }, 0 }, }, - /* EVEX_W_0F11_P_1_M_0 */ + /* EVEX_W_0F11_P_1 */ { - { "vmovss", { EXdScalarS, XMScalar }, 0 }, - }, - /* EVEX_W_0F11_P_1_M_1 */ - { - { "vmovss", { EXxS, Vex, XMScalar }, 0 }, + { "vmovss", { EXdVexScalarS, VexScalar, XMScalar }, 0 }, }, /* EVEX_W_0F11_P_2 */ { { Bad_Opcode }, { "vmovupd", { EXxS, XM }, 0 }, }, - /* EVEX_W_0F11_P_3_M_0 */ - { - { Bad_Opcode }, - { "vmovsd", { EXqScalarS, XMScalar }, 0 }, - }, - /* EVEX_W_0F11_P_3_M_1 */ + /* EVEX_W_0F11_P_3 */ { { Bad_Opcode }, - { "vmovsd", { EXxS, Vex, XMScalar }, 0 }, + { "vmovsd", { EXqVexScalarS, VexScalar, XMScalar }, 0 }, }, /* EVEX_W_0F12_P_0_M_0 */ { diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index 5b47b4c..dc81420 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -385,7 +385,6 @@ fetch_data (struct disassemble_info *info, bfd_byte *addr) #define EXd { OP_EX, d_mode } #define EXdScalar { OP_EX, d_scalar_mode } #define EXdS { OP_EX, d_swap_mode } -#define EXdScalarS { OP_EX, d_scalar_swap_mode } #define EXq { OP_EX, q_mode } #define EXqScalar { OP_EX, q_scalar_mode } #define EXqScalarS { OP_EX, q_scalar_swap_mode } @@ -932,10 +931,6 @@ enum MOD_VEX_W_0_0F3A33_P_2_LEN_0, MOD_VEX_W_1_0F3A33_P_2_LEN_0, - MOD_EVEX_0F10_PREFIX_1, - MOD_EVEX_0F10_PREFIX_3, - MOD_EVEX_0F11_PREFIX_1, - MOD_EVEX_0F11_PREFIX_3, MOD_EVEX_0F12_PREFIX_0, MOD_EVEX_0F16_PREFIX_0, MOD_EVEX_0F38C6_REG_1, @@ -2042,17 +2037,13 @@ enum VEX_W_0F3ACF_P_2, EVEX_W_0F10_P_0, - EVEX_W_0F10_P_1_M_0, - EVEX_W_0F10_P_1_M_1, + EVEX_W_0F10_P_1, EVEX_W_0F10_P_2, - EVEX_W_0F10_P_3_M_0, - EVEX_W_0F10_P_3_M_1, + EVEX_W_0F10_P_3, EVEX_W_0F11_P_0, - EVEX_W_0F11_P_1_M_0, - EVEX_W_0F11_P_1_M_1, + EVEX_W_0F11_P_1, EVEX_W_0F11_P_2, - EVEX_W_0F11_P_3_M_0, - EVEX_W_0F11_P_3_M_1, + EVEX_W_0F11_P_3, EVEX_W_0F12_P_0_M_0, EVEX_W_0F12_P_0_M_1, EVEX_W_0F12_P_1, |