aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/sh/sh.md
diff options
context:
space:
mode:
authorJ"orn Rennecke <amylaar@cygnus.co.uk>1999-06-16 17:46:20 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>1999-06-16 18:46:20 +0100
commit78d114ef2d4ab348ab5446b9fc29da04c65de7ac (patch)
tree60be411d6cbab16e0de4a84617d1351e464b5ec2 /gcc/config/sh/sh.md
parent96559bc5526a4914975c8e34ca05836f0bd65134 (diff)
downloadgcc-78d114ef2d4ab348ab5446b9fc29da04c65de7ac.zip
gcc-78d114ef2d4ab348ab5446b9fc29da04c65de7ac.tar.gz
gcc-78d114ef2d4ab348ab5446b9fc29da04c65de7ac.tar.bz2
* sh.md (mulsi3): Don't add a no-op move at the end.
From-SVN: r27554
Diffstat (limited to 'gcc/config/sh/sh.md')
-rw-r--r--gcc/config/sh/sh.md10
1 files changed, 1 insertions, 9 deletions
diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md
index 2acbb0f..38732e6 100644
--- a/gcc/config/sh/sh.md
+++ b/gcc/config/sh/sh.md
@@ -1112,20 +1112,12 @@
else
{
rtx macl = gen_rtx_REG (SImode, MACL_REG);
- rtx giv_insn;
first = emit_insn (gen_mul_l (operands[1], operands[2]));
/* consec_sets_giv can only recognize the first insn that sets a
giv as the giv insn. So we must tag this also with a REG_EQUAL
note. */
- giv_insn = emit_insn (gen_movsi_i ((operands[0]), macl));
- REG_NOTES (giv_insn)
- = gen_rtx_EXPR_LIST (REG_EQUAL,
- gen_rtx_MULT (SImode, operands[1], operands[2]),
- REG_NOTES (giv_insn));
- /* 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]));
+ last = emit_insn (gen_movsi_i ((operands[0]), macl));
}
/* Wrap the sequence in REG_LIBCALL / REG_RETVAL notes so that loop
invariant code motion can move it. */