* config/tc-mips.c (mips_ip): Don't warn on 'i' or 'j' mismatch if
authorIan Lance Taylor <ian@airs.com>
Mon, 12 Jul 1993 14:24:20 +0000 (14:24 +0000)
committerIan Lance Taylor <ian@airs.com>
Mon, 12 Jul 1993 14:24:20 +0000 (14:24 +0000)
there is another alternative for the instruction.

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

index 771d021..679062f 100644 (file)
@@ -1,3 +1,8 @@
+Mon Jul 12 07:22:28 1993  Ian Lance Taylor  (ian@cygnus.com)
+
+       * config/tc-mips.c (mips_ip): Don't warn on 'i' or 'j' mismatch if
+       there is another alternative for the instruction.
+
 Fri Jul  9 17:31:34 1993  Roland H. Pesch  (pesch@fowanton.cygnus.com)
 
        * doc/as.texinfo: updates for H8/300H
index 709b5d5..18c1bcf 100644 (file)
@@ -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;