Browse Source

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().
binutils-2_37-branch
Jan Beulich 5 years ago
parent
commit
da944c8a70
  1. 5
      opcodes/ChangeLog
  2. 5
      opcodes/i386-dis.c

5
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> 2021-03-10 Jan Beulich <jbeulich@suse.com>
* opcodes/i386-dis.c (MVexVSIBDQWpX, MVexVSIBQDWpX, * opcodes/i386-dis.c (MVexVSIBDQWpX, MVexVSIBQDWpX,

5
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. */ /* In EVEX, if operand doesn't allow broadcast, vex.b should be 0. */
if (vex.b if (vex.b
&& bytemode != x_mode && bytemode != x_mode
&& bytemode != xmmq_mode
&& bytemode != evex_half_bcst_xmmq_mode) && bytemode != evex_half_bcst_xmmq_mode)
{ {
BadOp (); BadOp ();
@ -11455,7 +11454,6 @@ OP_E_memory (int bytemode, int sizeflag)
break; break;
case x_mode: case x_mode:
case evex_half_bcst_xmmq_mode: case evex_half_bcst_xmmq_mode:
case xmmq_mode:
if (vex.b) if (vex.b)
{ {
shift = vex.w ? 3 : 2; shift = vex.w ? 3 : 2;
@ -11464,6 +11462,7 @@ OP_E_memory (int bytemode, int sizeflag)
/* Fall through. */ /* Fall through. */
case xmmqd_mode: case xmmqd_mode:
case xmmdw_mode: case xmmdw_mode:
case xmmq_mode:
case ymmq_mode: case ymmq_mode:
case evex_x_nobcst_mode: case evex_x_nobcst_mode:
case x_swap_mode: case x_swap_mode:
@ -11848,11 +11847,9 @@ OP_E_memory (int bytemode, int sizeflag)
} }
if (vex.evex && vex.b if (vex.evex && vex.b
&& (bytemode == x_mode && (bytemode == x_mode
|| bytemode == xmmq_mode
|| bytemode == evex_half_bcst_xmmq_mode)) || bytemode == evex_half_bcst_xmmq_mode))
{ {
if (vex.w if (vex.w
|| bytemode == xmmq_mode
|| bytemode == evex_half_bcst_xmmq_mode) || bytemode == evex_half_bcst_xmmq_mode)
{ {
switch (vex.length) switch (vex.length)

Loading…
Cancel
Save