aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1995-01-25 15:09:41 -0800
committerJim Wilson <wilson@gcc.gnu.org>1995-01-25 15:09:41 -0800
commitfa2981d865a08fd388fad6480959a7a965f880ea (patch)
tree46cdc805c77207f87a14ecde3d49e0296a856be1
parent772c85b0ec1d1ce75eeb057db4e56a83c2475b68 (diff)
downloadgcc-fa2981d865a08fd388fad6480959a7a965f880ea.zip
gcc-fa2981d865a08fd388fad6480959a7a965f880ea.tar.gz
gcc-fa2981d865a08fd388fad6480959a7a965f880ea.tar.bz2
(expand_expr, case MIN_EXPR): If must emit multiple
instructions, then don't allow a MEM target. From-SVN: r8822
-rw-r--r--gcc/expr.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index 785e742..7cc7d28 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -5447,6 +5447,12 @@ expand_expr (exp, target, tmode, modifier)
if (temp != 0)
return temp;
+ /* At this point, a MEM target is no longer useful; we will get better
+ code without it. */
+
+ if (GET_CODE (target) == MEM)
+ target = gen_reg_rtx (mode);
+
if (target != op0)
emit_move_insn (target, op0);