This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH][ARM] Define predicable attribute for arm_abssi2 and arm_neg_abssi2


On 19/11/12 17:51, Kyrylo Tkachov wrote:
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 <kyrylo.tkachov@arm.com>

	* config/arm/arm.md (*arm_abssi2): Define predicable attribute.
	(*arm_neg_abssi2): Define predicable attribute.



There are equivalent patterns in thumb2.md as well. Could you fix those too, please.


R.

abssi_predicable.txt


--- 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")]
  )





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]