From: Jan Beulich Date: Thu, 11 Mar 2021 15:20:37 +0000 (+0100) Subject: x86: remove stray uses of xmmq_mode X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=da944c8a70d8c26a56f9fe58e9d21dfa99cb9b02;p=binutils-gdb.git 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(). --- diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 4f76456d3e2..54c69d85624 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,8 @@ +2021-03-11 Jan Beulich + + * i386-dis.c (OP_E_memory): Drop xmmq_mode from broadcast + checks. Move case label past broadcast check. + 2021-03-10 Jan Beulich * opcodes/i386-dis.c (MVexVSIBDQWpX, MVexVSIBQDWpX, diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index 6300ab9d7b1..eb91c5df4a6 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)