Commit f8a9e02b by Richard Kenner

(choose_reload_regs): If EQUIV is a SUBREG, make a new REG.

From-SVN: r6612
parent fdff8c6d
...@@ -5044,9 +5044,12 @@ choose_reload_regs (insn, avoid_return_reg) ...@@ -5044,9 +5044,12 @@ choose_reload_regs (insn, avoid_return_reg)
regno = REGNO (equiv); regno = REGNO (equiv);
else if (GET_CODE (equiv) == SUBREG) else if (GET_CODE (equiv) == SUBREG)
{ {
regno = REGNO (SUBREG_REG (equiv)); /* This must be a SUBREG of a hard register.
if (regno < FIRST_PSEUDO_REGISTER) Make a new REG since this might be used in an
regno += SUBREG_WORD (equiv); address and not all machines support SUBREGs
there. */
regno = REGNO (SUBREG_REG (equiv)) + SUBREG_WORD (equiv);
equiv = gen_rtx (REG, reload_mode[r], regno);
} }
else else
abort (); abort ();
......
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