aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorStan Cox <scox@cygnus.com>1997-12-16 23:52:36 +0000
committerJeff Law <law@gcc.gnu.org>1997-12-16 16:52:36 -0700
commita99503b17d0f9fef4bfdb1fc4ff6a7786ce821d7 (patch)
tree99bc71350b8acb6dec24de7a3b967b9fa5592191 /gcc
parente13c943cb6f15a26a2457781e96c66202ba8e2bf (diff)
downloadgcc-a99503b17d0f9fef4bfdb1fc4ff6a7786ce821d7.zip
gcc-a99503b17d0f9fef4bfdb1fc4ff6a7786ce821d7.tar.gz
gcc-a99503b17d0f9fef4bfdb1fc4ff6a7786ce821d7.tar.bz2
jump.c: (optimize_jump): Don't use the return register as a source1 of a conditional move.
* jump.c: (optimize_jump): Don't use the return register as a source1 of a conditional move. From-SVN: r17123
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/jump.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 115cdd2..1ffe005 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/jump.c b/gcc/jump.c
index 00e31cf..8d097da 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -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. */