diff options
Diffstat (limited to 'toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99335.patch')
-rw-r--r-- | toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99335.patch | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99335.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99335.patch new file mode 100644 index 0000000000..f75a74091f --- /dev/null +++ b/toolchain-layer/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99335.patch | |||
@@ -0,0 +1,138 @@ | |||
1 | 2010-07-26 Julian Brown <julian@codesourcery.com> | ||
2 | |||
3 | Merge from Sourcery G++ 4.4: | ||
4 | |||
5 | Mark Shinwell <shinwell@codesourcery.com> | ||
6 | |||
7 | gcc/ | ||
8 | * config/arm/vfp.md (*arm_movsi_vfp, *thumb2_movsi_vfp) | ||
9 | (*arm_movdi_vfp, *thumb2_movdi_vfp, *movsf_vfp, *thumb2_movsf_vfp) | ||
10 | (*movdf_vfp, *thumb2_movdf_vfp, *movsfcc_vfp, *thumb2_movsfcc_vfp) | ||
11 | (*movdfcc_vfp, *thumb2_movdfcc_vfp): Add neon_type. | ||
12 | * config/arm/arm.md (neon_type): Update comment. | ||
13 | |||
14 | 2010-08-10 Andrew Stubbs <ams@codesourcery.com> | ||
15 | |||
16 | gcc/ | ||
17 | |||
18 | === modified file 'gcc/config/arm/arm.md' | ||
19 | --- old/gcc/config/arm/arm.md 2010-08-10 13:31:21 +0000 | ||
20 | +++ new/gcc/config/arm/arm.md 2010-08-12 11:29:02 +0000 | ||
21 | @@ -255,8 +255,6 @@ | ||
22 | (define_attr "ldsched" "no,yes" (const (symbol_ref "arm_ld_sched"))) | ||
23 | |||
24 | ;; Classification of NEON instructions for scheduling purposes. | ||
25 | -;; Do not set this attribute and the "type" attribute together in | ||
26 | -;; any one instruction pattern. | ||
27 | (define_attr "neon_type" | ||
28 | "neon_int_1,\ | ||
29 | neon_int_2,\ | ||
30 | |||
31 | === modified file 'gcc/config/arm/vfp.md' | ||
32 | --- old/gcc/config/arm/vfp.md 2010-08-10 13:31:21 +0000 | ||
33 | +++ new/gcc/config/arm/vfp.md 2010-08-12 11:29:02 +0000 | ||
34 | @@ -82,6 +82,7 @@ | ||
35 | " | ||
36 | [(set_attr "predicable" "yes") | ||
37 | (set_attr "type" "*,*,*,*,load1,store1,r_2_f,f_2_r,fcpys,f_loads,f_stores") | ||
38 | + (set_attr "neon_type" "*,*,*,*,*,*,neon_mcr,neon_mrc,neon_vmov,*,*") | ||
39 | (set_attr "pool_range" "*,*,*,*,4096,*,*,*,*,1020,*") | ||
40 | (set_attr "neg_pool_range" "*,*,*,*,4084,*,*,*,*,1008,*")] | ||
41 | ) | ||
42 | @@ -123,6 +124,7 @@ | ||
43 | " | ||
44 | [(set_attr "predicable" "yes") | ||
45 | (set_attr "type" "*,*,*,*,load1,load1,store1,store1,r_2_f,f_2_r,fcpys,f_load,f_store") | ||
46 | + (set_attr "neon_type" "*,*,*,*,*,*,*,*,neon_mcr,neon_mrc,neon_vmov,*,*") | ||
47 | (set_attr "pool_range" "*,*,*,*,1020,4096,*,*,*,*,*,1020,*") | ||
48 | (set_attr "neg_pool_range" "*,*,*,*, 0, 0,*,*,*,*,*,1008,*")] | ||
49 | ) | ||
50 | @@ -160,6 +162,7 @@ | ||
51 | } | ||
52 | " | ||
53 | [(set_attr "type" "*,load2,store2,r_2_f,f_2_r,ffarithd,f_loadd,f_stored") | ||
54 | + (set_attr "neon_type" "*,*,*,neon_mcr_2_mcrr,neon_mrrc,neon_vmov,*,*") | ||
55 | (set (attr "length") (cond [(eq_attr "alternative" "0,1,2") (const_int 8) | ||
56 | (eq_attr "alternative" "5") | ||
57 | (if_then_else | ||
58 | @@ -198,6 +201,7 @@ | ||
59 | } | ||
60 | " | ||
61 | [(set_attr "type" "*,load2,store2,r_2_f,f_2_r,ffarithd,f_load,f_store") | ||
62 | + (set_attr "neon_type" "*,*,*,neon_mcr_2_mcrr,neon_mrrc,neon_vmov,*,*") | ||
63 | (set (attr "length") (cond [(eq_attr "alternative" "0,1,2") (const_int 8) | ||
64 | (eq_attr "alternative" "5") | ||
65 | (if_then_else | ||
66 | @@ -352,6 +356,7 @@ | ||
67 | [(set_attr "predicable" "yes") | ||
68 | (set_attr "type" | ||
69 | "r_2_f,f_2_r,fconsts,f_loads,f_stores,load1,store1,fcpys,*") | ||
70 | + (set_attr "neon_type" "neon_mcr,neon_mrc,*,*,*,*,*,neon_vmov,*") | ||
71 | (set_attr "pool_range" "*,*,*,1020,*,4096,*,*,*") | ||
72 | (set_attr "neg_pool_range" "*,*,*,1008,*,4080,*,*,*")] | ||
73 | ) | ||
74 | @@ -388,6 +393,7 @@ | ||
75 | [(set_attr "predicable" "yes") | ||
76 | (set_attr "type" | ||
77 | "r_2_f,f_2_r,fconsts,f_load,f_store,load1,store1,fcpys,*") | ||
78 | + (set_attr "neon_type" "neon_mcr,neon_mrc,*,*,*,*,*,neon_vmov,*") | ||
79 | (set_attr "pool_range" "*,*,*,1020,*,4092,*,*,*") | ||
80 | (set_attr "neg_pool_range" "*,*,*,1008,*,0,*,*,*")] | ||
81 | ) | ||
82 | @@ -430,6 +436,7 @@ | ||
83 | " | ||
84 | [(set_attr "type" | ||
85 | "r_2_f,f_2_r,fconstd,f_loadd,f_stored,load2,store2,ffarithd,*") | ||
86 | + (set_attr "neon_type" "neon_mcr_2_mcrr,neon_mrrc,*,*,*,*,*,neon_vmov,*") | ||
87 | (set (attr "length") (cond [(eq_attr "alternative" "3,4,8") (const_int 8) | ||
88 | (eq_attr "alternative" "7") | ||
89 | (if_then_else | ||
90 | @@ -474,6 +481,7 @@ | ||
91 | " | ||
92 | [(set_attr "type" | ||
93 | "r_2_f,f_2_r,fconstd,load2,store2,f_load,f_store,ffarithd,*") | ||
94 | + (set_attr "neon_type" "neon_mcr_2_mcrr,neon_mrrc,*,*,*,*,*,neon_vmov,*") | ||
95 | (set (attr "length") (cond [(eq_attr "alternative" "3,4,8") (const_int 8) | ||
96 | (eq_attr "alternative" "7") | ||
97 | (if_then_else | ||
98 | @@ -509,7 +517,8 @@ | ||
99 | fmrs%D3\\t%0, %2\;fmrs%d3\\t%0, %1" | ||
100 | [(set_attr "conds" "use") | ||
101 | (set_attr "length" "4,4,8,4,4,8,4,4,8") | ||
102 | - (set_attr "type" "fcpys,fcpys,fcpys,r_2_f,r_2_f,r_2_f,f_2_r,f_2_r,f_2_r")] | ||
103 | + (set_attr "type" "fcpys,fcpys,fcpys,r_2_f,r_2_f,r_2_f,f_2_r,f_2_r,f_2_r") | ||
104 | + (set_attr "neon_type" "neon_vmov,neon_vmov,neon_vmov,neon_mcr,neon_mcr,neon_mcr,neon_mrc,neon_mrc,neon_mrc")] | ||
105 | ) | ||
106 | |||
107 | (define_insn "*thumb2_movsfcc_vfp" | ||
108 | @@ -532,7 +541,8 @@ | ||
109 | ite\\t%D3\;fmrs%D3\\t%0, %2\;fmrs%d3\\t%0, %1" | ||
110 | [(set_attr "conds" "use") | ||
111 | (set_attr "length" "6,6,10,6,6,10,6,6,10") | ||
112 | - (set_attr "type" "fcpys,fcpys,fcpys,r_2_f,r_2_f,r_2_f,f_2_r,f_2_r,f_2_r")] | ||
113 | + (set_attr "type" "fcpys,fcpys,fcpys,r_2_f,r_2_f,r_2_f,f_2_r,f_2_r,f_2_r") | ||
114 | + (set_attr "neon_type" "neon_vmov,neon_vmov,neon_vmov,neon_mcr,neon_mcr,neon_mcr,neon_mrc,neon_mrc,neon_mrc")] | ||
115 | ) | ||
116 | |||
117 | (define_insn "*movdfcc_vfp" | ||
118 | @@ -555,7 +565,8 @@ | ||
119 | fmrrd%D3\\t%Q0, %R0, %P2\;fmrrd%d3\\t%Q0, %R0, %P1" | ||
120 | [(set_attr "conds" "use") | ||
121 | (set_attr "length" "4,4,8,4,4,8,4,4,8") | ||
122 | - (set_attr "type" "ffarithd,ffarithd,ffarithd,r_2_f,r_2_f,r_2_f,f_2_r,f_2_r,f_2_r")] | ||
123 | + (set_attr "type" "ffarithd,ffarithd,ffarithd,r_2_f,r_2_f,r_2_f,f_2_r,f_2_r,f_2_r") | ||
124 | + (set_attr "neon_type" "neon_vmov,neon_vmov,neon_vmov,neon_mcr_2_mcrr,neon_mcr_2_mcrr,neon_mcr_2_mcrr,neon_mrrc,neon_mrrc,neon_mrrc")] | ||
125 | ) | ||
126 | |||
127 | (define_insn "*thumb2_movdfcc_vfp" | ||
128 | @@ -578,7 +589,8 @@ | ||
129 | ite\\t%D3\;fmrrd%D3\\t%Q0, %R0, %P2\;fmrrd%d3\\t%Q0, %R0, %P1" | ||
130 | [(set_attr "conds" "use") | ||
131 | (set_attr "length" "6,6,10,6,6,10,6,6,10") | ||
132 | - (set_attr "type" "ffarithd,ffarithd,ffarithd,r_2_f,r_2_f,r_2_f,f_2_r,f_2_r,f_2_r")] | ||
133 | + (set_attr "type" "ffarithd,ffarithd,ffarithd,r_2_f,r_2_f,r_2_f,f_2_r,f_2_r,f_2_r") | ||
134 | + (set_attr "neon_type" "neon_vmov,neon_vmov,neon_vmov,neon_mcr_2_mcrr,neon_mcr_2_mcrr,neon_mcr_2_mcrr,neon_mrrc,neon_mrrc,neon_mrrc")] | ||
135 | ) | ||
136 | |||
137 | |||
138 | |||