summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-03-08 11:33:06 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-03-08 11:33:06 +0000
commitfd64c958d4cf6a1d19e722dc68035f0123c0fabb (patch)
treee28070fb5ceba6e11101207122fd86a579e3c764
parent53ed7b4e1a31a69155befad9ba89d846bc920251 (diff)
downloadppe42-gcc-fd64c958d4cf6a1d19e722dc68035f0123c0fabb.tar.gz
ppe42-gcc-fd64c958d4cf6a1d19e722dc68035f0123c0fabb.zip
* config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40319 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/i386/i386.md19
2 files changed, 20 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0adc8659d88..d8bb57772b8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+Thu Mar 8 06:32:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
+
2001-03-08 Alexandre Oliva <aoliva@redhat.com>
* configure.in (enable_shared): Support per-package shared-library
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 43b007d27f9..3a2a09abeb5 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -11506,6 +11506,9 @@
rtx destreg, zeroreg, countreg;
int align = 0;
int count = -1;
+ rtx insns;
+
+ start_sequence ();
if (GET_CODE (operands[2]) == CONST_INT)
align = INTVAL (operands[2]);
@@ -11519,7 +11522,7 @@
destreg = copy_to_mode_reg (Pmode, XEXP (operands[0], 0));
- emit_insn (gen_cld());
+ emit_insn (gen_cld ());
/* When optimizing for size emit simple rep ; movsb instruction for
counts not divisible by 4. */
@@ -11562,10 +11565,13 @@
library version, since it is usually equally fast and result in
shorter code. */
if (!TARGET_INLINE_ALL_STRINGOPS && align < 4)
- FAIL;
+ {
+ end_sequence ();
+ FAIL;
+ }
if (TARGET_SINGLE_STRINGOP)
- emit_insn (gen_cld());
+ emit_insn (gen_cld ());
countreg2 = gen_reg_rtx (SImode);
countreg = copy_to_mode_reg (SImode, operands[1]);
@@ -11659,6 +11665,13 @@
LABEL_NUSES (label) = 1;
}
}
+
+ insns = get_insns ();
+ end_sequence ();
+
+ ix86_set_move_mem_attrs (insns, operands[0], operands[0], destreg, destreg);
+ emit_insns (insns);
+
DONE;
}")
OpenPOWER on IntegriCloud