aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2020-01-30 11:33:53 +0100
committerJan Beulich <jbeulich@suse.com>2020-01-30 11:33:53 +0100
commit62b3f54810e4065cdfe420141df34c97b5abb165 (patch)
tree98a42fd2330408c2bb4811bbcbc485ff3bc8f36a /gas
parent1bd8ae1004919317e7aa3cc2bb1d5d0d74d9f03e (diff)
downloadgdb-62b3f54810e4065cdfe420141df34c97b5abb165.zip
gdb-62b3f54810e4065cdfe420141df34c97b5abb165.tar.gz
gdb-62b3f54810e4065cdfe420141df34c97b5abb165.tar.bz2
x86: drop further pointless/bogus DefaultSize
- 64-bit CALL permitting just a single operand size doesn't need it. - FLDENV et al should never have had it. It remains suspicious that a number of 64-bit only insns continue to have the attribute, despite this being intended for .code16gcc handling only.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-i386.c9
2 files changed, 9 insertions, 5 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 9109784..28a964d 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2020-01-30 Jan Beulich <jbeulich@suse.com>
+
+ * config/tc-i386.c (process_suffix): Redo and move FLDENV et al
+ special case.
+
2020-01-27 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/25445
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index e3c971c..ca5496a 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -6368,10 +6368,7 @@ process_suffix (void)
else
abort ();
}
- else if (i.tm.opcode_modifier.defaultsize
- && !i.suffix
- /* exclude fldenv/frstor/fsave/fstenv */
- && i.tm.opcode_modifier.no_ssuf)
+ else if (i.tm.opcode_modifier.defaultsize && !i.suffix)
{
i.suffix = stackop_size;
if (stackop_size == LONG_MNEM_SUFFIX)
@@ -6421,7 +6418,9 @@ process_suffix (void)
if (!i.suffix
&& !i.tm.opcode_modifier.defaultsize
- && !i.tm.opcode_modifier.ignoresize)
+ && !i.tm.opcode_modifier.ignoresize
+ /* Accept FLDENV et al without suffix. */
+ && (i.tm.opcode_modifier.no_ssuf || i.tm.opcode_modifier.floatmf))
{
unsigned int suffixes;