diff options
author | Jan Beulich <jbeulich@suse.com> | 2021-03-30 14:09:41 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2021-03-30 14:09:41 +0200 |
commit | 5e0423804a6e421e0e8a22631eab42c984502f25 (patch) | |
tree | 8c4af9a6fd049ff6140fd7ca66160cb1ed273e5f /gas/config/tc-i386-intel.c | |
parent | 346848622660e06b352613d425fe6ad67194ed14 (diff) | |
download | binutils-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.c | 14 |
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)) |