From bd59a6313dbbf349dff197975f1b6a78be51b7d6 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Wed, 11 Jul 2018 10:28:16 +0200 Subject: [PATCH] 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. --- gas/ChangeLog | 5 +++++ gas/config/tc-i386.c | 14 ++++---------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index ddb62358d35..e6a6d096369 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2018-07-11 Jan Beulich + + * config/tc-i386.c (output_insn): Remove check_prefix label and + fold remaining expression. + 2018-07-11 Jan Beulich * testsuite/gas/i386/cet.s, testsuite/gas/i386/x86-64-cet.s: diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index a7b84000e05..61c1518c2b5 100644 --- 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; -- 2.30.2