ix86/Intel: don't require memory operand size specifier for PTWRITE
authorJan Beulich <jbeulich@novell.com>
Thu, 16 Nov 2017 11:28:06 +0000 (12:28 +0100)
committerJan Beulich <jbeulich@suse.com>
Thu, 16 Nov 2017 11:28:06 +0000 (12:28 +0100)
Other than in 64-bit mode, in 32- and 16-bit modes operand size isn't
ambiguous.

gas/ChangeLog
gas/config/tc-i386.c
gas/testsuite/gas/i386/ptwrite-intel.d
gas/testsuite/gas/i386/ptwrite.d
gas/testsuite/gas/i386/ptwrite.s

index eae7a29..e1aacff 100644 (file)
@@ -1,3 +1,12 @@
+2017-11-16  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-i386.c (process_suffix): Ignore .no_qsuf outside of
+       64-bit mode.
+       * testsuite/gas/i386/ptwrite.s: Add test for memory operand
+       without DWORD PTR.
+       * testsuite/gas/i386/ptwrite.d,
+       testsuite/gas/i386/ptwrite-intel.d: Adjust expectations.
+
 2017-11-15  H.J. Lu  <hongjiu.lu@intel.com>
 
        * testsuite/gas/i386/noextreg.s: Replace .code64/.code32 and
index f20be8e..5a7066c 100644 (file)
@@ -5565,7 +5565,7 @@ process_suffix (void)
            suffixes |= 1 << 3;
          if (!i.tm.opcode_modifier.no_ssuf)
            suffixes |= 1 << 4;
-         if (!i.tm.opcode_modifier.no_qsuf)
+         if (flag_code == CODE_64BIT && !i.tm.opcode_modifier.no_qsuf)
            suffixes |= 1 << 5;
 
          /* There are more than suffix matches.  */
index d39609a..f0f2aad 100644 (file)
@@ -15,4 +15,5 @@ Disassembly of section \.text:
  +[a-f0-9]+:   f3 0f ae 21             ptwrite DWORD PTR \[ecx\]
  +[a-f0-9]+:   f3 0f ae e1             ptwrite ecx
  +[a-f0-9]+:   f3 0f ae 21             ptwrite DWORD PTR \[ecx\]
+ +[a-f0-9]+:   f3 0f ae 21             ptwrite DWORD PTR \[ecx\]
 #pass
index 399c740..31552bc 100644 (file)
@@ -15,4 +15,5 @@ Disassembly of section \.text:
  +[a-f0-9]+:   f3 0f ae 21             ptwritel \(%ecx\)
  +[a-f0-9]+:   f3 0f ae e1             ptwrite %ecx
  +[a-f0-9]+:   f3 0f ae 21             ptwritel \(%ecx\)
+ +[a-f0-9]+:   f3 0f ae 21             ptwritel \(%ecx\)
 #pass
index 3aa4be7..61efd7e 100644 (file)
@@ -9,4 +9,5 @@ _start:
 
        .intel_syntax noprefix
        ptwrite ecx
+       ptwrite [ecx]
        ptwrite DWORD PTR [ecx]