aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@cygnus.co.uk>1999-11-29 11:51:16 +0000
committerBernd Schmidt <crux@gcc.gnu.org>1999-11-29 11:51:16 +0000
commitca1a4af124196cef0751c8c8f504a45ecda9371f (patch)
treef5a1e4e21eba0e06ca55166ab518d1cab184a4d7 /gcc
parente1306f499ca8cd493a69b96646c4241bdc3f99be (diff)
downloadgcc-ca1a4af124196cef0751c8c8f504a45ecda9371f.zip
gcc-ca1a4af124196cef0751c8c8f504a45ecda9371f.tar.gz
gcc-ca1a4af124196cef0751c8c8f504a45ecda9371f.tar.bz2
Fix bug in reloads_conflict
From-SVN: r30701
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/reload1.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5263d3c..03127a8 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 <davem@redhat.com>
* config/sparc/sparc.c (init_cumulative_args): Fix type of third
diff --git a/gcc/reload1.c b/gcc/reload1.c
index 09044c9..ac00812 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