From 2486447610b91efedbc68e5708ffd9e0606733b5 Mon Sep 17 00:00:00 2001 From: Chao-ying Fu Date: Tue, 6 Jan 2009 19:22:11 +0000 Subject: [PATCH] 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. --- gas/ChangeLog | 6 ++++++ gas/config/tc-mips.c | 7 ++++--- 2 files changed, 10 insertions(+), 3 deletions(-) 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;