diff options
author | Kyrylo Tkachov <kyrylo.tkachov@arm.com> | 2014-02-11 15:48:08 +0000 |
---|---|---|
committer | Kyrylo Tkachov <ktkachov@gcc.gnu.org> | 2014-02-11 15:48:08 +0000 |
commit | 7cb14cb8e60b629b531e5b81ea5f88637228c160 (patch) | |
tree | 72257e7b47fa350ecfda49c1e99c401abe3c7f12 /gcc | |
parent | 6d3715b90d7c024028af78b512c6796d3369f705 (diff) | |
download | gcc-7cb14cb8e60b629b531e5b81ea5f88637228c160.zip gcc-7cb14cb8e60b629b531e5b81ea5f88637228c160.tar.gz gcc-7cb14cb8e60b629b531e5b81ea5f88637228c160.tar.bz2 |
[ARM] Adjust thumb2_movhi_insn pattern for -mrestrict-it.
* config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for
arm_restrict_it.
From-SVN: r207692
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/arm/thumb2.md | 14 |
2 files changed, 14 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e425b02..b8e3ef8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for + arm_restrict_it. + 2014-02-11 Renlin Li <Renlin.Li@arm.com> * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and diff --git a/gcc/config/arm/thumb2.md b/gcc/config/arm/thumb2.md index 4f247f8..d84938f 100644 --- a/gcc/config/arm/thumb2.md +++ b/gcc/config/arm/thumb2.md @@ -317,20 +317,24 @@ ;; Thumb-2 always has load/store halfword instructions, so we can avoid a lot ;; of the messiness associated with the ARM patterns. (define_insn "*thumb2_movhi_insn" - [(set (match_operand:HI 0 "nonimmediate_operand" "=r,r,m,r") - (match_operand:HI 1 "general_operand" "rI,n,r,m"))] + [(set (match_operand:HI 0 "nonimmediate_operand" "=r,r,l,r,m,r") + (match_operand:HI 1 "general_operand" "r,I,Py,n,r,m"))] "TARGET_THUMB2 && (register_operand (operands[0], HImode) || register_operand (operands[1], HImode))" "@ mov%?\\t%0, %1\\t%@ movhi + mov%?\\t%0, %1\\t%@ movhi + mov%?\\t%0, %1\\t%@ movhi movw%?\\t%0, %L1\\t%@ movhi str%(h%)\\t%1, %0\\t%@ movhi ldr%(h%)\\t%0, %1\\t%@ movhi" - [(set_attr "type" "mov_imm,mov_reg,store1,load1") + [(set_attr "type" "mov_reg,mov_imm,mov_imm,mov_reg,store1,load1") (set_attr "predicable" "yes") - (set_attr "pool_range" "*,*,*,4094") - (set_attr "neg_pool_range" "*,*,*,250")] + (set_attr "predicable_short_it" "yes,no,yes,no,no,no") + (set_attr "length" "2,4,2,4,4,4") + (set_attr "pool_range" "*,*,*,*,*,4094") + (set_attr "neg_pool_range" "*,*,*,*,*,250")] ) (define_insn "*thumb2_storewb_pairsi" |