From 44ccea4059a2085af0dd71d033781cc4a12a1104 Mon Sep 17 00:00:00 2001 From: "J\"orn Rennecke" Date: Thu, 11 Mar 1999 09:31:33 +0000 Subject: [PATCH] * sh.md (mulsi3): End mul.l sequence with a no-op move. From-SVN: r25699 --- gcc/ChangeLog | 4 ++++ gcc/config/sh/sh.md | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0fb226889c2..7c4a105044c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Thu Mar 11 17:28:32 1999 J"orn Rennecke + + * sh.md (mulsi3): End mul.l sequence with a no-op move. + Thu Mar 11 08:52:02 1999 Bruce Korb * Makefile.in: activated fixinc/mkfixinc.sh * configure.in: activated fixinc/mkfixinc.sh diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md index 55c5745b6b1..a3b8e9142a9 100644 --- a/gcc/config/sh/sh.md +++ b/gcc/config/sh/sh.md @@ -1113,7 +1113,10 @@ { rtx macl = gen_rtx_REG (SImode, MACL_REG); first = emit_insn (gen_mul_l (operands[1], operands[2])); - last = emit_insn (gen_movsi_i ((operands[0]), macl)); + emit_insn (gen_movsi_i ((operands[0]), macl)); + /* The sequence must end in a no-op move, lest cse puts macl in its + tables and does invalid substitutions. */ + last = emit_insn (gen_movsi_i ((operands[0]), operands[0])); } /* Wrap the sequence in REG_LIBCALL / REG_RETVAL notes so that loop invariant code motion can move it. */ -- 2.30.2