diff options
author | Jan Beulich <jbeulich@suse.com> | 2021-03-11 16:20:37 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2021-03-11 16:20:37 +0100 |
commit | da944c8a70d8c26a56f9fe58e9d21dfa99cb9b02 (patch) | |
tree | c85d8f9ac654fbf83b202f49dce7549f8ec569d3 | |
parent | ebdcad3fddf6ec21f6d4dcc702379a12718cf0c4 (diff) | |
download | binutils-da944c8a70d8c26a56f9fe58e9d21dfa99cb9b02.zip binutils-da944c8a70d8c26a56f9fe58e9d21dfa99cb9b02.tar.gz binutils-da944c8a70d8c26a56f9fe58e9d21dfa99cb9b02.tar.bz2 |
x86: remove stray uses of xmmq_mode
xmmq_mode is documented to not allow for broadcast - don't include it in
respective checks in OP_E_memory().
-rw-r--r-- | opcodes/ChangeLog | 5 | ||||
-rw-r--r-- | opcodes/i386-dis.c | 5 |
2 files changed, 6 insertions, 4 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 4f76456..54c69d8 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,8 @@ +2021-03-11 Jan Beulich <jbeulich@suse.com> + + * i386-dis.c (OP_E_memory): Drop xmmq_mode from broadcast + checks. Move case label past broadcast check. + 2021-03-10 Jan Beulich <jbeulich@suse.com> * opcodes/i386-dis.c (MVexVSIBDQWpX, MVexVSIBQDWpX, diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index 6300ab9..eb91c5d 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -11418,7 +11418,6 @@ OP_E_memory (int bytemode, int sizeflag) /* In EVEX, if operand doesn't allow broadcast, vex.b should be 0. */ if (vex.b && bytemode != x_mode - && bytemode != xmmq_mode && bytemode != evex_half_bcst_xmmq_mode) { BadOp (); @@ -11455,7 +11454,6 @@ OP_E_memory (int bytemode, int sizeflag) break; case x_mode: case evex_half_bcst_xmmq_mode: - case xmmq_mode: if (vex.b) { shift = vex.w ? 3 : 2; @@ -11464,6 +11462,7 @@ OP_E_memory (int bytemode, int sizeflag) /* Fall through. */ case xmmqd_mode: case xmmdw_mode: + case xmmq_mode: case ymmq_mode: case evex_x_nobcst_mode: case x_swap_mode: @@ -11848,11 +11847,9 @@ OP_E_memory (int bytemode, int sizeflag) } if (vex.evex && vex.b && (bytemode == x_mode - || bytemode == xmmq_mode || bytemode == evex_half_bcst_xmmq_mode)) { if (vex.w - || bytemode == xmmq_mode || bytemode == evex_half_bcst_xmmq_mode) { switch (vex.length) |