(mips_const_double_ok): Accept VOIDmode not DImode.

(mips_move_1word): Accept VOIDmode CONST_DOUBLE.

From-SVN: r8526
This commit is contained in:
Jim Wilson 1994-11-19 14:14:18 -08:00
parent 84ef8e1d45
commit 794385023b

View File

@ -478,7 +478,7 @@ mips_const_double_ok (op, mode)
if (GET_CODE (op) != CONST_DOUBLE)
return FALSE;
if (mode == DImode)
if (mode == VOIDmode)
return TRUE;
if (mode != SFmode && mode != DFmode)
@ -1016,8 +1016,18 @@ mips_move_1word (operands, insn, unsignedp)
}
}
else if (code1 == CONST_INT)
else if (code1 == CONST_INT
|| (code1 == CONST_DOUBLE
&& GET_MODE (op1) == VOIDmode))
{
if (code1 == CONST_DOUBLE)
{
/* This can happen when storing constants into long long
bitfields. Just store the least significant word of
the value. */
operands[1] = op1 = GEN_INT (CONST_DOUBLE_LOW (op1));
}
if (INTVAL (op1) == 0)
{
if (GP_REG_P (regno0))