arm.md (enabled_for_depr_it): New attribute.
2013-06-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * config/arm/arm.md (enabled_for_depr_it): New attribute. (predicable_short_it): Likewise. (predicated): Likewise. (enabled): Handle above. (define_cond_exec): Set predicated attribute to yes. From-SVN: r199705
This commit is contained in:
parent
5124937746
commit
17a7fc37d4
2 changed files with 29 additions and 0 deletions
|
@ -1,3 +1,11 @@
|
|||
2013-06-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||||
|
||||
* config/arm/arm.md (enabled_for_depr_it): New attribute.
|
||||
(predicable_short_it): Likewise.
|
||||
(predicated): Likewise.
|
||||
(enabled): Handle above.
|
||||
(define_cond_exec): Set predicated attribute to yes.
|
||||
|
||||
2013-06-05 Mike Stump <mikestump@comcast.net>
|
||||
|
||||
* gdbinit.in (__FUNCTION__): Add.
|
||||
|
|
|
@ -93,6 +93,15 @@
|
|||
; IS_THUMB1 is set to 'yes' iff we are generating Thumb-1 code.
|
||||
(define_attr "is_thumb1" "no,yes" (const (symbol_ref "thumb1_code")))
|
||||
|
||||
; We use this attribute to disable alternatives that can produce 32-bit
|
||||
; instructions inside an IT-block in Thumb2 state. ARMv8 deprecates IT blocks
|
||||
; that contain 32-bit instructions.
|
||||
(define_attr "enabled_for_depr_it" "no,yes" (const_string "yes"))
|
||||
|
||||
; This attribute is used to disable a predicated alternative when we have
|
||||
; arm_restrict_it.
|
||||
(define_attr "predicable_short_it" "no,yes" (const_string "yes"))
|
||||
|
||||
;; Operand number of an input operand that is shifted. Zero if the
|
||||
;; given instruction does not shift one of its input operands.
|
||||
(define_attr "shift" "" (const_int 0))
|
||||
|
@ -103,6 +112,8 @@
|
|||
(define_attr "fpu" "none,vfp"
|
||||
(const (symbol_ref "arm_fpu_attr")))
|
||||
|
||||
(define_attr "predicated" "yes,no" (const_string "no"))
|
||||
|
||||
; LENGTH of an instruction (in bytes)
|
||||
(define_attr "length" ""
|
||||
(const_int 4))
|
||||
|
@ -190,6 +201,15 @@
|
|||
(cond [(eq_attr "insn_enabled" "no")
|
||||
(const_string "no")
|
||||
|
||||
(and (eq_attr "predicable_short_it" "no")
|
||||
(and (eq_attr "predicated" "yes")
|
||||
(match_test "arm_restrict_it")))
|
||||
(const_string "no")
|
||||
|
||||
(and (eq_attr "enabled_for_depr_it" "no")
|
||||
(match_test "arm_restrict_it"))
|
||||
(const_string "no")
|
||||
|
||||
(eq_attr "arch_enabled" "no")
|
||||
(const_string "no")
|
||||
|
||||
|
@ -12130,6 +12150,7 @@
|
|||
(const_int 0)])]
|
||||
"TARGET_32BIT"
|
||||
""
|
||||
[(set_attr "predicated" "yes")]
|
||||
)
|
||||
|
||||
(define_insn "force_register_use"
|
||||
|
|
Loading…
Add table
Reference in a new issue