[ARM] Adjust clz, rbit and rev patterns for -mrestrict-it.

* config/arm/arm.md (clzsi2): Set predicable_short_it attr to no.
	(rbitsi2): Likewise.
	(*arm_rev): Set predicable and predicable_short_it attributes.

From-SVN: r213630
This commit is contained in:
Kyrylo Tkachov 2014-08-05 09:56:31 +00:00 committed by Kyrylo Tkachov
parent 0021b8a5ab
commit 66224c7d68
2 changed files with 10 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2014-08-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/arm.md (clzsi2): Set predicable_short_it attr to no.
(rbitsi2): Likewise.
(*arm_rev): Set predicable and predicable_short_it attributes.
2014-08-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 2014-08-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* convert.c (convert_to_integer): Guard transformation to lrint by * convert.c (convert_to_integer): Guard transformation to lrint by

View File

@ -10662,6 +10662,7 @@
"TARGET_32BIT && arm_arch5" "TARGET_32BIT && arm_arch5"
"clz%?\\t%0, %1" "clz%?\\t%0, %1"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "predicable_short_it" "no")
(set_attr "type" "clz")]) (set_attr "type" "clz")])
(define_insn "rbitsi2" (define_insn "rbitsi2"
@ -10670,6 +10671,7 @@
"TARGET_32BIT && arm_arch_thumb2" "TARGET_32BIT && arm_arch_thumb2"
"rbit%?\\t%0, %1" "rbit%?\\t%0, %1"
[(set_attr "predicable" "yes") [(set_attr "predicable" "yes")
(set_attr "predicable_short_it" "no")
(set_attr "type" "clz")]) (set_attr "type" "clz")])
(define_expand "ctzsi2" (define_expand "ctzsi2"
@ -10829,6 +10831,8 @@
rev%?\t%0, %1" rev%?\t%0, %1"
[(set_attr "arch" "t1,t2,32") [(set_attr "arch" "t1,t2,32")
(set_attr "length" "2,2,4") (set_attr "length" "2,2,4")
(set_attr "predicable" "no,yes,yes")
(set_attr "predicable_short_it" "no")
(set_attr "type" "rev")] (set_attr "type" "rev")]
) )