From: Richard Kenner Date: Wed, 18 Mar 1998 13:41:50 +0000 (+0000) Subject: expr.c (expand_expr, [...]): If have conditional move, don't use ORIGINAL_TARGET... X-Git-Tag: prereleases/egcs-1.1-prerelease~2055 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7c00d1fe83e896e59dd6f445f0da11232ba0803f;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d90f217ff693..dd4f83cf2aff 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 8edc49ea338f..178f4f1e1ad0 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;