This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH] x86: simplify control register check
- From: "Jan Beulich" <JBeulich at suse dot com>
- To: <binutils at sourceware dot org>
- Cc: "H.J. Lu" <hjl dot tools at gmail dot com>
- Date: Wed, 30 May 2018 01:41:41 -0600
- Subject: [PATCH] x86: simplify control register check
... as is already done elsewhere: There's no need for the use of
operand_type_equal() here - the bit identifying control registers isn't
used for any other purposes.
gas/
2018-05-30 Jan Beulich <jbeulich@suse.com>
* config/tc-i386.c (control): Delete.
(parse_real_register): Simply check "control" bit. Re-wrap.
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -1830,7 +1830,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 control = OPERAND_TYPE_CONTROL;
static const i386_operand_type inoutportreg
= OPERAND_TYPE_INOUTPORTREG;
static const i386_operand_type reg16_inoutportreg
@@ -10276,10 +10275,8 @@ parse_real_register (char *reg_string, c
i.vec_encoding = vex_encoding_evex;
}
- if (((r->reg_flags & (RegRex64 | RegRex))
- || r->reg_type.bitfield.qword)
- && (!cpu_arch_flags.bitfield.cpulm
- || !operand_type_equal (&r->reg_type, &control))
+ if (((r->reg_flags & (RegRex64 | RegRex)) || r->reg_type.bitfield.qword)
+ && (!cpu_arch_flags.bitfield.cpulm || !r->reg_type.bitfield.control)
&& flag_code != CODE_64BIT)
return (const reg_entry *) NULL;