OSDN Git Service

* config/tc-i386.c (i386_intel_operand): Always call i386_index_check
authorAlan Modra <amodra@bigpond.net.au>
Mon, 4 Aug 2003 12:03:49 +0000 (12:03 +0000)
committerAlan Modra <amodra@bigpond.net.au>
Mon, 4 Aug 2003 12:03:49 +0000 (12:03 +0000)
for memory operands.  Pass the full operand_string to i386_index_check.

gas/ChangeLog
gas/config/tc-i386.c

index 908810a..a6d2d48 100644 (file)
@@ -1,3 +1,8 @@
+2003-08-04  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/tc-i386.c (i386_intel_operand): Always call i386_index_check
+       for memory operands.  Pass the full operand_string to i386_index_check.
+
 2003-08-01  Jason Eckhardt  <jle@rice.edu>
 
         * config/tc-i860.c: Remove SYNTAX_SVR4 macro and occurrences.
index da747e3..9f511ab 100644 (file)
@@ -1417,13 +1417,13 @@ md_assemble (line)
 
       if ((i.tm.cpu_flags & CpuPNI) && i.operands > 0)
        {
-          /* These Intel Precott New Instructions have the fixed
+         /* These Intel Precott New Instructions have the fixed
             operands with an opcode suffix which is coded in the same
             place as an 8-bit immediate field would be. Here we check
             those operands and remove them afterwards.  */
          unsigned int x;
 
-         for (x = 0; x < i.operands; x++) 
+         for (x = 0; x < i.operands; x++)
            if (i.op[x].regs->reg_num != x)
              as_bad (_("can't use register '%%%s' as operand %d in '%s'."),
                        i.op[x].regs->reg_name, x + 1, i.tm.name);
@@ -5621,8 +5621,9 @@ i386_intel_operand (operand_string, got_a_float)
 
              /* Add the displacement expression.  */
              if (*s != '\0')
-               ret = i386_displacement (s, s + strlen (s))
-                     && i386_index_check (s);
+               ret = i386_displacement (s, s + strlen (s));
+             if (ret)
+               ret = i386_index_check (operand_string);
            }
        }