From 7c00d1fe83e896e59dd6f445f0da11232ba0803f Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Wed, 18 Mar 1998 13:41:50 +0000 Subject: [PATCH] expr.c (expand_expr, [...]): If have conditional move, don't use ORIGINAL_TARGET unless REG. Wed Mar 18 13:42:01 1998 Richard Kenner * expr.c (expand_expr, case COND_EXPR): If have conditional move, don't use ORIGINAL_TARGET unless REG. From-SVN: r18671 --- gcc/ChangeLog | 5 +++++ gcc/expr.c | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d90f217ff69..dd4f83cf2af 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Wed Mar 18 13:42:01 1998 Richard Kenner + + * expr.c (expand_expr, case COND_EXPR): If have conditional move, + don't use ORIGINAL_TARGET unless REG. + Wed Mar 18 16:53:19 1998 J"orn Rennecke * netbsd.h (ASM_OUTPUT_ALIGN): Redefine. diff --git a/gcc/expr.c b/gcc/expr.c index 8edc49ea338..178f4f1e1ad 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -6765,6 +6765,11 @@ expand_expr (exp, target, tmode, modifier) && REGNO (original_target) >= FIRST_PSEUDO_REGISTER && original_target == var_rtx (singleton))) && GET_MODE (original_target) == mode +#ifdef HAVE_conditional_move + && (! can_conditionally_move_p (mode) + || GET_CODE (original_target) == REG + || TREE_ADDRESSABLE (type)) +#endif && ! (GET_CODE (original_target) == MEM && MEM_VOLATILE_P (original_target))) temp = original_target; -- 2.30.2