aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-i386.c
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2021-03-24 08:31:41 +0100
committerJan Beulich <jbeulich@suse.com>2021-03-24 08:31:41 +0100
commit311845694b1fd27ab869bbadd5d07969a62099f4 (patch)
treec2d047baffcf9531eef71eca7a6ba9b9140a6e26 /gas/config/tc-i386.c
parent5d82f23764e91b1ce06afc334d269c55c9b6b3d3 (diff)
downloadbinutils-311845694b1fd27ab869bbadd5d07969a62099f4.zip
binutils-311845694b1fd27ab869bbadd5d07969a62099f4.tar.gz
binutils-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/config/tc-i386.c')
-rw-r--r--gas/config/tc-i386.c5
1 files changed, 3 insertions, 2 deletions
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} */