aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2018-06-01 08:39:08 +0200
committerJan Beulich <jbeulich@suse.com>2018-06-01 08:39:08 +0200
commit4787f4a5860864337c4f1261713b9462b79ea16a (patch)
tree3265bb62f7bc11d96537295d4e42e105a3514630 /gas
parente0c7f900259ee54a6fdbc5d4103f30209dbec1bc (diff)
downloadgdb-4787f4a5860864337c4f1261713b9462b79ea16a.zip
gdb-4787f4a5860864337c4f1261713b9462b79ea16a.tar.gz
gdb-4787f4a5860864337c4f1261713b9462b79ea16a.tar.bz2
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.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-i386.c7
2 files changed, 7 insertions, 5 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 199a48d..fdf8b2b 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,10 @@
2018-06-01 Jan Beulich <jbeulich@suse.com>
+ * config/tc-i386.c (control): Delete.
+ (parse_real_register): Simply check "control" bit. Re-wrap.
+
+2018-06-01 Jan Beulich <jbeulich@suse.com>
+
* config/tc-i386.c (build_modrm_byte): Drop REX_B from condition
checking for the need of emitting LOCK. Check "control" bit just
once.
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 3d04a83..07a4e11 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -1832,7 +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 control = OPERAND_TYPE_CONTROL;
static const i386_operand_type inoutportreg
= OPERAND_TYPE_INOUTPORTREG;
static const i386_operand_type reg16_inoutportreg
@@ -10274,10 +10273,8 @@ parse_real_register (char *reg_string, char **end_op)
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;