From 8fd8d061f7f7bbcc33472c9cd94dffd671fdd531 Mon Sep 17 00:00:00 2001 From: Jim Kingdon Date: Tue, 31 Aug 1999 13:05:20 -0700 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/config/i386/i386.c | 19 ++++++++++++------- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6a1e8934a8c..e9cac978f1c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Tue Aug 31 11:51:06 1999 Jim Kingdon + + * i386.c (output_strlen_unroll): Don't write xops[7] + label if it wasn't set. + 1999-08-31 12:44 -0700 Zack Weinberg * cpplib.c (struct directive): Const-ify name pointer and diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 62bbd1b7274..4abb5944e13 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); } -- 2.30.2