aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1993-07-12 14:24:20 +0000
committerIan Lance Taylor <ian@airs.com>1993-07-12 14:24:20 +0000
commit99c24539c5411b68ad6f5e8b59f6548f4da8d9c7 (patch)
treec1aecced294f9d52da2e2184e9dc0a6d4b946092 /gas/config
parentf1ed43304a848d01f5a4c68a7b0f41990824f293 (diff)
downloadfsf-binutils-gdb-99c24539c5411b68ad6f5e8b59f6548f4da8d9c7.zip
fsf-binutils-gdb-99c24539c5411b68ad6f5e8b59f6548f4da8d9c7.tar.gz
fsf-binutils-gdb-99c24539c5411b68ad6f5e8b59f6548f4da8d9c7.tar.bz2
* config/tc-mips.c (mips_ip): Don't warn on 'i' or 'j' mismatch if
there is another alternative for the instruction.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/tc-mips.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index 709b5d5..18c1bcf 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -2244,13 +2244,23 @@ mips_ip (str, ip)
if (*args == 'i')
{
if ((unsigned long) imm_expr.X_add_number > 65535)
- as_bad ("16 bit expression not in range 0..65535");
+ {
+ if (insn + 1 < &mips_opcodes[NUMOPCODES] &&
+ !strcmp (insn->name, insn[1].name))
+ break;
+ as_bad ("16 bit expression not in range 0..65535");
+ }
}
else
{
if (imm_expr.X_add_number < -32768 ||
imm_expr.X_add_number > 32767)
- as_bad ("16 bit expression not in range -32768..32767");
+ {
+ if (insn + 1 < &mips_opcodes[NUMOPCODES] &&
+ !strcmp (insn->name, insn[1].name))
+ break;
+ as_bad ("16 bit expression not in range -32768..32767");
+ }
}
s = expr_end;
continue;