diff options
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-i386.c | 33 |
2 files changed, 18 insertions, 20 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index d125b23..0f66f5e 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,10 @@ 2018-03-08 Jan Beulich <jbeulich@suse.com> + * config/tc-i386.c (process_suffix): Do common part of register + checks first. + +2018-03-08 Jan Beulich <jbeulich@suse.com> + * config/tc-i386.c (parse_insn): Move success return up. Combine failure returns. diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 67e8069..83fd18c 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; } } } |