diff options
author | Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | 1998-03-18 13:41:50 +0000 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 1998-03-18 05:41:50 -0800 |
commit | 7c00d1fe83e896e59dd6f445f0da11232ba0803f (patch) | |
tree | 309c85c8620e6d081928a29541127feca57dc17d /gcc | |
parent | 343665b9a1bb41d883dd77a7dc3e738725eafd52 (diff) | |
download | gcc-7c00d1fe83e896e59dd6f445f0da11232ba0803f.zip gcc-7c00d1fe83e896e59dd6f445f0da11232ba0803f.tar.gz gcc-7c00d1fe83e896e59dd6f445f0da11232ba0803f.tar.bz2 |
expr.c (expand_expr, [...]): If have conditional move, don't use ORIGINAL_TARGET unless REG.
Wed Mar 18 13:42:01 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* expr.c (expand_expr, case COND_EXPR): If have conditional move,
don't use ORIGINAL_TARGET unless REG.
From-SVN: r18671
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/expr.c | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d90f217..dd4f83c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Wed Mar 18 13:42:01 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + + * 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 <amylaar@cygnus.co.uk> * netbsd.h (ASM_OUTPUT_ALIGN): Redefine. @@ -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; |