aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJim Kingdon <kingdon@redhat.com>1999-08-31 13:05:20 -0700
committerRichard Henderson <rth@gcc.gnu.org>1999-08-31 13:05:20 -0700
commit8fd8d061f7f7bbcc33472c9cd94dffd671fdd531 (patch)
treeecb5476a55af0e4a760120de868a17d97d8110eb /gcc
parent2ac9349e2659de88a99edae40ae9c6fc57610ef5 (diff)
downloadgcc-8fd8d061f7f7bbcc33472c9cd94dffd671fdd531.zip
gcc-8fd8d061f7f7bbcc33472c9cd94dffd671fdd531.tar.gz
gcc-8fd8d061f7f7bbcc33472c9cd94dffd671fdd531.tar.bz2
i386.c (output_strlen_unroll): Don't write xops[7] label if it wasn't set.
* config/i386/i386.c (output_strlen_unroll): Don't write xops[7] label if it wasn't set. From-SVN: r29010
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/i386/i386.c19
2 files changed, 17 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6a1e893..e9cac97 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Tue Aug 31 11:51:06 1999 Jim Kingdon <http://developer.redhat.com>
+
+ * i386.c (output_strlen_unroll): Don't write xops[7]
+ label if it wasn't set.
+
1999-08-31 12:44 -0700 Zack Weinberg <zack@bitmover.com>
* cpplib.c (struct directive): Const-ify name pointer and
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 62bbd1b..4abb594 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -5234,14 +5234,19 @@ output_strlen_unroll (operands)
output_asm_insn (AS1 (je,%l12), xops);
output_asm_insn (AS1 (inc%L0,%0), xops);
- ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, "L",
- CODE_LABEL_NUMBER (xops[7]));
- output_asm_insn (AS2 (cmp%B13,%2,%13), xops);
- output_asm_insn (AS1 (je,%l12), xops);
- output_asm_insn (AS1 (inc%L0,%0), xops);
+ /* Not needed with an alignment of 2 */
+ if (GET_CODE (operands[1]) != CONST_INT || INTVAL (operands[1]) != 2)
+ {
+ ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, "L",
+ CODE_LABEL_NUMBER (xops[7]));
+ output_asm_insn (AS2 (cmp%B13,%2,%13), xops);
+ output_asm_insn (AS1 (je,%l12), xops);
+ output_asm_insn (AS1 (inc%L0,%0), xops);
+
+ ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, "L",
+ CODE_LABEL_NUMBER (xops[6]));
+ }
- ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, "L",
- CODE_LABEL_NUMBER (xops[6]));
output_asm_insn (AS2 (cmp%B13,%2,%13), xops);
}