aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1996-04-03 14:30:07 -0800
committerJim Wilson <wilson@gcc.gnu.org>1996-04-03 14:30:07 -0800
commit22745c7e7ae516361df2267d38152970712e57b6 (patch)
tree00338d9d533a916f574be7672a30650cfad0a05c /gcc
parentd7083c81f606acc9044205c3e42a71d52a0a8d88 (diff)
downloadgcc-22745c7e7ae516361df2267d38152970712e57b6.zip
gcc-22745c7e7ae516361df2267d38152970712e57b6.tar.gz
gcc-22745c7e7ae516361df2267d38152970712e57b6.tar.bz2
(emit_push_insn): Clobber register only if it is non-zero.
From-SVN: r11658
Diffstat (limited to 'gcc')
-rw-r--r--gcc/expr.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index 98f83e2..f470bd5 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -2353,7 +2353,7 @@ emit_push_insn (x, mode, type, size, align, partial, reg, extra,
/* If we're placing part of X into a register and part of X onto
the stack, indicate that the entire register is clobbered to
keep flow from thinking the unused part of the register is live. */
- if (partial)
+ if (partial > 0 && reg != 0)
emit_insn (gen_rtx (CLOBBER, VOIDmode, reg));
/* Invert direction if stack is post-update. */