aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1993-03-16 04:54:43 +0000
committerRichard Stallman <rms@gnu.org>1993-03-16 04:54:43 +0000
commitaf2cc4dd6953054b4a1d068dc5bffeeb6170f37b (patch)
tree5d2d22b5678cfbace95f222758b1c05f7e3226b8 /gcc
parent1a6603daede2865e5ffc12f493df87ff834cc292 (diff)
downloadgcc-af2cc4dd6953054b4a1d068dc5bffeeb6170f37b.zip
gcc-af2cc4dd6953054b4a1d068dc5bffeeb6170f37b.tar.gz
gcc-af2cc4dd6953054b4a1d068dc5bffeeb6170f37b.tar.bz2
(expand_binop): For doubleword int addition,
clobber the whole register at the start. From-SVN: r3754
Diffstat (limited to 'gcc')
-rw-r--r--gcc/optabs.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/optabs.c b/gcc/optabs.c
index 5229f97..81b5f69 100644
--- a/gcc/optabs.c
+++ b/gcc/optabs.c
@@ -590,6 +590,10 @@ expand_binop (mode, binoptab, op0, op1, target, unsignedp, methods)
|| target == xop0 || target == xop1)
target = gen_reg_rtx (mode);
+ /* Indicate for flow that the entire target reg is being set. */
+ if (GET_CODE (target) == REG)
+ emit_insn (gen_rtx (CLOBBER, VOIDmode, target));
+
/* Do the actual arithmetic. */
for (i = 0; i < nwords; i++)
{