diff options
author | Jan Beulich <jbeulich@novell.com> | 2019-06-27 08:50:28 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2019-06-27 08:50:28 +0200 |
commit | 2b7bcc8740dda3f314284169aaf1759a9f56025f (patch) | |
tree | 265576874ee97d7639281d6ce247b4df7f5edf91 /opcodes/i386-dis.c | |
parent | c1dc7af52143966da8065b527e7a7000cf9f7705 (diff) | |
download | binutils-gdb-2b7bcc8740dda3f314284169aaf1759a9f56025f.tar.gz |
x86: fold AVX scalar to/from int conversion insns
There's no point doing a separate decode of the VEX.L bit - both decoded
forms are identical.
Diffstat (limited to 'opcodes/i386-dis.c')
-rw-r--r-- | opcodes/i386-dis.c | 54 |
1 files changed, 6 insertions, 48 deletions
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index d892eabe43e..281d02c7c25 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -1818,12 +1818,6 @@ enum VEX_LEN_0F16_P_0_M_1, VEX_LEN_0F16_P_2, VEX_LEN_0F17_M_0, - VEX_LEN_0F2A_P_1, - VEX_LEN_0F2A_P_3, - VEX_LEN_0F2C_P_1, - VEX_LEN_0F2C_P_3, - VEX_LEN_0F2D_P_1, - VEX_LEN_0F2D_P_3, VEX_LEN_0F41_P_0, VEX_LEN_0F41_P_2, VEX_LEN_0F42_P_0, @@ -4696,25 +4690,25 @@ static const struct dis386 prefix_table[][4] = { /* PREFIX_VEX_0F2A */ { { Bad_Opcode }, - { VEX_LEN_TABLE (VEX_LEN_0F2A_P_1) }, + { "vcvtsi2ss%LQ", { XMScalar, VexScalar, Edq }, 0 }, { Bad_Opcode }, - { VEX_LEN_TABLE (VEX_LEN_0F2A_P_3) }, + { "vcvtsi2sd%LQ", { XMScalar, VexScalar, Edq }, 0 }, }, /* PREFIX_VEX_0F2C */ { { Bad_Opcode }, - { VEX_LEN_TABLE (VEX_LEN_0F2C_P_1) }, + { "vcvttss2si", { Gdq, EXdScalar }, 0 }, { Bad_Opcode }, - { VEX_LEN_TABLE (VEX_LEN_0F2C_P_3) }, + { "vcvttsd2si", { Gdq, EXqScalar }, 0 }, }, /* PREFIX_VEX_0F2D */ { { Bad_Opcode }, - { VEX_LEN_TABLE (VEX_LEN_0F2D_P_1) }, + { "vcvtss2si", { Gdq, EXdScalar }, 0 }, { Bad_Opcode }, - { VEX_LEN_TABLE (VEX_LEN_0F2D_P_3) }, + { "vcvtsd2si", { Gdq, EXqScalar }, 0 }, }, /* PREFIX_VEX_0F2E */ @@ -9341,42 +9335,6 @@ static const struct dis386 vex_len_table[][2] = { { "vmovhpX", { EXq, XM }, 0 }, }, - /* VEX_LEN_0F2A_P_1 */ - { - { "vcvtsi2ss%LQ", { XMScalar, VexScalar, Edq }, 0 }, - { "vcvtsi2ss%LQ", { XMScalar, VexScalar, Edq }, 0 }, - }, - - /* VEX_LEN_0F2A_P_3 */ - { - { "vcvtsi2sd%LQ", { XMScalar, VexScalar, Edq }, 0 }, - { "vcvtsi2sd%LQ", { XMScalar, VexScalar, Edq }, 0 }, - }, - - /* VEX_LEN_0F2C_P_1 */ - { - { "vcvttss2si", { Gdq, EXdScalar }, 0 }, - { "vcvttss2si", { Gdq, EXdScalar }, 0 }, - }, - - /* VEX_LEN_0F2C_P_3 */ - { - { "vcvttsd2si", { Gdq, EXqScalar }, 0 }, - { "vcvttsd2si", { Gdq, EXqScalar }, 0 }, - }, - - /* VEX_LEN_0F2D_P_1 */ - { - { "vcvtss2si", { Gdq, EXdScalar }, 0 }, - { "vcvtss2si", { Gdq, EXdScalar }, 0 }, - }, - - /* VEX_LEN_0F2D_P_3 */ - { - { "vcvtsd2si", { Gdq, EXqScalar }, 0 }, - { "vcvtsd2si", { Gdq, EXqScalar }, 0 }, - }, - /* VEX_LEN_0F41_P_0 */ { { Bad_Opcode }, |