From: Ramana Radhakrishnan Date: Wed, 8 Sep 2010 21:35:48 +0000 (+0000) Subject: re PR target/44392 (libgcc compile with --enable-target-optspace (-Os) causes recursi... X-Git-Tag: releases/gcc-4.6.0~4535 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0a7822a32b830084f37e78545047ce0d4e5cd486;p=thirdparty%2Fgcc.git re PR target/44392 (libgcc compile with --enable-target-optspace (-Os) causes recursion in __bswapsi2) 2010-09-08 Ramana Radhakrishnan PR target/44392 * config/arm/arm.md (bswapsi2): Handle condition correctly for armv6 and optimize_size. From-SVN: r164029 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b909355de537..c121a35e462c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-09-08 Ramana Radhakrishnan + + PR target/44392 + * config/arm/arm.md (bswapsi2): Handle condition correctly + for armv6 and optimize_size. + 2010-09-08 Francois-Xavier Coudert PR other/18555 diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md index 9d98ca56a4cd..8806dc58bcbb 100644 --- a/gcc/config/arm/arm.md +++ b/gcc/config/arm/arm.md @@ -10658,34 +10658,29 @@ (define_expand "bswapsi2" [(set (match_operand:SI 0 "s_register_operand" "=r") (bswap:SI (match_operand:SI 1 "s_register_operand" "r")))] -"TARGET_EITHER" +"TARGET_EITHER && (arm_arch6 || !optimize_size)" " - if (!arm_arch6) - { - if (!optimize_size) - { - rtx op2 = gen_reg_rtx (SImode); - rtx op3 = gen_reg_rtx (SImode); + if (!arm_arch6) + { + rtx op2 = gen_reg_rtx (SImode); + rtx op3 = gen_reg_rtx (SImode); - if (TARGET_THUMB) - { - rtx op4 = gen_reg_rtx (SImode); - rtx op5 = gen_reg_rtx (SImode); + if (TARGET_THUMB) + { + rtx op4 = gen_reg_rtx (SImode); + rtx op5 = gen_reg_rtx (SImode); - emit_insn (gen_thumb_legacy_rev (operands[0], operands[1], - op2, op3, op4, op5)); - } - else - { - emit_insn (gen_arm_legacy_rev (operands[0], operands[1], - op2, op3)); - } + emit_insn (gen_thumb_legacy_rev (operands[0], operands[1], + op2, op3, op4, op5)); + } + else + { + emit_insn (gen_arm_legacy_rev (operands[0], operands[1], + op2, op3)); + } - DONE; - } - else - FAIL; - } + DONE; + } " )