* expr.c (emit_push_insn): Add code to use movstrti if present.
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 2 Feb 1998 00:23:13 +0000 (00:23 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 2 Feb 1998 00:23:13 +0000 (00:23 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17589 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/expr.c

index 48bd10a..446844c 100644 (file)
@@ -1,5 +1,7 @@
 Mon Feb  2 01:22:46 1998  Hans-Peter Nilsson  <hp@axis.se>
 
+       * expr.c (emit_push_insn): Add code to use movstrti if present.
+
        * expr.c (emit_push_insn): Use same max-move-amount for movstrhi
        and movstrqi as in emit_block_move ().
 
index 468cc3b..af90d24 100644 (file)
@@ -2651,6 +2651,18 @@ emit_push_insn (x, mode, type, size, align, partial, reg, extra,
                }
            }
 #endif
+#ifdef HAVE_movstrti
+  if (HAVE_movstrti)
+    {
+      rtx pat = gen_movstrti (gen_rtx (MEM, BLKmode, temp),
+                             xinner, size, GEN_INT (align));
+      if (pat != 0)
+       {
+         emit_insn (pat);
+         goto ret;
+       }
+    }
+#endif
 
 #ifndef ACCUMULATE_OUTGOING_ARGS
          /* If the source is referenced relative to the stack pointer,