diff options
author | Jan Beulich <jbeulich@suse.com> | 2021-03-10 08:19:11 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2021-03-10 08:19:11 +0100 |
commit | 85ba7507f695f914d0ad22b6d1c60bc3571f5345 (patch) | |
tree | 9de6b0b4de79c378ee0d1dafd1870532d806e9db /opcodes/i386-dis-evex-len.h | |
parent | 066f82b96a4902b9f4f76dfc8d24f8d73ceeef0f (diff) | |
download | gdb-85ba7507f695f914d0ad22b6d1c60bc3571f5345.zip gdb-85ba7507f695f914d0ad22b6d1c60bc3571f5345.tar.gz gdb-85ba7507f695f914d0ad22b6d1c60bc3571f5345.tar.bz2 |
x86: reuse further VEX entries for EVEX
When the VEX.L=1 decode matches that of both EVEX.L'L=1 and EVEX.L'L=2
(typically when all three are invalid) the (smaller) VEX table entry can
be reused by EVEX, instead of duplicating data. (Note that XM and XMM as
well as EXxmm_md and EXd are equivalent at least for the purposes here.)
Diffstat (limited to 'opcodes/i386-dis-evex-len.h')
-rw-r--r-- | opcodes/i386-dis-evex-len.h | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/opcodes/i386-dis-evex-len.h b/opcodes/i386-dis-evex-len.h index 01a8ee5..46f6eeb 100644 --- a/opcodes/i386-dis-evex-len.h +++ b/opcodes/i386-dis-evex-len.h @@ -1,34 +1,4 @@ static const struct dis386 evex_len_table[][3] = { - /* EVEX_LEN_0F6E */ - { - { "vmovK", { XMScalar, Edq }, PREFIX_DATA }, - }, - - /* EVEX_LEN_0F7E_P_1 */ - { - { VEX_W_TABLE (EVEX_W_0F7E_P_1) }, - }, - - /* EVEX_LEN_0F7E_P_2 */ - { - { "vmovK", { Edq, XMScalar }, 0 }, - }, - - /* EVEX_LEN_0FC4 */ - { - { "vpinsrw", { XM, Vex, Edqw, Ib }, PREFIX_DATA }, - }, - - /* EVEX_LEN_0FC5 */ - { - { "vpextrw", { Gdq, XS, Ib }, PREFIX_DATA }, - }, - - /* EVEX_LEN_0FD6 */ - { - { VEX_W_TABLE (EVEX_W_0FD6_L_0) }, - }, - /* EVEX_LEN_0F3816 */ { { Bad_Opcode }, @@ -106,26 +76,6 @@ static const struct dis386 evex_len_table[][3] = { { VEX_W_TABLE (VEX_W_0F3A01_L_1) }, }, - /* EVEX_LEN_0F3A14 */ - { - { "vpextrb", { Edqb, XM, Ib }, PREFIX_DATA }, - }, - - /* EVEX_LEN_0F3A15 */ - { - { "vpextrw", { Edqw, XM, Ib }, PREFIX_DATA }, - }, - - /* EVEX_LEN_0F3A16 */ - { - { "vpextrK", { Edq, XM, Ib }, PREFIX_DATA }, - }, - - /* EVEX_LEN_0F3A17 */ - { - { "vextractps", { Edqd, XMM, Ib }, PREFIX_DATA }, - }, - /* EVEX_LEN_0F3A18 */ { { Bad_Opcode }, @@ -154,21 +104,6 @@ static const struct dis386 evex_len_table[][3] = { { VEX_W_TABLE (EVEX_W_0F3A1B_L_2) }, }, - /* EVEX_LEN_0F3A20 */ - { - { "vpinsrb", { XM, Vex, Edqb, Ib }, PREFIX_DATA }, - }, - - /* EVEX_LEN_0F3A21_W_0 */ - { - { "vinsertps", { XMM, Vex, EXxmm_md, Ib }, PREFIX_DATA }, - }, - - /* EVEX_LEN_0F3A22 */ - { - { "vpinsrK", { XM, Vex, Edq, Ib }, PREFIX_DATA }, - }, - /* EVEX_LEN_0F3A23 */ { { Bad_Opcode }, |