From 7cb14cb8e60b629b531e5b81ea5f88637228c160 Mon Sep 17 00:00:00 2001 From: Kyrylo Tkachov Date: Tue, 11 Feb 2014 15:48:08 +0000 Subject: [PATCH] [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 --- gcc/ChangeLog | 5 +++++ gcc/config/arm/thumb2.md | 14 +++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e425b026828..b8e3ef8d364 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-02-11 Kyrylo Tkachov + + * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for + arm_restrict_it. + 2014-02-11 Renlin Li * 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 4f247f82bf4..d84938f304e 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" -- 2.30.2