jump.c: (optimize_jump): Don't use the return register as a source1 of a conditional...
authorStan Cox <scox@cygnus.com>
Tue, 16 Dec 1997 23:52:36 +0000 (23:52 +0000)
committerJeff Law <law@gcc.gnu.org>
Tue, 16 Dec 1997 23:52:36 +0000 (16:52 -0700)
        * jump.c: (optimize_jump): Don't use the return register as a
        source1 of a conditional move.

From-SVN: r17123

gcc/ChangeLog
gcc/jump.c

index 115cdd2..1ffe005 100644 (file)
@@ -1,3 +1,8 @@
+Wed Dec 17 00:51:36 1997  Stan Cox (scox@cygnus.com)
+
+       * jump.c: (optimize_jump): Don't use the return register as a 
+       source1 of a conditional move.
+
 Tue Dec 16 23:45:40 1997  Richard Henderson  <rth@cygnus.com>
 
        * sparc.c (DF_MODES): Or the mask not the bit number.
index 00e31cf..8d097da 100644 (file)
@@ -1198,6 +1198,10 @@ jump_optimize (f, cross_jump, noop_moves, after_regscan)
                rtx cond0, cond1, aval, bval;
                rtx target;
 
+               if (SMALL_REGISTER_CLASSES
+                   && FUNCTION_VALUE_REGNO_P (REGNO (temp3)))
+                 temp3 = temp1;
+
                /* Copy the compared variables into cond0 and cond1, so that
                   any side effects performed in or after the old comparison,
                   will not affect our compare which will come later.  */