aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.se>1998-02-02 01:23:13 +0100
committerJeff Law <law@gcc.gnu.org>1998-02-01 17:23:13 -0700
commitdb771a3c538387b54ea122095cdb05ce92d0724f (patch)
tree49fc33137eac58145ff7135d814a0e2eb0c04859 /gcc
parent7a6df7f924e0070bbcc373e0c67077fb4531c02e (diff)
downloadgcc-db771a3c538387b54ea122095cdb05ce92d0724f.zip
gcc-db771a3c538387b54ea122095cdb05ce92d0724f.tar.gz
gcc-db771a3c538387b54ea122095cdb05ce92d0724f.tar.bz2
* expr.c (emit_push_insn): Add code to use movstrti if present.
From-SVN: r17589
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog2
-rw-r--r--gcc/expr.c12
2 files changed, 14 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 48bd10a..446844c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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 ().
diff --git a/gcc/expr.c b/gcc/expr.c
index 468cc3b..af90d24 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -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,