Fix bug in reloads_conflict
authorBernd Schmidt <bernds@cygnus.co.uk>
Mon, 29 Nov 1999 11:51:16 +0000 (11:51 +0000)
committerBernd Schmidt <crux@gcc.gnu.org>
Mon, 29 Nov 1999 11:51:16 +0000 (11:51 +0000)
From-SVN: r30701

gcc/ChangeLog
gcc/reload1.c

index 5263d3c..03127a8 100644 (file)
        * 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
index 09044c9..ac00812 100644 (file)
@@ -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