This patch sets attribute "predicable" to "yes" for patterns that handle add
with carry and already use %? in their output statements.
Ok for trunk?
Thanks,
Greta
gcc/
2013-02-14 Greta Yorsh <greta.yo...@arm.com>
* config/arm/arm.md (addsi3_carryin_<optab>): Set attribute
"predicable" to yes.
(addsi3_carryin_alt2_<optab>,addsi3_carryin_shift_<optab>):
Likewise.
diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
index
1cb1515b1fa57c6052b68eb8701616c1b80e7416..35294dd6560ac63279d95eca6cf774257e06bd93
100644
--- a/gcc/config/arm/arm.md
+++ b/gcc/config/arm/arm.md
@@ -974,7 +974,8 @@ (define_insn "*addsi3_carryin_<optab>"
"@
adc%?\\t%0, %1, %2
sbc%?\\t%0, %1, #%B2"
- [(set_attr "conds" "use")]
+ [(set_attr "conds" "use")
+ (set_attr "predicable" "yes")]
)
(define_insn "*addsi3_carryin_alt2_<optab>"
@@ -986,7 +987,8 @@ (define_insn "*addsi3_carryin_alt2_<opta
"@
adc%?\\t%0, %1, %2
sbc%?\\t%0, %1, #%B2"
- [(set_attr "conds" "use")]
+ [(set_attr "conds" "use")
+ (set_attr "predicable" "yes")]
)
(define_insn "*addsi3_carryin_shift_<optab>"
@@ -1000,6 +1002,7 @@ (define_insn "*addsi3_carryin_shift_<opt
"TARGET_32BIT"
"adc%?\\t%0, %1, %3%S2"
[(set_attr "conds" "use")
+ (set_attr "predicable" "yes")
(set (attr "type") (if_then_else (match_operand 4 "const_int_operand" "")
(const_string "alu_shift")
(const_string "alu_shift_reg")))]