* config/tc-i386.c (i386_intel_operand): Always call i386_index_check

for memory operands.  Pass the full operand_string to i386_index_check.
This commit is contained in:
Alan Modra 2003-08-04 12:03:49 +00:00
parent 8c6756949e
commit a4622f4072
2 changed files with 10 additions and 4 deletions

View 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> 2003-08-01 Jason Eckhardt <jle@rice.edu>
* config/tc-i860.c: Remove SYNTAX_SVR4 macro and occurrences. * config/tc-i860.c: Remove SYNTAX_SVR4 macro and occurrences.

View file

@ -1417,13 +1417,13 @@ md_assemble (line)
if ((i.tm.cpu_flags & CpuPNI) && i.operands > 0) 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 operands with an opcode suffix which is coded in the same
place as an 8-bit immediate field would be. Here we check place as an 8-bit immediate field would be. Here we check
those operands and remove them afterwards. */ those operands and remove them afterwards. */
unsigned int x; 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) if (i.op[x].regs->reg_num != x)
as_bad (_("can't use register '%%%s' as operand %d in '%s'."), as_bad (_("can't use register '%%%s' as operand %d in '%s'."),
i.op[x].regs->reg_name, x + 1, i.tm.name); 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. */ /* Add the displacement expression. */
if (*s != '\0') if (*s != '\0')
ret = i386_displacement (s, s + strlen (s)) ret = i386_displacement (s, s + strlen (s));
&& i386_index_check (s); if (ret)
ret = i386_index_check (operand_string);
} }
} }