1
# DP: Revert PR target/59593 for Linaro, already backported
5
2014-12-04 Shanyao Chen <chenshanyao@huawei.com>
8
2014-11-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
11
* config/arm/arm.md (*movhi_insn): Use right formatting
14
2014-11-19 Felix Yang <felix.yang@huawei.com>
15
Shanyao Chen <chenshanyao@huawei.com>
18
* config/arm/arm.md (define_attr "arch"): Add v6t2.
19
(define_attr "arch_enabled"): Add test for the above.
20
(*movhi_insn_arch4): Add new alternative.
22
--- a/src/gcc/config/arm/arm.md
23
+++ b/src/gcc/config/arm/arm.md
25
; This can be "a" for ARM, "t" for either of the Thumbs, "32" for
26
; TARGET_32BIT, "t1" or "t2" to specify a specific Thumb mode. "v6"
27
; for ARM or Thumb-2 with arm_arch6, and nov6 for ARM without
28
-; arm_arch6. "v6t2" for Thumb-2 with arm_arch6. This attribute is
29
-; used to compute attribute "enabled", use type "any" to enable an
30
-; alternative in all cases.
32
-(define_attr "arch" "any,a,t,32,t1,t2,v6,nov6,v6t2,onlya8,neon_onlya8,nota8,neon_nota8,iwmmxt,iwmmxt2"
33
+; arm_arch6. This attribute is used to compute attribute "enabled",
34
+; use type "any" to enable an alternative in all cases.
35
+(define_attr "arch" "any,a,t,32,t1,t2,v6,nov6,onlya8,neon_onlya8,nota8,neon_nota8,iwmmxt,iwmmxt2"
38
(define_attr "arch_enabled" "no,yes"
40
(match_test "TARGET_32BIT && !arm_arch6"))
43
- (and (eq_attr "arch" "v6t2")
44
- (match_test "TARGET_32BIT && arm_arch6 && arm_arch_thumb2"))
45
- (const_string "yes")
47
(and (eq_attr "arch" "onlya8")
48
(eq_attr "tune" "cortexa8"))
52
;; Pattern to recognize insn generated default case above
53
(define_insn "*movhi_insn_arch4"
54
- [(set (match_operand:HI 0 "nonimmediate_operand" "=r,r,r,m,r")
55
- (match_operand:HI 1 "general_operand" "rI,K,n,r,mi"))]
56
+ [(set (match_operand:HI 0 "nonimmediate_operand" "=r,r,m,r")
57
+ (match_operand:HI 1 "general_operand" "rI,K,r,mi"))]
60
&& (register_operand (operands[0], HImode)
61
@@ -6297,20 +6291,17 @@
63
mov%?\\t%0, %1\\t%@ movhi
64
mvn%?\\t%0, #%B1\\t%@ movhi
65
- movw%?\\t%0, %L1\\t%@ movhi
66
str%(h%)\\t%1, %0\\t%@ movhi
67
ldr%(h%)\\t%0, %1\\t%@ movhi"
68
[(set_attr "predicable" "yes")
69
- (set_attr "insn" "mov,mvn,mov,*,*")
70
- (set_attr "pool_range" "*,*,*,*,256")
71
- (set_attr "neg_pool_range" "*,*,*,*,244")
72
- (set_attr "arch" "*,*,v6t2,*,*")
73
+ (set_attr "insn" "mov,mvn,*,*")
74
+ (set_attr "pool_range" "*,*,*,256")
75
+ (set_attr "neg_pool_range" "*,*,*,244")
76
(set_attr_alternative "type"
77
[(if_then_else (match_operand 1 "const_int_operand" "")
78
(const_string "simple_alu_imm" )
80
(const_string "simple_alu_imm")
81
- (const_string "simple_alu_imm")
82
(const_string "store1")
83
(const_string "load1")])]