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().
This commit is contained in:
parent
ebdcad3fdd
commit
da944c8a70
2 changed files with 6 additions and 4 deletions
|
@ -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,
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue