x86-64: accept 64-bit LFS/LGS/LSS forms with suffix or operand size specifier
[deliverable/binutils-gdb.git] / gas / config / tc-i386-intel.c
index 51fa38d91f65672f7e1361ad4df88224123ceb64..b639ab7dd6b6743b0e6aa7df75030040b11bd0f6 100644 (file)
@@ -698,6 +698,15 @@ i386_intel_operand (char *operand_string, int got_a_float)
          i.types[this_operand].bitfield.tbyte = 1;
          if (got_a_float == 1)
            suffix = LONG_DOUBLE_MNEM_SUFFIX;
+         else if (current_templates->start->operand_types[0].bitfield.fword
+                  || current_templates->start->operand_types[0].bitfield.tbyte)
+           {
+             /* l[defgs]s, [ls][gi]dt */
+             if (flag_code == CODE_64BIT)
+               suffix = QWORD_MNEM_SUFFIX;
+             else
+               i.types[this_operand].bitfield.byte = 1; /* cause an error */
+           }
          else
            suffix = BYTE_MNEM_SUFFIX; /* so it will cause an error */
          break;
This page took 0.022865 seconds and 4 git commands to generate.