diff options
author | Michael Meissner <meissner@gcc.gnu.org> | 1992-09-15 18:44:07 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 1992-09-15 18:44:07 +0000 |
commit | e837539976653dbbdca9d1b94c0595c20dbc9a0e (patch) | |
tree | cd5c4dd41b7705d6fdb2ab74df8b37baad6ead48 /gcc | |
parent | 7436f435abe0acd250189907a0c310927d11bac6 (diff) | |
download | gcc-e837539976653dbbdca9d1b94c0595c20dbc9a0e.zip gcc-e837539976653dbbdca9d1b94c0595c20dbc9a0e.tar.gz gcc-e837539976653dbbdca9d1b94c0595c20dbc9a0e.tar.bz2 |
Do cld before each string move/compare.
From-SVN: r2125
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/i386/i386.md | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 3edce9f..6ba86cd 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -3912,6 +3912,7 @@ { rtx xops[2]; + output_asm_insn (\"cld\", operands); if (GET_CODE (operands[2]) == CONST_INT) { if (INTVAL (operands[2]) & ~0x03) @@ -3989,6 +3990,7 @@ 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); @@ -4022,6 +4024,7 @@ 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\"; }") @@ -4183,6 +4186,7 @@ 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\"; }") |