* config/tc-mips.c (normalize_constant_expr): Don't check for
authorMaciej W. Rozycki <macro@linux-mips.org>
Mon, 18 Apr 2005 14:16:10 +0000 (14:16 +0000)
committerMaciej W. Rozycki <macro@linux-mips.org>
Mon, 18 Apr 2005 14:16:10 +0000 (14:16 +0000)
HAVE_32BIT_GPRS.
(check_absolute_expr): Only call normalize_constant_expr() if
HAVE_32BIT_GPRS.
(mips_ip): Likewise.

* config/tc-mips.c (check_absolute_expr): Fix formatting.

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

index 7d8eb469a570184952fde8865f2f4faf0c2663f1..062b47f436a128c8fb1521c22d3a0c0ffa62c9c5 100644 (file)
@@ -1,3 +1,13 @@
+2005-04-18  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/tc-mips.c (normalize_constant_expr): Don't check for
+       HAVE_32BIT_GPRS.
+       (check_absolute_expr): Only call normalize_constant_expr() if
+       HAVE_32BIT_GPRS.
+       (mips_ip): Likewise.
+
+       * config/tc-mips.c (check_absolute_expr): Fix formatting.
+
 2005-04-18  Jan Beulich  <jbeulich@novell.com>
 
        * macro.c (free_token): New, freeing all the memory associated with a
index 0e9969038d438840a6521ca5ba9372908d182a3e..24ba8b14fe90f642d9c81abd3de045a0606eab03 100644 (file)
@@ -3265,7 +3265,7 @@ mips16_macro_build (expressionS *ep, const char *name, const char *fmt,
 static void
 normalize_constant_expr (expressionS *ex)
 {
-  if ((ex->X_op == O_constant && HAVE_32BIT_GPRS)
+  if (ex->X_op == O_constant
       && IS_ZEXT_32BIT_NUM (ex->X_add_number))
     ex->X_add_number = (((ex->X_add_number & 0xffffffff) ^ 0x80000000)
                        - 0x80000000);
@@ -3425,9 +3425,11 @@ check_absolute_expr (struct mips_cl_insn *ip, expressionS *ex)
   if (ex->X_op == O_big)
     as_bad (_("unsupported large constant"));
   else if (ex->X_op != O_constant)
-    as_bad (_("Instruction %s requires absolute expression"), ip->insn_mo->name);
+    as_bad (_("Instruction %s requires absolute expression"),
+           ip->insn_mo->name);
 
-  normalize_constant_expr (ex);
+  if (HAVE_32BIT_GPRS)
+    normalize_constant_expr (ex);
 }
 
 /* Count the leading zeroes by performing a binary chop. This is a
@@ -8103,7 +8105,8 @@ do_msbd:
                  if (imm2_expr.X_op != O_big
                      && imm2_expr.X_op != O_constant)
                  insn_error = _("absolute expression required");
-                 normalize_constant_expr (&imm2_expr);
+                 if (HAVE_32BIT_GPRS)
+                   normalize_constant_expr (&imm2_expr);
                  s = expr_end;
                  continue;
 
@@ -8571,7 +8574,8 @@ do_msbd:
              if (imm_expr.X_op != O_big
                  && imm_expr.X_op != O_constant)
                insn_error = _("absolute expression required");
-             normalize_constant_expr (&imm_expr);
+             if (HAVE_32BIT_GPRS)
+               normalize_constant_expr (&imm_expr);
              s = expr_end;
              continue;