Hi,
The appended patch is to avoid the failure described in
http://gcc.gnu.org/ml/gcc/2004-11/msg00143.html
which is preventing x86 cross sh4-unknown-linux-gnu builds since
Oct 29. I hope that the experts will comment about this because
the reload is beyond my powers.
Anyway, the patch is tested with bootstraps on i686-linux and
sh4-unknown-linux-gnu without new regressions.
Regards,
kaz
--
2004-11-16 Kaz Kojima <kkojima@gcc.gnu.org>
PR target/18511
* reload1.c (emit_output_reload_insns): Check if OLD is a hard
register before calling regno_clobbered_p.
diff -uprN ORIG/gcc/gcc/reload1.c LOCAL/gcc/gcc/reload1.c
--- ORIG/gcc/gcc/reload1.c 2004-11-13 10:52:51.000000000 +0900
+++ LOCAL/gcc/gcc/reload1.c 2004-11-16 09:57:11.000000000 +0900
@@ -6706,7 +6706,8 @@ emit_output_reload_insns (struct insn_ch
|| !(set = single_set (insn))
|| rtx_equal_p (old, SET_DEST (set))
|| !reg_mentioned_p (old, SET_SRC (set))
- || !regno_clobbered_p (REGNO (old), insn, rl->mode, 0))
+ || !((REGNO (old) < FIRST_PSEUDO_REGISTER)
+ && regno_clobbered_p (REGNO (old), insn, rl->mode, 0)))
gen_reload (old, reloadreg, rl->opnum,
rl->when_needed);
}