(emit_push_insn): Clobber register only if it is non-zero.
authorJim Wilson <wilson@gcc.gnu.org>
Wed, 3 Apr 1996 22:30:07 +0000 (14:30 -0800)
committerJim Wilson <wilson@gcc.gnu.org>
Wed, 3 Apr 1996 22:30:07 +0000 (14:30 -0800)
From-SVN: r11658

gcc/expr.c

index 98f83e2aa1bed11bd7394b3c771bc5ebf444229e..f470bd58990fe5f25430f29036b3befc45533e12 100644 (file)
@@ -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.  */