Other than in 64-bit mode, in 32- and 16-bit modes operand size isn't
ambiguous.
+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
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. */
+[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
+[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
.intel_syntax noprefix
ptwrite ecx
+ ptwrite [ecx]
ptwrite DWORD PTR [ecx]