[PATCH] x86: simplify legacy prefix emission
Jan Beulich
JBeulich@suse.com
Tue Jul 10 13:34:00 GMT 2018
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.
gas/
2018-07-10 Jan Beulich <jbeulich@suse.com>
* config/tc-i386.c (output_insn): Remove check_prefix label and
fold remaining expression.
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -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;
More information about the Binutils
mailing list