Commit ba365a19 by Jeff Law

pa.c (emit_move_sequence): Always handle secondary reloads for symbolic addresses.

        * pa.c (emit_move_sequence): Always handle secondary reloads for
        symbolic addresses.
        (secondary_reload_class): Symbolic operands always need a secondary
        reload from R1_REGS if their target class is not R1_REGS.

From-SVN: r5178
parent 66415529
......@@ -852,8 +852,7 @@ emit_move_sequence (operands, mode, scratch_reg)
/* Simplify the source if we need to. */
if (GET_CODE (operand1) != HIGH && immediate_operand (operand1, mode)
|| (GET_CODE (operand1) == HIGH
&& symbolic_operand (XEXP (operand1, 0), mode)
&& TARGET_KERNEL))
&& symbolic_operand (XEXP (operand1, 0), mode)))
{
int ishighonly = 0;
......@@ -3241,7 +3240,7 @@ secondary_reload_class (class, mode, in)
if (GET_CODE (in) == HIGH)
in = XEXP (in, 0);
if (TARGET_KERNEL && class != R1_REGS && symbolic_operand (in, VOIDmode))
if (class != R1_REGS && symbolic_operand (in, VOIDmode))
return R1_REGS;
return NO_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