Commit 35a414df by Richard Henderson Committed by Richard Henderson

alpha.c (secondary_reload_class): For !BWX, sub-simode outputs require a register.

        * alpha.c (secondary_reload_class): For !BWX, sub-simode
        outputs require a register.

From-SVN: r30829
parent 8dcd865f
Wed Dec 8 03:45:40 1999 Richard Henderson <rth@cygnus.com>
* alpha.c (secondary_reload_class): For !BWX, sub-simode
outputs require a register.
1999-12-08 Brendan Kehoe <brendan@cygnus.com> 1999-12-08 Brendan Kehoe <brendan@cygnus.com>
* Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Add _sf_to_usi * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Add _sf_to_usi
......
...@@ -1065,17 +1065,21 @@ secondary_reload_class (class, mode, x, in) ...@@ -1065,17 +1065,21 @@ secondary_reload_class (class, mode, x, in)
rtx x; rtx x;
int in; int in;
{ {
if ((GET_CODE (x) == MEM if (GET_CODE (x) == MEM
|| (GET_CODE (x) == REG && REGNO (x) >= FIRST_PSEUDO_REGISTER) || (GET_CODE (x) == REG && REGNO (x) >= FIRST_PSEUDO_REGISTER)
|| (GET_CODE (x) == SUBREG || (GET_CODE (x) == SUBREG
&& (GET_CODE (SUBREG_REG (x)) == MEM && (GET_CODE (SUBREG_REG (x)) == MEM
|| (GET_CODE (SUBREG_REG (x)) == REG || (GET_CODE (SUBREG_REG (x)) == REG
&& REGNO (SUBREG_REG (x)) >= FIRST_PSEUDO_REGISTER)))) && REGNO (SUBREG_REG (x)) >= FIRST_PSEUDO_REGISTER))))
&& ((class == FLOAT_REGS {
&& (mode == SImode || mode == HImode || mode == QImode)) if (class == FLOAT_REGS && mode != DImode)
|| ((mode == QImode || mode == HImode) return GENERAL_REGS;
&& ! TARGET_BWX && ! aligned_memory_operand (x, mode)))) if ((mode == QImode || mode == HImode) && ! TARGET_BWX)
return GENERAL_REGS; {
if (!in || !aligned_memory_operand(x, mode))
return GENERAL_REGS;
}
}
if (class == FLOAT_REGS) if (class == FLOAT_REGS)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment