(reload_outqi): Correctly handle scratch assignments for unaligned
case when ADDR is a REG. From-SVN: r8353
This commit is contained in:
parent
f94bdcb60d
commit
99d13c4024
@ -3247,13 +3247,14 @@
|
|||||||
rtx addr = get_unaligned_address (operands[0]);
|
rtx addr = get_unaligned_address (operands[0]);
|
||||||
rtx scratch1 = gen_rtx (REG, DImode, REGNO (operands[2]));
|
rtx scratch1 = gen_rtx (REG, DImode, REGNO (operands[2]));
|
||||||
rtx scratch2 = gen_rtx (REG, DImode, REGNO (operands[2]) + 1);
|
rtx scratch2 = gen_rtx (REG, DImode, REGNO (operands[2]) + 1);
|
||||||
|
rtx scratch3 = scratch1;
|
||||||
rtx seq;
|
rtx seq;
|
||||||
|
|
||||||
if (GET_CODE (addr) == REG)
|
if (GET_CODE (addr) == REG)
|
||||||
scratch1 = addr;
|
scratch1 = addr;
|
||||||
|
|
||||||
seq = gen_unaligned_storeqi (addr, operands[1], scratch1,
|
seq = gen_unaligned_storeqi (addr, operands[1], scratch1,
|
||||||
scratch2, scratch1);
|
scratch2, scratch3);
|
||||||
alpha_set_memflags (seq, operands[0]);
|
alpha_set_memflags (seq, operands[0]);
|
||||||
emit_insn (seq);
|
emit_insn (seq);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user