diff options
author | Jan Beulich <jbeulich@suse.com> | 2020-07-06 13:35:38 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2020-07-06 13:35:38 +0200 |
commit | 39e0f45682a39e09ab115333c593dbdd25658dd2 (patch) | |
tree | 1742193a9d440ffb599a4228ee5d19a825e29c7f /opcodes | |
parent | 5b872f7df76cc88e0c4fdfe7872a3df3178302dc (diff) | |
download | fsf-binutils-gdb-39e0f45682a39e09ab115333c593dbdd25658dd2.zip fsf-binutils-gdb-39e0f45682a39e09ab115333c593dbdd25658dd2.tar.gz fsf-binutils-gdb-39e0f45682a39e09ab115333c593dbdd25658dd2.tar.bz2 |
x86: replace EXqScalarS by EXqVexScalarS
There's only a single user, that that one can do fine with the
alternative, as the "Vex" aspect of the other operand kind is meaningful
only on 3-operand insns.
While doing this I noticed that I didn't need to do the same adjustment
in the EVEX tables, and voilĂ - there was a bug, which gets fixed at the
same time (see the testsuite changes).
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes/ChangeLog | 6 | ||||
-rw-r--r-- | opcodes/i386-dis-evex-w.h | 2 | ||||
-rw-r--r-- | opcodes/i386-dis.c | 3 |
3 files changed, 8 insertions, 3 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 3578b6b..205db9b 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,5 +1,11 @@ 2020-07-06 Jan Beulich <jbeulich@suse.com> + * i386-dis.c (EXqScalarS): Delete. + (vex_len_table): Replace EXqScalarS by EXqVexScalarS. + * i386-dis-evex-w.h (vmovq): Use EXqVexScalarS. + +2020-07-06 Jan Beulich <jbeulich@suse.com> + * i386-dis.c (safe-ctype.h): Include. (EXdScalar, EXqScalar): Delete. (d_scalar_mode, q_scalar_mode): Delete. diff --git a/opcodes/i386-dis-evex-w.h b/opcodes/i386-dis-evex-w.h index 3029169..45ecb87 100644 --- a/opcodes/i386-dis-evex-w.h +++ b/opcodes/i386-dis-evex-w.h @@ -294,7 +294,7 @@ /* EVEX_W_0FD6_P_2 */ { { Bad_Opcode }, - { "vmovq", { EXxmm_mq, XMScalar }, 0 }, + { "vmovq", { EXqVexScalarS, XMScalar }, 0 }, }, /* EVEX_W_0FE6_P_1 */ { diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index 9147c37..8ef1aa7 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -386,7 +386,6 @@ fetch_data (struct disassemble_info *info, bfd_byte *addr) #define EXd { OP_EX, d_mode } #define EXdS { OP_EX, d_swap_mode } #define EXq { OP_EX, q_mode } -#define EXqScalarS { OP_EX, q_scalar_swap_mode } #define EXqS { OP_EX, q_swap_mode } #define EXx { OP_EX, x_mode } #define EXxS { OP_EX, x_swap_mode } @@ -9498,7 +9497,7 @@ static const struct dis386 vex_len_table[][2] = { /* VEX_LEN_0FD6_P_2 */ { - { "vmovq", { EXqScalarS, XMScalar }, 0 }, + { "vmovq", { EXqVexScalarS, XMScalar }, 0 }, }, /* VEX_LEN_0FF7_P_2 */ |