x86: simplify legacy prefix emission

The check_prefix label was bogus from the beginning: The special
checking is supposed to happen for PadLock insns only; no
3-opcode-byte insn should go this path.
This commit is contained in:
Jan Beulich 2018-07-11 10:28:16 +02:00 committed by Jan Beulich
parent 7f5cad3047
commit bd59a6313d
2 changed files with 9 additions and 10 deletions

View File

@ -1,3 +1,8 @@
2018-07-11 Jan Beulich <jbeulich@suse.com>
* config/tc-i386.c (output_insn): Remove check_prefix label and
fold remaining expression.
2018-07-11 Jan Beulich <jbeulich@suse.com>
* testsuite/gas/i386/cet.s, testsuite/gas/i386/x86-64-cet.s:

View File

@ -7676,22 +7676,16 @@ output_insn (void)
if (i.tm.base_opcode & 0xff000000)
{
prefix = (i.tm.base_opcode >> 24) & 0xff;
goto check_prefix;
add_prefix (prefix);
}
break;
case 2:
if ((i.tm.base_opcode & 0xff0000) != 0)
{
prefix = (i.tm.base_opcode >> 16) & 0xff;
if (i.tm.cpu_flags.bitfield.cpupadlock)
{
check_prefix:
if (prefix != REPE_PREFIX_OPCODE
|| (i.prefix[REP_PREFIX]
!= REPE_PREFIX_OPCODE))
add_prefix (prefix);
}
else
if (!i.tm.cpu_flags.bitfield.cpupadlock
|| prefix != REPE_PREFIX_OPCODE
|| (i.prefix[REP_PREFIX] != REPE_PREFIX_OPCODE))
add_prefix (prefix);
}
break;