diff options
author | Jan Beulich <jbeulich@suse.com> | 2021-03-24 08:31:41 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2021-03-24 08:31:41 +0100 |
commit | 311845694b1fd27ab869bbadd5d07969a62099f4 (patch) | |
tree | c2d047baffcf9531eef71eca7a6ba9b9140a6e26 /gas | |
parent | 5d82f23764e91b1ce06afc334d269c55c9b6b3d3 (diff) | |
download | gdb-311845694b1fd27ab869bbadd5d07969a62099f4.zip gdb-311845694b1fd27ab869bbadd5d07969a62099f4.tar.gz gdb-311845694b1fd27ab869bbadd5d07969a62099f4.tar.bz2 |
x86: don't use opcode_length to identify pseudo prefixes
This is in preparation of opcode_length going away as a field in the
templates. Identify pseudo prefixes by a base opcode of zero instead:
No real prefix has an opcode of zero. This at the same time allows
dropping a curious special case from i386-gen.
Since most attributes are identical for all pseudo prefixes, take the
opportunity and also template them.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-i386.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 19c47b7..91a8ad0 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2021-03-24 Jan Beulich <jbeulich@suse.com> + + * config/tc-i386.c (parse_insn): Recognize pseudo prefixes by + base_opcode and extension_opcode. + 2021-03-23 Jan Beulich <jbeulich@suse.com> * config/tc-i386.c (pte): Re-order opc_pfx[] entries. diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 1f2e407..dfb64d4 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -5101,10 +5101,11 @@ parse_insn (char *line, char *mnemonic) current_templates->start->name); return NULL; } - if (current_templates->start->opcode_length == 0) + + if (current_templates->start->base_opcode == PSEUDO_PREFIX) { /* Handle pseudo prefixes. */ - switch (current_templates->start->base_opcode) + switch (current_templates->start->extension_opcode) { case Prefix_Disp8: /* {disp8} */ |