[PATCH] x86: drop {,reg16_}inoutportreg variables
Jan Beulich
JBeulich@suse.com
Tue Jul 10 13:35:00 GMT 2018
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[].
gas/
2018-07-10 Jan Beulich <jbeulich@suse.com>
* config/tc-i386.c (inoutportreg, reg16_inoutportreg): Delete.
(i386_att_operand): Replace uses of reg16_inoutportreg and
inoutportreg.
opcodes/
2018-07-10 Jan Beulich <jbeulich@suse.com>
* i386-gen.c (operand_type_init): Remove
OPERAND_TYPE_REG16_INOUTPORTREG entry and one instance of
OPERAND_TYPE_INOUTPORTREG.
* i386-init.h: Re-generate.
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -1832,10 +1832,6 @@ operand_type_xor (i386_operand_type x, i
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,
- ®16_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;
}
--- a/opcodes/i386-gen.c
+++ b/opcodes/i386-gen.c
@@ -444,10 +444,6 @@ static initializer operand_type_init[] =
"Reg32|Acc|Dword" },
{ "OPERAND_TYPE_ACC64",
"Reg64|Acc|Qword" },
- { "OPERAND_TYPE_INOUTPORTREG",
- "InOutPortReg" },
- { "OPERAND_TYPE_REG16_INOUTPORTREG",
- "Reg16|InOutPortReg" },
{ "OPERAND_TYPE_DISP16_32",
"Disp16|Disp32" },
{ "OPERAND_TYPE_ANYDISP",
More information about the Binutils
mailing list