OSDN Git Service

* config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 8 Mar 2001 11:33:06 +0000 (11:33 +0000)
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 8 Mar 2001 11:33:06 +0000 (11:33 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40319 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/i386/i386.md

index 0adc865..d8bb577 100644 (file)
@@ -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
index 43b007d..3a2a09a 100644 (file)
   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]);
 
   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.  */
          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]);
          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;
 }")