* sh.md (mulsi3): Don't add a no-op move at the end.
authorJ"orn Rennecke <amylaar@cygnus.co.uk>
Wed, 16 Jun 1999 17:46:20 +0000 (17:46 +0000)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Wed, 16 Jun 1999 17:46:20 +0000 (18:46 +0100)
From-SVN: r27554

gcc/ChangeLog
gcc/config/sh/sh.md

index 4f1699305af02623c74e04192da96b9565c9a89d..73fd4f90b820115d072b8e01f448bdd6e9c87ab6 100644 (file)
@@ -1,3 +1,7 @@
+Thu Jun 17 01:45:24 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * sh.md (mulsi3): Don't add a no-op move at the end.
+
 Wed Jun 16 20:29:00 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
 
        * cse.c (cse_insn): Don't put hard register source into tables for
index 2acbb0f157d624c18c9dc92776dbaebd482c16bb..38732e652568187c7eee38b19b300ceb2b14e9f8 100644 (file)
   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.  */