aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2018-07-11 10:28:56 +0200
committerJan Beulich <jbeulich@suse.com>2018-07-11 10:28:56 +0200
commit2fb5be8dac9db623ef6e2a61b1f5b09fd246872b (patch)
tree538ca6d180320f7c01012901a31d753cb372b495 /gas
parentbd59a6313dbbf349dff197975f1b6a78be51b7d6 (diff)
downloadgdb-2fb5be8dac9db623ef6e2a61b1f5b09fd246872b.zip
gdb-2fb5be8dac9db623ef6e2a61b1f5b09fd246872b.tar.gz
gdb-2fb5be8dac9db623ef6e2a61b1f5b09fd246872b.tar.bz2
x86: drop {,reg16_}inoutportreg variables
The checking against reg16_inoutportreg can be had with a simple test of a bit, and the value setting from inoutportreg can be replaced by using the actual register's reg_type field. Note that the so far redundant 2nd instance of OPERAND_TYPE_INOUTPORTREG is left in place, for its use in type_names[].
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/config/tc-i386.c9
2 files changed, 8 insertions, 7 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index e6a6d09..712bec5 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,11 @@
2018-07-11 Jan Beulich <jbeulich@suse.com>
+ * config/tc-i386.c (inoutportreg, reg16_inoutportreg): Delete.
+ (i386_att_operand): Replace uses of reg16_inoutportreg and
+ inoutportreg.
+
+2018-07-11 Jan Beulich <jbeulich@suse.com>
+
* config/tc-i386.c (output_insn): Remove check_prefix label and
fold remaining expression.
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 61c1518..baecdec 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -1832,10 +1832,6 @@ operand_type_xor (i386_operand_type x, i386_operand_type y)
static const i386_operand_type acc32 = OPERAND_TYPE_ACC32;
static const i386_operand_type acc64 = OPERAND_TYPE_ACC64;
-static const i386_operand_type inoutportreg
- = OPERAND_TYPE_INOUTPORTREG;
-static const i386_operand_type reg16_inoutportreg
- = OPERAND_TYPE_REG16_INOUTPORTREG;
static const i386_operand_type disp16 = OPERAND_TYPE_DISP16;
static const i386_operand_type disp32 = OPERAND_TYPE_DISP32;
static const i386_operand_type disp32s = OPERAND_TYPE_DISP32S;
@@ -9637,14 +9633,13 @@ i386_att_operand (char *operand_string)
/* Special case for (%dx) while doing input/output op. */
if (i.base_reg
- && operand_type_equal (&i.base_reg->reg_type,
- &reg16_inoutportreg)
+ && i.base_reg->reg_type.bitfield.inoutportreg
&& i.index_reg == 0
&& i.log2_scale_factor == 0
&& i.seg[i.mem_operands] == 0
&& !operand_type_check (i.types[this_operand], disp))
{
- i.types[this_operand] = inoutportreg;
+ i.types[this_operand] = i.base_reg->reg_type;
return 1;
}