* 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.
This commit is contained in:
parent
e6ca91be4f
commit
9ee2a2d449
2 changed files with 19 additions and 5 deletions
|
@ -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
|
||||
|
|
|
@ -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,8 +3425,10 @@ 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);
|
||||
|
||||
if (HAVE_32BIT_GPRS)
|
||||
normalize_constant_expr (ex);
|
||||
}
|
||||
|
||||
|
@ -8103,6 +8105,7 @@ do_msbd:
|
|||
if (imm2_expr.X_op != O_big
|
||||
&& imm2_expr.X_op != O_constant)
|
||||
insn_error = _("absolute expression required");
|
||||
if (HAVE_32BIT_GPRS)
|
||||
normalize_constant_expr (&imm2_expr);
|
||||
s = expr_end;
|
||||
continue;
|
||||
|
@ -8571,6 +8574,7 @@ do_msbd:
|
|||
if (imm_expr.X_op != O_big
|
||||
&& imm_expr.X_op != O_constant)
|
||||
insn_error = _("absolute expression required");
|
||||
if (HAVE_32BIT_GPRS)
|
||||
normalize_constant_expr (&imm_expr);
|
||||
s = expr_end;
|
||||
continue;
|
||||
|
|
Loading…
Reference in a new issue