diff --git a/gas/ChangeLog b/gas/ChangeLog index bc55407718..cfb6fd39a6 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2009-01-06 Chao-ying Fu + + * config/tc-mips.c (mips_ip): Set lastregno to 0xffffffff. + Use strncmp to match jalr and jalr.hb. + Fix a typo. + 2009-01-05 H.J. Lu AVX Programming Reference (December, 2008) diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index c472509069..bc6248672d 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -8656,6 +8656,7 @@ mips_ip (char *str, struct mips_cl_insn *ip) create_insn (ip, insn); insn_error = NULL; argnum = 1; + lastregno = 0xffffffff; for (args = insn->args;; ++args) { int is_mdmx; @@ -9397,14 +9398,14 @@ do_msbd: if (c == 'z' && regno != 0) break; - if (c == 's' && !strcmp (ip->insn_mo->name, "jalr")) + if (c == 's' && !strncmp (ip->insn_mo->name, "jalr", 4)) { if (regno == lastregno) { - insn_error = _("source and destinationations must be different"); + insn_error = _("source and destination must be different"); continue; } - if (regno == 31 && lastregno == 0) + if (regno == 31 && lastregno == 0xffffffff) { insn_error = _("a destination register must be supplied"); continue;