From patchwork Mon Nov 19 17:51:04 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [ARM] Define predicable attribute for arm_abssi2 and arm_neg_abssi2 Date: Mon, 19 Nov 2012 07:51:04 -0000 From: Kyrylo Tkachov X-Patchwork-Id: 200054 Message-Id: <00ab01cdc67e$72294a60$567bdf20$@tkachov@arm.com> To: Cc: "Richard Earnshaw" , "Ramana Radhakrishnan" Hi all, This patch updates the arm_abssi2 and arm_neg_abssi2 patterns in the ARM machine description. We define the predicable attribute based on the alternative. When the patterns were introduced it was not possible to do that. Now the second alternative in each of the patterns that supports predication is defined as predicable. No regressions on arm-none-eabi with qemu. Ok for trunk? Thanks, Kyrill gcc/ChangeLog 2012-11-19 Kyrylo Tkachov * config/arm/arm.md (*arm_abssi2): Define predicable attribute. (*arm_neg_abssi2): Define predicable attribute. --- a/gcc/config/arm/arm.md +++ b/gcc/config/arm/arm.md @@ -4263,7 +4263,7 @@ (define_insn "*arm_abssi2" eor%?\\t%0, %1, %1, asr #31\;sub%?\\t%0, %0, %1, asr #31" [(set_attr "conds" "clob,*") (set_attr "shift" "1") - ;; predicable can't be set based on the variant, so left as no + (set_attr "predicable" "no, yes") (set_attr "length" "8")] ) @@ -4291,7 +4291,7 @@ (define_insn "*arm_neg_abssi2" eor%?\\t%0, %1, %1, asr #31\;rsb%?\\t%0, %0, %1, asr #31" [(set_attr "conds" "clob,*") (set_attr "shift" "1") - ;; predicable can't be set based on the variant, so left as no + (set_attr "predicable" "no, yes") (set_attr "length" "8")] )