diff options
author | Jan Beulich <jbeulich@novell.com> | 2018-03-08 08:34:09 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2018-03-08 08:34:09 +0100 |
commit | 38e314eb064ae94318deaa9544c2da3f46f5d319 (patch) | |
tree | 8099891ee394361b9e74f50921e3663bc33c81af /gas | |
parent | d53e6b98a2599ba4ce6ad14f711b76e44a32eea5 (diff) | |
download | gdb-38e314eb064ae94318deaa9544c2da3f46f5d319.zip gdb-38e314eb064ae94318deaa9544c2da3f46f5d319.tar.gz gdb-38e314eb064ae94318deaa9544c2da3f46f5d319.tar.bz2 |
x86: drop FloatD
It can be expressed by D, when making the consumer look at operand size
to tell apart both uses.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-i386.c | 14 |
2 files changed, 12 insertions, 7 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index d45dd9c..f1c18aa 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,10 @@ 2018-03-08 Jan Beulich <jbeulich@suse.com> + * config/tc-i386.c (operand_size_match): Drop / replace uses of + .floatd. + +2018-03-08 Jan Beulich <jbeulich@suse.com> + * testsuite/gas/i386/intel-intel.d: New. * testsuite/gas/i386/i386.exp: Run new test. diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 3a21a35..16f1174 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -2027,7 +2027,7 @@ operand_size_match (const insn_template *t) if (match) return match; - else if (!t->opcode_modifier.d && !t->opcode_modifier.floatd) + else if (!t->opcode_modifier.d) { mismatch: i.error = operand_size_mismatch; @@ -5446,7 +5446,7 @@ match_template (char mnem_suffix) operand_types[1]))) { /* Check if other direction is valid ... */ - if (!t->opcode_modifier.d && !t->opcode_modifier.floatd) + if (!t->opcode_modifier.d) continue; check_reverse: @@ -5464,14 +5464,14 @@ check_reverse: /* Does not match either direction. */ continue; } - /* found_reverse_match holds which of D or FloatDR + /* found_reverse_match holds which of D or FloatR we've found. */ - if (t->opcode_modifier.d) - found_reverse_match = Opcode_D; - else if (t->opcode_modifier.floatd) + if (!t->opcode_modifier.d) + found_reverse_match = 0; + else if (operand_types[0].bitfield.tbyte) found_reverse_match = Opcode_FloatD; else - found_reverse_match = 0; + found_reverse_match = Opcode_D; if (t->opcode_modifier.floatr) found_reverse_match |= Opcode_FloatR; } |