diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2019-06-27 13:39:19 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2019-06-27 13:39:32 -0700 |
commit | e395f487b3758b3de99fddd2ef15a799e9fc1203 (patch) | |
tree | c4f2177a544c1c49c99d1dd05ee294250cb733cb /opcodes/i386-dis-evex-w.h | |
parent | 1b7f24cd6b4e96c64bf82eba06be2c48942699fa (diff) | |
download | gdb-e395f487b3758b3de99fddd2ef15a799e9fc1203.zip gdb-e395f487b3758b3de99fddd2ef15a799e9fc1203.tar.gz gdb-e395f487b3758b3de99fddd2ef15a799e9fc1203.tar.bz2 |
i386: Check vector length for scatter/gather prefetch instructions
Since not all vector lengths are supported by scatter/gather prefetch
instructions, decode them only with supported vector lengths.
gas/
PR binutils/24719
* testsuite/gas/i386/disassem.s: Add test for vgatherpf0dps
with invalid vector length.
* testsuite/gas/i386/x86-64-disassem.s: Likewise.
* testsuite/gas/i386/disassem.d: Updated.
* testsuite/gas/i386/x86-64-disassem.d: Likewise.
opcodes/
PR binutils/24719
* i386-dis-evex-len.h: Add EVEX_LEN_0F38C6_REG_1_PREFIX_2,
EVEX_LEN_0F38C6_REG_2_PREFIX_2, EVEX_LEN_0F38C6_REG_5_PREFIX_2,
EVEX_LEN_0F38C6_REG_6_PREFIX_2, EVEX_LEN_0F38C7_R_1_P_2_W_0,
EVEX_LEN_0F38C7_R_1_P_2_W_1, EVEX_LEN_0F38C7_R_2_P_2_W_0,
EVEX_LEN_0F38C7_R_2_P_2_W_1, EVEX_LEN_0F38C7_R_5_P_2_W_0,
EVEX_LEN_0F38C7_R_5_P_2_W_1, EVEX_LEN_0F38C7_R_6_P_2_W_0 and
EVEX_LEN_0F38C7_R_6_P_2_W_1.
* i386-dis-evex-prefix.h: Update PREFIX_EVEX_0F38C6_REG_1,
PREFIX_EVEX_0F38C6_REG_2, PREFIX_EVEX_0F38C6_REG_5 and
PREFIX_EVEX_0F38C6_REG_6 entries.
* i386-dis-evex-w.h: Update EVEX_W_0F38C7_R_1_P_2,
EVEX_W_0F38C7_R_2_P_2, EVEX_W_0F38C7_R_5_P_2 and
EVEX_W_0F38C7_R_6_P_2 entries.
* i386-dis.c: Add EVEX_LEN_0F38C6_REG_1_PREFIX_2,
EVEX_LEN_0F38C6_REG_2_PREFIX_2, EVEX_LEN_0F38C6_REG_5_PREFIX_2,
EVEX_LEN_0F38C6_REG_6_PREFIX_2, EVEX_LEN_0F38C7_R_1_P_2_W_0,
EVEX_LEN_0F38C7_R_1_P_2_W_1, EVEX_LEN_0F38C7_R_2_P_2_W_0,
EVEX_LEN_0F38C7_R_2_P_2_W_1, EVEX_LEN_0F38C7_R_5_P_2_W_0,
EVEX_LEN_0F38C7_R_5_P_2_W_1, EVEX_LEN_0F38C7_R_6_P_2_W_0 and
EVEX_LEN_0F38C7_R_6_P_2_W_1 enums.
Diffstat (limited to 'opcodes/i386-dis-evex-w.h')
-rw-r--r-- | opcodes/i386-dis-evex-w.h | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/opcodes/i386-dis-evex-w.h b/opcodes/i386-dis-evex-w.h index 2adfde9..44e4b48 100644 --- a/opcodes/i386-dis-evex-w.h +++ b/opcodes/i386-dis-evex-w.h @@ -939,23 +939,23 @@ }, /* EVEX_W_0F38C7_R_1_P_2 */ { - { "vgatherpf0qps", { MVexVSIBDQWpX }, 0 }, - { "vgatherpf0qpd", { MVexVSIBQWpX }, 0 }, + { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_1_P_2_W_0) }, + { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_1_P_2_W_1) }, }, /* EVEX_W_0F38C7_R_2_P_2 */ { - { "vgatherpf1qps", { MVexVSIBDQWpX }, 0 }, - { "vgatherpf1qpd", { MVexVSIBQWpX }, 0 }, + { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_2_P_2_W_0) }, + { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_2_P_2_W_1) }, }, /* EVEX_W_0F38C7_R_5_P_2 */ { - { "vscatterpf0qps", { MVexVSIBDQWpX }, 0 }, - { "vscatterpf0qpd", { MVexVSIBQWpX }, 0 }, + { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_5_P_2_W_0) }, + { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_5_P_2_W_1) }, }, /* EVEX_W_0F38C7_R_6_P_2 */ { - { "vscatterpf1qps", { MVexVSIBDQWpX }, 0 }, - { "vscatterpf1qpd", { MVexVSIBQWpX }, 0 }, + { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_6_P_2_W_0) }, + { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_6_P_2_W_1) }, }, /* EVEX_W_0F3A00_P_2 */ { |