From: Jan Beulich Date: Thu, 8 Mar 2018 07:50:13 +0000 (+0100) Subject: x86: fold redundant expressions in process_suffix() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8819ada6c48777c0dd0835d46f4a9dd3ecf2b0ec;p=binutils-gdb.git x86: fold redundant expressions in process_suffix() There's no point repeatedly evaluating i.types[op].bitfield.reg. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index d125b23a098..0f66f5efd47 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2018-03-08 Jan Beulich + + * config/tc-i386.c (process_suffix): Do common part of register + checks first. + 2018-03-08 Jan Beulich * config/tc-i386.c (parse_insn): Move success return up. Combine diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 67e806920ef..83fd18cdbaa 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -5736,26 +5736,19 @@ process_suffix (void) if (!i.tm.operand_types[op].bitfield.inoutportreg && !i.tm.operand_types[op].bitfield.shiftcount) { - if (i.types[op].bitfield.reg && i.types[op].bitfield.byte) - { - i.suffix = BYTE_MNEM_SUFFIX; - break; - } - if (i.types[op].bitfield.reg && i.types[op].bitfield.word) - { - i.suffix = WORD_MNEM_SUFFIX; - break; - } - if (i.types[op].bitfield.reg && i.types[op].bitfield.dword) - { - i.suffix = LONG_MNEM_SUFFIX; - break; - } - if (i.types[op].bitfield.reg && i.types[op].bitfield.qword) - { - i.suffix = QWORD_MNEM_SUFFIX; - break; - } + if (!i.types[op].bitfield.reg) + continue; + if (i.types[op].bitfield.byte) + i.suffix = BYTE_MNEM_SUFFIX; + else if (i.types[op].bitfield.word) + i.suffix = WORD_MNEM_SUFFIX; + else if (i.types[op].bitfield.dword) + i.suffix = LONG_MNEM_SUFFIX; + else if (i.types[op].bitfield.qword) + i.suffix = QWORD_MNEM_SUFFIX; + else + continue; + break; } } }