aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-i386-intel.c
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2021-03-30 14:09:41 +0200
committerJan Beulich <jbeulich@suse.com>2021-03-30 14:09:41 +0200
commit5e0423804a6e421e0e8a22631eab42c984502f25 (patch)
tree8c4af9a6fd049ff6140fd7ca66160cb1ed273e5f /gas/config/tc-i386-intel.c
parent346848622660e06b352613d425fe6ad67194ed14 (diff)
downloadbinutils-5e0423804a6e421e0e8a22631eab42c984502f25.zip
binutils-5e0423804a6e421e0e8a22631eab42c984502f25.tar.gz
binutils-5e0423804a6e421e0e8a22631eab42c984502f25.tar.bz2
x86: drop seg_entry
Use struct reg_entry instead for most purposes, with a separate array holding just the respective opcode prefix bytes.
Diffstat (limited to 'gas/config/tc-i386-intel.c')
-rw-r--r--gas/config/tc-i386-intel.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/gas/config/tc-i386-intel.c b/gas/config/tc-i386-intel.c
index e61e757..f9b44a4 100644
--- a/gas/config/tc-i386-intel.c
+++ b/gas/config/tc-i386-intel.c
@@ -1028,16 +1028,10 @@ i386_intel_operand (char *operand_string, int got_a_float)
as_warn (_("redundant segment overrides"));
break;
}
- switch (i386_regtab[expP->X_add_number].reg_num)
- {
- case 0: i.seg[i.mem_operands] = &es; break;
- case 1: i.seg[i.mem_operands] = &cs; break;
- case 2: i.seg[i.mem_operands] = &ss; break;
- case 3: i.seg[i.mem_operands] = &ds; break;
- case 4: i.seg[i.mem_operands] = &fs; break;
- case 5: i.seg[i.mem_operands] = &gs; break;
- case RegFlat: i.seg[i.mem_operands] = NULL; break;
- }
+ if (i386_regtab[expP->X_add_number].reg_num == RegFlat)
+ i.seg[i.mem_operands] = NULL;
+ else
+ i.seg[i.mem_operands] = &i386_regtab[expP->X_add_number];
}
if (!i386_index_check (operand_string))