Commit 2fbd8ac7 by Jeff Law

pa.c (emit_move_sequence): When making a reference to the data space before reload...

	* pa.c (emit_move_sequence): When making a reference to the data
	space before reload, emit an insn sequence which is much more
	likely to create "addil" instructions rather than "ldil; add"
	sequences.  Doing so greatly reduces the chance of running into a
	HPUX linker bug when compiling kernels.

From-SVN: r2296
parent e4e13a01
...@@ -665,10 +665,12 @@ emit_move_sequence (operands, mode) ...@@ -665,10 +665,12 @@ emit_move_sequence (operands, mode)
} }
else else
{ {
rtx temp1 = gen_reg_rtx (mode), temp2 = gen_reg_rtx (mode); rtx temp1, temp2 = gen_reg_rtx (mode);
emit_insn (gen_rtx (SET, VOIDmode, /* For 2.4 we could set RTX_UNCHANGING and add a
temp1, gen_rtx (HIGH, mode, operand1))); REG_EQUAL note for the first insn. This would
allow the first insn to be moved out of loops. */
temp1 = gen_rtx (HIGH, mode, operand1);
emit_insn (gen_rtx (SET, VOIDmode, emit_insn (gen_rtx (SET, VOIDmode,
temp2, temp2,
gen_rtx (PLUS, mode, gen_rtx (PLUS, mode,
......
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