aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2005-06-18 15:40:49 -0700
committerRichard Henderson <rth@gcc.gnu.org>2005-06-18 15:40:49 -0700
commit2ab1754e1b62ca791c3953713e903750e687cb42 (patch)
treedcddf82de060145d58d4f0b5d0d26c24cbcedd8b /gcc/expr.c
parent55d4549de80fcfc37d9c8cbafcbf3b8f1d3d82ae (diff)
downloadgcc-2ab1754e1b62ca791c3953713e903750e687cb42.zip
gcc-2ab1754e1b62ca791c3953713e903750e687cb42.tar.gz
gcc-2ab1754e1b62ca791c3953713e903750e687cb42.tar.bz2
expr.c (store_constructor): Use store of 0 to indicate value death instead of a clobber.
* expr.c (store_constructor): Use store of 0 to indicate value death instead of a clobber. * config/i386/i386.c (ix86_expand_reduc_v4sf): New. * config/i386/i386-protos.h (ix86_expand_reduc_v4sf): Declare. * config/i386/sse.md (reduc_plus_v4sf): New. (reduc_smax_v4sf, reduc_smin_v4sf): New. From-SVN: r101169
Diffstat (limited to 'gcc/expr.c')
-rw-r--r--gcc/expr.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index ac500b5..0f9b1d2 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -5151,9 +5151,9 @@ store_constructor (tree exp, rtx target, int cleared, HOST_WIDE_INT size)
cleared = 1;
}
+ /* Inform later passes that the old value is dead. */
if (!cleared && REG_P (target))
- /* Inform later passes that the old value is dead. */
- emit_insn (gen_rtx_CLOBBER (VOIDmode, target));
+ emit_move_insn (target, CONST0_RTX (GET_MODE (target)));
/* Store each element of the constructor into the corresponding
element of TARGET, determined by counting the elements. */