From ca1a4af124196cef0751c8c8f504a45ecda9371f Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Mon, 29 Nov 1999 11:51:16 +0000 Subject: [PATCH] Fix bug in reloads_conflict From-SVN: r30701 --- gcc/ChangeLog | 4 ++++ gcc/reload1.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5263d3ce4ab..03127a89e5b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -30,6 +30,10 @@ * unroll.c (loop_iterations): Don't abort if iteration variable was made by loop. + From Joern Rennecke: + * reload1.c (reloads_conflict): Reverse test comparing operand + numbers when testing for conflict between output/outaddr reloads. + 1999-11-29 David S. Miller * config/sparc/sparc.c (init_cumulative_args): Fix type of third diff --git a/gcc/reload1.c b/gcc/reload1.c index 09044c9c55a..ac00812e832 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -5232,7 +5232,7 @@ reloads_conflict (r1, r2) return (r2_type == RELOAD_FOR_INSN || r2_type == RELOAD_FOR_OUTPUT || ((r2_type == RELOAD_FOR_OUTPUT_ADDRESS || r2_type == RELOAD_FOR_OUTADDR_ADDRESS) - && r2_opnum >= r1_opnum)); + && r2_opnum <= r1_opnum)); case RELOAD_FOR_INSN: return (r2_type == RELOAD_FOR_INPUT || r2_type == RELOAD_FOR_OUTPUT