Do cld before each string move/compare.
authorMichael Meissner <meissner@gcc.gnu.org>
Tue, 15 Sep 1992 18:44:07 +0000 (18:44 +0000)
committerMichael Meissner <meissner@gcc.gnu.org>
Tue, 15 Sep 1992 18:44:07 +0000 (18:44 +0000)
From-SVN: r2125

gcc/config/i386/i386.md

index 3edce9fa1784f986f5a80e7aee91741dc02d83b0..6ba86cd262933bf157d19c4495fc85c4e4114dde 100644 (file)
 {
   rtx xops[2];
 
+  output_asm_insn (\"cld\", operands);
   if (GET_CODE (operands[2]) == CONST_INT)
     {
       if (INTVAL (operands[2]) & ~0x03)
 
   label = gen_label_rtx ();
 
+  output_asm_insn (\"cld\", operands);
   output_asm_insn (AS2 (xor%B0,%0,%0), operands);
   output_asm_insn (\"repz\;cmps%B2\", operands);
   output_asm_insn (\"je %l0\", &label);
   xops[0] = gen_rtx (REG, QImode, 0);
   xops[1] = CONST0_RTX (QImode);
 
+  output_asm_insn (\"cld\", operands);
   output_asm_insn (AS2 (test%B0,%1,%0), xops);
   return \"repz\;cmps%B2\";
 }")
 
   xops[0] = operands[0];
   xops[1] = constm1_rtx;
+  output_asm_insn (\"cld\", operands);
   output_asm_insn (AS2 (mov%L0,%1,%0), xops);
   return \"repnz\;scas%B2\";
 }")