From 2fbd8ac74e5d308cecbe27a0c3ce5a05f28770a0 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Thu, 1 Oct 1992 11:03:46 -0600 Subject: [PATCH] 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 --- gcc/config/pa/pa.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index f723542eb95..7f34d807c54 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -665,10 +665,12 @@ emit_move_sequence (operands, mode) } 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, - temp1, gen_rtx (HIGH, mode, operand1))); + /* For 2.4 we could set RTX_UNCHANGING and add a + 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, temp2, gen_rtx (PLUS, mode, -- 2.30.2