aboutsummaryrefslogtreecommitdiff
path: root/opcodes/i386-dis-evex-len.h
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2021-03-10 08:19:11 +0100
committerJan Beulich <jbeulich@suse.com>2021-03-10 08:19:11 +0100
commit85ba7507f695f914d0ad22b6d1c60bc3571f5345 (patch)
tree9de6b0b4de79c378ee0d1dafd1870532d806e9db /opcodes/i386-dis-evex-len.h
parent066f82b96a4902b9f4f76dfc8d24f8d73ceeef0f (diff)
downloadgdb-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.h65
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 },