diff options
author | J"orn Rennecke <amylaar@cygnus.co.uk> | 1999-03-11 09:31:33 +0000 |
---|---|---|
committer | Joern Rennecke <amylaar@gcc.gnu.org> | 1999-03-11 09:31:33 +0000 |
commit | 44ccea4059a2085af0dd71d033781cc4a12a1104 (patch) | |
tree | 70840dfc5924db59262ebf87d8c15cd745f40541 /gcc | |
parent | 4f3ae93c0dc323dbf98ba318f35516813620e266 (diff) | |
download | gcc-44ccea4059a2085af0dd71d033781cc4a12a1104.zip gcc-44ccea4059a2085af0dd71d033781cc4a12a1104.tar.gz gcc-44ccea4059a2085af0dd71d033781cc4a12a1104.tar.bz2 |
* sh.md (mulsi3): End mul.l sequence with a no-op move.
From-SVN: r25699
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/sh/sh.md | 5 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0fb2268..7c4a105 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Thu Mar 11 17:28:32 1999 J"orn Rennecke <amylaar@cygnus.co.uk> + + * sh.md (mulsi3): End mul.l sequence with a no-op move. + Thu Mar 11 08:52:02 1999 Bruce Korb <korb@datadesign.com> * 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 55c5745..a3b8e91 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. */ |