x86: simplify decode of opcodes valid with (embedded) 66 prefix only
authorJan Beulich <jbeulich@suse.com>
Tue, 14 Jul 2020 08:33:40 +0000 (10:33 +0200)
committerJan Beulich <jbeulich@suse.com>
Tue, 14 Jul 2020 08:33:40 +0000 (10:33 +0200)
commit7531c61332dbd9061b09312e44b62523547e8225
treeb6263d54a1222a908ece3bd2612cd1fbf5dea945
parent17d3c7eccd41c5053c0b567eb67fe59808cc748a
x86: simplify decode of opcodes valid with (embedded) 66 prefix only

The only valid (embedded or explicit) prefix being the data size one
(which is a fairly common pattern), avoid going through prefix_table[].
Instead extend the "required prefix" logic to also handle PREFIX_DATA
alone in a table entry, now used to identify this case. This requires
moving the (adjusted) ->prefix_requirement logic ahead of the printing
of stray prefixes, as the latter needs to observe the new setting of
PREFIX_DATA in used_prefixes.

Also add PREFIX_OPCODE on related entries when previously there was
mistakenly no decode step through prefix_table[].
gas/ChangeLog
gas/testsuite/gas/i386/prefix.d
opcodes/ChangeLog
opcodes/i386-dis-evex-len.h
opcodes/i386-dis-evex-mod.h
opcodes/i386-dis-evex-prefix.h
opcodes/i386-dis-evex-reg.h
opcodes/i386-dis-evex-w.h
opcodes/i386-dis-evex.h
opcodes/i386-dis.c