diff options
Diffstat (limited to 'toolchain-layer/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106815.patch')
-rw-r--r-- | toolchain-layer/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106815.patch | 528 |
1 files changed, 0 insertions, 528 deletions
diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106815.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106815.patch deleted file mode 100644 index 16779bbf1e..0000000000 --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106815.patch +++ /dev/null | |||
@@ -1,528 +0,0 @@ | |||
1 | 2011-09-25 Ira Rosen <ira.rosen@linaro.org> | ||
2 | |||
3 | gcc/testsuite/ | ||
4 | * lib/target-supports.exp (check_effective_target_vect_multiple_sizes): | ||
5 | Replace check_effective_target_arm_neon with | ||
6 | check_effective_target_arm_neon_ok. | ||
7 | |||
8 | Backport from mainline: | ||
9 | |||
10 | 2011-09-06 Ira Rosen <ira.rosen@linaro.org> | ||
11 | |||
12 | gcc/ | ||
13 | * config/arm/arm.c (arm_preferred_simd_mode): Check | ||
14 | TARGET_NEON_VECTORIZE_DOUBLE instead of | ||
15 | TARGET_NEON_VECTORIZE_QUAD. | ||
16 | (arm_autovectorize_vector_sizes): Likewise. | ||
17 | * config/arm/arm.opt (mvectorize-with-neon-quad): Make inverse | ||
18 | mask of mvectorize-with-neon-double. Add RejectNegative. | ||
19 | (mvectorize-with-neon-double): New. | ||
20 | |||
21 | gcc/testsuite/ | ||
22 | * lib/target-supports.exp (check_effective_target_vect_multiple_sizes): | ||
23 | New procedure. | ||
24 | (add_options_for_quad_vectors): Replace with ... | ||
25 | (add_options_for_double_vectors): ... this. | ||
26 | * gfortran.dg/vect/pr19049.f90: Expect more printings on targets that | ||
27 | support multiple vector sizes since the vectorizer attempts to | ||
28 | vectorize with both vector sizes. | ||
29 | * gcc.dg/vect/no-vfa-vect-79.c, | ||
30 | gcc.dg/vect/no-vfa-vect-102a.c, gcc.dg/vect/vect-outer-1a.c, | ||
31 | gcc.dg/vect/vect-outer-1b.c, gcc.dg/vect/vect-outer-2b.c, | ||
32 | gcc.dg/vect/vect-outer-3a.c, gcc.dg/vect/no-vfa-vect-37.c, | ||
33 | gcc.dg/vect/vect-outer-3b.c, gcc.dg/vect/no-vfa-vect-101.c, | ||
34 | gcc.dg/vect/no-vfa-vect-102.c, gcc.dg/vect/vect-reduc-dot-s8b.c, | ||
35 | gcc.dg/vect/vect-outer-1.c, gcc.dg/vect/vect-104.c: Likewise. | ||
36 | * gcc.dg/vect/vect-42.c: Run with 64 bit vectors if applicable. | ||
37 | * gcc.dg/vect/vect-multitypes-6.c, gcc.dg/vect/vect-52.c, | ||
38 | gcc.dg/vect/vect-54.c, gcc.dg/vect/vect-46.c, gcc.dg/vect/vect-48.c, | ||
39 | gcc.dg/vect/vect-96.c, gcc.dg/vect/vect-multitypes-3.c, | ||
40 | gcc.dg/vect/vect-40.c: Likewise. | ||
41 | * gcc.dg/vect/vect-outer-5.c: Remove quad-vectors option as | ||
42 | redundant. | ||
43 | * gcc.dg/vect/vect-109.c, gcc.dg/vect/vect-peel-1.c, | ||
44 | gcc.dg/vect/vect-peel-2.c, gcc.dg/vect/slp-25.c, | ||
45 | gcc.dg/vect/vect-multitypes-1.c, gcc.dg/vect/slp-3.c, | ||
46 | gcc.dg/vect/no-vfa-pr29145.c, gcc.dg/vect/vect-multitypes-4.c: | ||
47 | Likewise. | ||
48 | * gcc.dg/vect/vect-peel-4.c: Make ia global. | ||
49 | |||
50 | === modified file 'gcc/config/arm/arm.c' | ||
51 | --- old/gcc/config/arm/arm.c 2011-09-15 09:45:31 +0000 | ||
52 | +++ new/gcc/config/arm/arm.c 2011-09-19 07:44:24 +0000 | ||
53 | @@ -22974,7 +22974,7 @@ | ||
54 | return false; | ||
55 | } | ||
56 | |||
57 | -/* Use the option -mvectorize-with-neon-quad to override the use of doubleword | ||
58 | +/* Use the option -mvectorize-with-neon-double to override the use of quardword | ||
59 | registers when autovectorizing for Neon, at least until multiple vector | ||
60 | widths are supported properly by the middle-end. */ | ||
61 | |||
62 | @@ -22985,15 +22985,15 @@ | ||
63 | switch (mode) | ||
64 | { | ||
65 | case SFmode: | ||
66 | - return TARGET_NEON_VECTORIZE_QUAD ? V4SFmode : V2SFmode; | ||
67 | + return TARGET_NEON_VECTORIZE_DOUBLE ? V2SFmode : V4SFmode; | ||
68 | case SImode: | ||
69 | - return TARGET_NEON_VECTORIZE_QUAD ? V4SImode : V2SImode; | ||
70 | + return TARGET_NEON_VECTORIZE_DOUBLE ? V2SImode : V4SImode; | ||
71 | case HImode: | ||
72 | - return TARGET_NEON_VECTORIZE_QUAD ? V8HImode : V4HImode; | ||
73 | + return TARGET_NEON_VECTORIZE_DOUBLE ? V4HImode : V8HImode; | ||
74 | case QImode: | ||
75 | - return TARGET_NEON_VECTORIZE_QUAD ? V16QImode : V8QImode; | ||
76 | + return TARGET_NEON_VECTORIZE_DOUBLE ? V8QImode : V16QImode; | ||
77 | case DImode: | ||
78 | - if (TARGET_NEON_VECTORIZE_QUAD) | ||
79 | + if (!TARGET_NEON_VECTORIZE_DOUBLE) | ||
80 | return V2DImode; | ||
81 | break; | ||
82 | |||
83 | @@ -24226,7 +24226,7 @@ | ||
84 | static unsigned int | ||
85 | arm_autovectorize_vector_sizes (void) | ||
86 | { | ||
87 | - return TARGET_NEON_VECTORIZE_QUAD ? 16 | 8 : 0; | ||
88 | + return TARGET_NEON_VECTORIZE_DOUBLE ? 0 : (16 | 8); | ||
89 | } | ||
90 | |||
91 | static bool | ||
92 | |||
93 | === modified file 'gcc/config/arm/arm.opt' | ||
94 | --- old/gcc/config/arm/arm.opt 2009-06-18 11:24:10 +0000 | ||
95 | +++ new/gcc/config/arm/arm.opt 2011-09-19 07:44:24 +0000 | ||
96 | @@ -158,9 +158,13 @@ | ||
97 | Assume big endian bytes, little endian words | ||
98 | |||
99 | mvectorize-with-neon-quad | ||
100 | -Target Report Mask(NEON_VECTORIZE_QUAD) | ||
101 | +Target Report RejectNegative InverseMask(NEON_VECTORIZE_DOUBLE) | ||
102 | Use Neon quad-word (rather than double-word) registers for vectorization | ||
103 | |||
104 | +mvectorize-with-neon-double | ||
105 | +Target Report RejectNegative Mask(NEON_VECTORIZE_DOUBLE) | ||
106 | +Use Neon double-word (rather than quad-word) registers for vectorization | ||
107 | + | ||
108 | mword-relocations | ||
109 | Target Report Var(target_word_relocations) Init(TARGET_DEFAULT_WORD_RELOCATIONS) | ||
110 | Only generate absolute relocations on word sized values. | ||
111 | |||
112 | === modified file 'gcc/testsuite/gcc.dg/vect/no-vfa-pr29145.c' | ||
113 | --- old/gcc/testsuite/gcc.dg/vect/no-vfa-pr29145.c 2011-04-28 11:46:58 +0000 | ||
114 | +++ new/gcc/testsuite/gcc.dg/vect/no-vfa-pr29145.c 2011-09-19 07:44:24 +0000 | ||
115 | @@ -1,5 +1,4 @@ | ||
116 | /* { dg-require-effective-target vect_int } */ | ||
117 | -/* { dg-add-options quad_vectors } */ | ||
118 | |||
119 | #include <stdarg.h> | ||
120 | #include "tree-vect.h" | ||
121 | |||
122 | === modified file 'gcc/testsuite/gcc.dg/vect/no-vfa-vect-101.c' | ||
123 | --- old/gcc/testsuite/gcc.dg/vect/no-vfa-vect-101.c 2007-09-04 12:05:19 +0000 | ||
124 | +++ new/gcc/testsuite/gcc.dg/vect/no-vfa-vect-101.c 2011-09-19 07:44:24 +0000 | ||
125 | @@ -45,6 +45,7 @@ | ||
126 | } | ||
127 | |||
128 | /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" } } */ | ||
129 | -/* { dg-final { scan-tree-dump-times "can't determine dependence" 1 "vect" } } */ | ||
130 | +/* { dg-final { scan-tree-dump-times "can't determine dependence" 1 "vect" { xfail vect_multiple_sizes } } } */ | ||
131 | +/* { dg-final { scan-tree-dump-times "can't determine dependence" 2 "vect" { target vect_multiple_sizes } } } */ | ||
132 | /* { dg-final { cleanup-tree-dump "vect" } } */ | ||
133 | |||
134 | |||
135 | === modified file 'gcc/testsuite/gcc.dg/vect/no-vfa-vect-102.c' | ||
136 | --- old/gcc/testsuite/gcc.dg/vect/no-vfa-vect-102.c 2007-09-12 07:48:44 +0000 | ||
137 | +++ new/gcc/testsuite/gcc.dg/vect/no-vfa-vect-102.c 2011-09-19 07:44:24 +0000 | ||
138 | @@ -53,6 +53,7 @@ | ||
139 | } | ||
140 | |||
141 | /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" } } */ | ||
142 | -/* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 1 "vect" } } */ | ||
143 | +/* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 1 "vect" { xfail vect_multiple_sizes } } } */ | ||
144 | +/* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 2 "vect" { target vect_multiple_sizes } } } */ | ||
145 | /* { dg-final { cleanup-tree-dump "vect" } } */ | ||
146 | |||
147 | |||
148 | === modified file 'gcc/testsuite/gcc.dg/vect/no-vfa-vect-102a.c' | ||
149 | --- old/gcc/testsuite/gcc.dg/vect/no-vfa-vect-102a.c 2007-09-12 07:48:44 +0000 | ||
150 | +++ new/gcc/testsuite/gcc.dg/vect/no-vfa-vect-102a.c 2011-09-19 07:44:24 +0000 | ||
151 | @@ -53,6 +53,7 @@ | ||
152 | } | ||
153 | |||
154 | /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" } } */ | ||
155 | -/* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 1 "vect" } } */ | ||
156 | +/* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 1 "vect" { xfail vect_multiple_sizes } } } */ | ||
157 | +/* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 2 "vect" { target vect_multiple_sizes } } } */ | ||
158 | /* { dg-final { cleanup-tree-dump "vect" } } */ | ||
159 | |||
160 | |||
161 | === modified file 'gcc/testsuite/gcc.dg/vect/no-vfa-vect-37.c' | ||
162 | --- old/gcc/testsuite/gcc.dg/vect/no-vfa-vect-37.c 2009-05-08 12:39:01 +0000 | ||
163 | +++ new/gcc/testsuite/gcc.dg/vect/no-vfa-vect-37.c 2011-09-19 07:44:24 +0000 | ||
164 | @@ -58,5 +58,6 @@ | ||
165 | If/when the aliasing problems are resolved, unalignment may | ||
166 | prevent vectorization on some targets. */ | ||
167 | /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { xfail *-*-* } } } */ | ||
168 | -/* { dg-final { scan-tree-dump-times "can't determine dependence between" 2 "vect" } } */ | ||
169 | +/* { dg-final { scan-tree-dump-times "can't determine dependence" 2 "vect" { xfail vect_multiple_sizes } } } */ | ||
170 | +/* { dg-final { scan-tree-dump-times "can't determine dependence" 4 "vect" { target vect_multiple_sizes } } } */ | ||
171 | /* { dg-final { cleanup-tree-dump "vect" } } */ | ||
172 | |||
173 | === modified file 'gcc/testsuite/gcc.dg/vect/no-vfa-vect-79.c' | ||
174 | --- old/gcc/testsuite/gcc.dg/vect/no-vfa-vect-79.c 2009-05-08 12:39:01 +0000 | ||
175 | +++ new/gcc/testsuite/gcc.dg/vect/no-vfa-vect-79.c 2011-09-19 07:44:24 +0000 | ||
176 | @@ -46,5 +46,6 @@ | ||
177 | If/when the aliasing problems are resolved, unalignment may | ||
178 | prevent vectorization on some targets. */ | ||
179 | /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail *-*-* } } } */ | ||
180 | -/* { dg-final { scan-tree-dump-times "can't determine dependence between" 1 "vect" } } */ | ||
181 | +/* { dg-final { scan-tree-dump-times "can't determine dependence" 1 "vect" { xfail vect_multiple_sizes } } } */ | ||
182 | +/* { dg-final { scan-tree-dump-times "can't determine dependence" 2 "vect" { target vect_multiple_sizes } } } */ | ||
183 | /* { dg-final { cleanup-tree-dump "vect" } } */ | ||
184 | |||
185 | === modified file 'gcc/testsuite/gcc.dg/vect/slp-25.c' | ||
186 | --- old/gcc/testsuite/gcc.dg/vect/slp-25.c 2010-10-04 14:59:30 +0000 | ||
187 | +++ new/gcc/testsuite/gcc.dg/vect/slp-25.c 2011-09-19 07:44:24 +0000 | ||
188 | @@ -1,5 +1,4 @@ | ||
189 | /* { dg-require-effective-target vect_int } */ | ||
190 | -/* { dg-add-options quad_vectors } */ | ||
191 | |||
192 | #include <stdarg.h> | ||
193 | #include "tree-vect.h" | ||
194 | |||
195 | === modified file 'gcc/testsuite/gcc.dg/vect/slp-3.c' | ||
196 | --- old/gcc/testsuite/gcc.dg/vect/slp-3.c 2011-04-28 11:46:58 +0000 | ||
197 | +++ new/gcc/testsuite/gcc.dg/vect/slp-3.c 2011-09-19 07:44:24 +0000 | ||
198 | @@ -1,5 +1,4 @@ | ||
199 | /* { dg-require-effective-target vect_int } */ | ||
200 | -/* { dg-add-options quad_vectors } */ | ||
201 | |||
202 | #include <stdarg.h> | ||
203 | #include "tree-vect.h" | ||
204 | |||
205 | === modified file 'gcc/testsuite/gcc.dg/vect/vect-104.c' | ||
206 | --- old/gcc/testsuite/gcc.dg/vect/vect-104.c 2007-09-12 07:48:44 +0000 | ||
207 | +++ new/gcc/testsuite/gcc.dg/vect/vect-104.c 2011-09-19 07:44:24 +0000 | ||
208 | @@ -64,6 +64,7 @@ | ||
209 | } | ||
210 | |||
211 | /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" } } */ | ||
212 | -/* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 1 "vect" } } */ | ||
213 | +/* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 1 "vect" { xfail vect_multiple_sizes } } } */ | ||
214 | +/* { dg-final { scan-tree-dump-times "possible dependence between data-refs" 2 "vect" { target vect_multiple_sizes } } } */ | ||
215 | /* { dg-final { cleanup-tree-dump "vect" } } */ | ||
216 | |||
217 | |||
218 | === modified file 'gcc/testsuite/gcc.dg/vect/vect-109.c' | ||
219 | --- old/gcc/testsuite/gcc.dg/vect/vect-109.c 2010-10-04 14:59:30 +0000 | ||
220 | +++ new/gcc/testsuite/gcc.dg/vect/vect-109.c 2011-09-19 07:44:24 +0000 | ||
221 | @@ -1,5 +1,4 @@ | ||
222 | /* { dg-require-effective-target vect_int } */ | ||
223 | -/* { dg-add-options quad_vectors } */ | ||
224 | |||
225 | #include <stdarg.h> | ||
226 | #include "tree-vect.h" | ||
227 | |||
228 | === modified file 'gcc/testsuite/gcc.dg/vect/vect-40.c' | ||
229 | --- old/gcc/testsuite/gcc.dg/vect/vect-40.c 2009-05-25 14:18:21 +0000 | ||
230 | +++ new/gcc/testsuite/gcc.dg/vect/vect-40.c 2011-09-19 07:44:24 +0000 | ||
231 | @@ -1,4 +1,5 @@ | ||
232 | /* { dg-require-effective-target vect_float } */ | ||
233 | +/* { dg-add-options double_vectors } */ | ||
234 | |||
235 | #include <stdarg.h> | ||
236 | #include "tree-vect.h" | ||
237 | |||
238 | === modified file 'gcc/testsuite/gcc.dg/vect/vect-42.c' | ||
239 | --- old/gcc/testsuite/gcc.dg/vect/vect-42.c 2010-10-04 14:59:30 +0000 | ||
240 | +++ new/gcc/testsuite/gcc.dg/vect/vect-42.c 2011-09-19 07:44:24 +0000 | ||
241 | @@ -1,4 +1,5 @@ | ||
242 | /* { dg-require-effective-target vect_float } */ | ||
243 | +/* { dg-add-options double_vectors } */ | ||
244 | |||
245 | #include <stdarg.h> | ||
246 | #include "tree-vect.h" | ||
247 | |||
248 | === modified file 'gcc/testsuite/gcc.dg/vect/vect-46.c' | ||
249 | --- old/gcc/testsuite/gcc.dg/vect/vect-46.c 2009-05-25 14:18:21 +0000 | ||
250 | +++ new/gcc/testsuite/gcc.dg/vect/vect-46.c 2011-09-19 07:44:24 +0000 | ||
251 | @@ -1,4 +1,5 @@ | ||
252 | /* { dg-require-effective-target vect_float } */ | ||
253 | +/* { dg-add-options double_vectors } */ | ||
254 | |||
255 | #include <stdarg.h> | ||
256 | #include "tree-vect.h" | ||
257 | |||
258 | === modified file 'gcc/testsuite/gcc.dg/vect/vect-48.c' | ||
259 | --- old/gcc/testsuite/gcc.dg/vect/vect-48.c 2009-11-04 10:22:22 +0000 | ||
260 | +++ new/gcc/testsuite/gcc.dg/vect/vect-48.c 2011-09-19 07:44:24 +0000 | ||
261 | @@ -1,4 +1,5 @@ | ||
262 | /* { dg-require-effective-target vect_float } */ | ||
263 | +/* { dg-add-options double_vectors } */ | ||
264 | |||
265 | #include <stdarg.h> | ||
266 | #include "tree-vect.h" | ||
267 | |||
268 | === modified file 'gcc/testsuite/gcc.dg/vect/vect-52.c' | ||
269 | --- old/gcc/testsuite/gcc.dg/vect/vect-52.c 2009-11-04 10:22:22 +0000 | ||
270 | +++ new/gcc/testsuite/gcc.dg/vect/vect-52.c 2011-09-19 07:44:24 +0000 | ||
271 | @@ -1,4 +1,5 @@ | ||
272 | /* { dg-require-effective-target vect_float } */ | ||
273 | +/* { dg-add-options double_vectors } */ | ||
274 | |||
275 | #include <stdarg.h> | ||
276 | #include "tree-vect.h" | ||
277 | |||
278 | === modified file 'gcc/testsuite/gcc.dg/vect/vect-54.c' | ||
279 | --- old/gcc/testsuite/gcc.dg/vect/vect-54.c 2009-10-27 11:46:07 +0000 | ||
280 | +++ new/gcc/testsuite/gcc.dg/vect/vect-54.c 2011-09-19 07:44:24 +0000 | ||
281 | @@ -1,4 +1,5 @@ | ||
282 | /* { dg-require-effective-target vect_float } */ | ||
283 | +/* { dg-add-options double_vectors } */ | ||
284 | |||
285 | #include <stdarg.h> | ||
286 | #include "tree-vect.h" | ||
287 | |||
288 | === modified file 'gcc/testsuite/gcc.dg/vect/vect-96.c' | ||
289 | --- old/gcc/testsuite/gcc.dg/vect/vect-96.c 2010-10-04 14:59:30 +0000 | ||
290 | +++ new/gcc/testsuite/gcc.dg/vect/vect-96.c 2011-09-19 07:44:24 +0000 | ||
291 | @@ -1,4 +1,5 @@ | ||
292 | /* { dg-require-effective-target vect_int } */ | ||
293 | +/* { dg-add-options double_vectors } */ | ||
294 | |||
295 | #include <stdarg.h> | ||
296 | #include "tree-vect.h" | ||
297 | |||
298 | === modified file 'gcc/testsuite/gcc.dg/vect/vect-multitypes-1.c' | ||
299 | --- old/gcc/testsuite/gcc.dg/vect/vect-multitypes-1.c 2010-10-04 14:59:30 +0000 | ||
300 | +++ new/gcc/testsuite/gcc.dg/vect/vect-multitypes-1.c 2011-09-19 07:44:24 +0000 | ||
301 | @@ -1,5 +1,4 @@ | ||
302 | /* { dg-require-effective-target vect_int } */ | ||
303 | -/* { dg-add-options quad_vectors } */ | ||
304 | |||
305 | #include <stdarg.h> | ||
306 | #include "tree-vect.h" | ||
307 | |||
308 | === modified file 'gcc/testsuite/gcc.dg/vect/vect-multitypes-3.c' | ||
309 | --- old/gcc/testsuite/gcc.dg/vect/vect-multitypes-3.c 2009-11-04 10:22:22 +0000 | ||
310 | +++ new/gcc/testsuite/gcc.dg/vect/vect-multitypes-3.c 2011-09-19 07:44:24 +0000 | ||
311 | @@ -1,4 +1,5 @@ | ||
312 | /* { dg-require-effective-target vect_int } */ | ||
313 | +/* { dg-add-options double_vectors } */ | ||
314 | |||
315 | #include <stdarg.h> | ||
316 | #include "tree-vect.h" | ||
317 | |||
318 | === modified file 'gcc/testsuite/gcc.dg/vect/vect-multitypes-4.c' | ||
319 | --- old/gcc/testsuite/gcc.dg/vect/vect-multitypes-4.c 2010-10-04 14:59:30 +0000 | ||
320 | +++ new/gcc/testsuite/gcc.dg/vect/vect-multitypes-4.c 2011-09-19 07:44:24 +0000 | ||
321 | @@ -1,5 +1,4 @@ | ||
322 | /* { dg-require-effective-target vect_int } */ | ||
323 | -/* { dg-add-options quad_vectors } */ | ||
324 | |||
325 | #include <stdarg.h> | ||
326 | #include "tree-vect.h" | ||
327 | |||
328 | === modified file 'gcc/testsuite/gcc.dg/vect/vect-multitypes-6.c' | ||
329 | --- old/gcc/testsuite/gcc.dg/vect/vect-multitypes-6.c 2009-11-10 18:01:22 +0000 | ||
330 | +++ new/gcc/testsuite/gcc.dg/vect/vect-multitypes-6.c 2011-09-19 07:44:24 +0000 | ||
331 | @@ -1,4 +1,5 @@ | ||
332 | /* { dg-require-effective-target vect_int } */ | ||
333 | +/* { dg-add-options double_vectors } */ | ||
334 | |||
335 | #include <stdarg.h> | ||
336 | #include "tree-vect.h" | ||
337 | |||
338 | === modified file 'gcc/testsuite/gcc.dg/vect/vect-outer-1.c' | ||
339 | --- old/gcc/testsuite/gcc.dg/vect/vect-outer-1.c 2009-05-08 12:39:01 +0000 | ||
340 | +++ new/gcc/testsuite/gcc.dg/vect/vect-outer-1.c 2011-09-19 07:44:24 +0000 | ||
341 | @@ -22,5 +22,6 @@ | ||
342 | } | ||
343 | |||
344 | /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */ | ||
345 | -/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" } } */ | ||
346 | +/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { xfail vect_multiple_sizes } } } */ | ||
347 | +/* { dg-final { scan-tree-dump-times "strided access in outer loop" 2 "vect" { target vect_multiple_sizes } } } */ | ||
348 | /* { dg-final { cleanup-tree-dump "vect" } } */ | ||
349 | |||
350 | === modified file 'gcc/testsuite/gcc.dg/vect/vect-outer-1a.c' | ||
351 | --- old/gcc/testsuite/gcc.dg/vect/vect-outer-1a.c 2009-06-16 06:21:12 +0000 | ||
352 | +++ new/gcc/testsuite/gcc.dg/vect/vect-outer-1a.c 2011-09-19 07:44:24 +0000 | ||
353 | @@ -20,5 +20,6 @@ | ||
354 | } | ||
355 | |||
356 | /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */ | ||
357 | -/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" } } */ | ||
358 | +/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { xfail vect_multiple_sizes } } } */ | ||
359 | +/* { dg-final { scan-tree-dump-times "strided access in outer loop" 2 "vect" { target vect_multiple_sizes } } } */ | ||
360 | /* { dg-final { cleanup-tree-dump "vect" } } */ | ||
361 | |||
362 | === modified file 'gcc/testsuite/gcc.dg/vect/vect-outer-1b.c' | ||
363 | --- old/gcc/testsuite/gcc.dg/vect/vect-outer-1b.c 2007-08-19 11:02:48 +0000 | ||
364 | +++ new/gcc/testsuite/gcc.dg/vect/vect-outer-1b.c 2011-09-19 07:44:24 +0000 | ||
365 | @@ -22,5 +22,6 @@ | ||
366 | } | ||
367 | |||
368 | /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */ | ||
369 | -/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" } } */ | ||
370 | +/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { xfail vect_multiple_sizes } } } */ | ||
371 | +/* { dg-final { scan-tree-dump-times "strided access in outer loop" 2 "vect" { target vect_multiple_sizes } } } */ | ||
372 | /* { dg-final { cleanup-tree-dump "vect" } } */ | ||
373 | |||
374 | === modified file 'gcc/testsuite/gcc.dg/vect/vect-outer-2b.c' | ||
375 | --- old/gcc/testsuite/gcc.dg/vect/vect-outer-2b.c 2009-05-08 12:39:01 +0000 | ||
376 | +++ new/gcc/testsuite/gcc.dg/vect/vect-outer-2b.c 2011-09-19 07:44:24 +0000 | ||
377 | @@ -37,5 +37,6 @@ | ||
378 | return 0; | ||
379 | } | ||
380 | |||
381 | -/* { dg-final { scan-tree-dump-times "strided access in outer loop." 1 "vect" } } */ | ||
382 | +/* { dg-final { scan-tree-dump-times "strided access in outer loop" 1 "vect" { xfail vect_multiple_sizes } } } */ | ||
383 | +/* { dg-final { scan-tree-dump-times "strided access in outer loop" 2 "vect" { target vect_multiple_sizes } } } */ | ||
384 | /* { dg-final { cleanup-tree-dump "vect" } } */ | ||
385 | |||
386 | === modified file 'gcc/testsuite/gcc.dg/vect/vect-outer-3a.c' | ||
387 | --- old/gcc/testsuite/gcc.dg/vect/vect-outer-3a.c 2009-05-08 12:39:01 +0000 | ||
388 | +++ new/gcc/testsuite/gcc.dg/vect/vect-outer-3a.c 2011-09-19 07:44:24 +0000 | ||
389 | @@ -49,5 +49,6 @@ | ||
390 | } | ||
391 | |||
392 | /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail vect_no_align } } } */ | ||
393 | -/* { dg-final { scan-tree-dump-times "step doesn't divide the vector-size" 2 "vect" } } */ | ||
394 | +/* { dg-final { scan-tree-dump-times "step doesn't divide the vector-size" 2 "vect" { xfail vect_multiple_sizes } } } */ | ||
395 | +/* { dg-final { scan-tree-dump-times "step doesn't divide the vector-size" 3 "vect" { target vect_multiple_sizes } } } */ | ||
396 | /* { dg-final { cleanup-tree-dump "vect" } } */ | ||
397 | |||
398 | === modified file 'gcc/testsuite/gcc.dg/vect/vect-outer-3b.c' | ||
399 | --- old/gcc/testsuite/gcc.dg/vect/vect-outer-3b.c 2009-05-08 12:39:01 +0000 | ||
400 | +++ new/gcc/testsuite/gcc.dg/vect/vect-outer-3b.c 2011-09-19 07:44:24 +0000 | ||
401 | @@ -49,5 +49,6 @@ | ||
402 | } | ||
403 | |||
404 | /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { xfail *-*-* } } } */ | ||
405 | -/* { dg-final { scan-tree-dump-times "strided access in outer loop" 2 "vect" } } */ | ||
406 | +/* { dg-final { scan-tree-dump-times "strided access in outer loop" 2 "vect" { xfail vect_multiple_sizes } } } */ | ||
407 | +/* { dg-final { scan-tree-dump-times "strided access in outer loop" 4 "vect" { target vect_multiple_sizes } } } */ | ||
408 | /* { dg-final { cleanup-tree-dump "vect" } } */ | ||
409 | |||
410 | === modified file 'gcc/testsuite/gcc.dg/vect/vect-outer-5.c' | ||
411 | --- old/gcc/testsuite/gcc.dg/vect/vect-outer-5.c 2011-04-28 11:46:58 +0000 | ||
412 | +++ new/gcc/testsuite/gcc.dg/vect/vect-outer-5.c 2011-09-19 07:44:24 +0000 | ||
413 | @@ -1,5 +1,4 @@ | ||
414 | /* { dg-require-effective-target vect_float } */ | ||
415 | -/* { dg-add-options quad_vectors } */ | ||
416 | |||
417 | #include <stdarg.h> | ||
418 | #include <signal.h> | ||
419 | |||
420 | === modified file 'gcc/testsuite/gcc.dg/vect/vect-peel-1.c' | ||
421 | --- old/gcc/testsuite/gcc.dg/vect/vect-peel-1.c 2011-01-10 12:41:40 +0000 | ||
422 | +++ new/gcc/testsuite/gcc.dg/vect/vect-peel-1.c 2011-09-19 07:44:24 +0000 | ||
423 | @@ -1,5 +1,4 @@ | ||
424 | /* { dg-require-effective-target vect_int } */ | ||
425 | -/* { dg-add-options quad_vectors } */ | ||
426 | |||
427 | #include <stdarg.h> | ||
428 | #include "tree-vect.h" | ||
429 | |||
430 | === modified file 'gcc/testsuite/gcc.dg/vect/vect-peel-2.c' | ||
431 | --- old/gcc/testsuite/gcc.dg/vect/vect-peel-2.c 2011-01-10 12:41:40 +0000 | ||
432 | +++ new/gcc/testsuite/gcc.dg/vect/vect-peel-2.c 2011-09-19 07:44:24 +0000 | ||
433 | @@ -1,5 +1,4 @@ | ||
434 | /* { dg-require-effective-target vect_int } */ | ||
435 | -/* { dg-add-options quad_vectors } */ | ||
436 | |||
437 | #include <stdarg.h> | ||
438 | #include "tree-vect.h" | ||
439 | |||
440 | === modified file 'gcc/testsuite/gcc.dg/vect/vect-peel-4.c' | ||
441 | --- old/gcc/testsuite/gcc.dg/vect/vect-peel-4.c 2011-01-10 12:41:40 +0000 | ||
442 | +++ new/gcc/testsuite/gcc.dg/vect/vect-peel-4.c 2011-09-19 07:44:24 +0000 | ||
443 | @@ -6,12 +6,12 @@ | ||
444 | #define N 128 | ||
445 | |||
446 | int ib[N+7]; | ||
447 | +int ia[N+1]; | ||
448 | |||
449 | __attribute__ ((noinline)) | ||
450 | int main1 () | ||
451 | { | ||
452 | int i; | ||
453 | - int ia[N+1]; | ||
454 | |||
455 | /* Don't peel keeping one load and the store aligned. */ | ||
456 | for (i = 0; i <= N; i++) | ||
457 | |||
458 | === modified file 'gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8b.c' | ||
459 | --- old/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8b.c 2010-05-27 12:23:45 +0000 | ||
460 | +++ new/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8b.c 2011-09-19 07:44:24 +0000 | ||
461 | @@ -58,7 +58,8 @@ | ||
462 | } | ||
463 | |||
464 | /* { dg-final { scan-tree-dump-times "vect_recog_dot_prod_pattern: detected" 1 "vect" { xfail *-*-* } } } */ | ||
465 | -/* { dg-final { scan-tree-dump-times "vect_recog_widen_mult_pattern: detected" 1 "vect" } } */ | ||
466 | +/* { dg-final { scan-tree-dump-times "vect_recog_widen_mult_pattern: detected" 1 "vect" { xfail vect_multiple_sizes } } } */ | ||
467 | +/* { dg-final { scan-tree-dump-times "vect_recog_widen_mult_pattern: detected" 2 "vect" { target vect_multiple_sizes } } } */ | ||
468 | |||
469 | /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail *-*-* } } } */ | ||
470 | |||
471 | |||
472 | === modified file 'gcc/testsuite/gfortran.dg/vect/pr19049.f90' | ||
473 | --- old/gcc/testsuite/gfortran.dg/vect/pr19049.f90 2005-07-25 11:05:07 +0000 | ||
474 | +++ new/gcc/testsuite/gfortran.dg/vect/pr19049.f90 2011-09-19 07:44:24 +0000 | ||
475 | @@ -19,6 +19,7 @@ | ||
476 | end | ||
477 | |||
478 | ! { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" } } | ||
479 | -! { dg-final { scan-tree-dump-times "complicated access pattern" 1 "vect" } } | ||
480 | +! { dg-final { scan-tree-dump-times "complicated access pattern" 1 "vect" { xfail vect_multiple_sizes } } } | ||
481 | +! { dg-final { scan-tree-dump-times "complicated access pattern" 2 "vect" { target vect_multiple_sizes } } } | ||
482 | ! { dg-final { cleanup-tree-dump "vect" } } | ||
483 | |||
484 | |||
485 | === modified file 'gcc/testsuite/lib/target-supports.exp' | ||
486 | --- old/gcc/testsuite/lib/target-supports.exp 2011-08-13 08:32:32 +0000 | ||
487 | +++ new/gcc/testsuite/lib/target-supports.exp 2011-09-20 07:54:28 +0000 | ||
488 | @@ -3265,6 +3265,24 @@ | ||
489 | }] | ||
490 | } | ||
491 | |||
492 | +# Return 1 if the target supports multiple vector sizes | ||
493 | + | ||
494 | +proc check_effective_target_vect_multiple_sizes { } { | ||
495 | + global et_vect_multiple_sizes | ||
496 | + | ||
497 | + if [info exists et_vect_multiple_sizes_saved] { | ||
498 | + verbose "check_effective_target_vect_multiple_sizes: using cached result" 2 | ||
499 | + } else { | ||
500 | + set et_vect_multiple_sizes_saved 0 | ||
501 | + if { ([istarget arm*-*-*] && [check_effective_target_arm_neon_ok]) } { | ||
502 | + set et_vect_multiple_sizes_saved 1 | ||
503 | + } | ||
504 | + } | ||
505 | + | ||
506 | + verbose "check_effective_target_vect_multiple_sizes: returning $et_vect_multiple_sizes_saved" 2 | ||
507 | + return $et_vect_multiple_sizes_saved | ||
508 | +} | ||
509 | + | ||
510 | # Return 1 if the target supports section-anchors | ||
511 | |||
512 | proc check_effective_target_section_anchors { } { | ||
513 | @@ -3648,11 +3666,11 @@ | ||
514 | return $flags | ||
515 | } | ||
516 | |||
517 | -# Add to FLAGS the flags needed to enable 128-bit vectors. | ||
518 | +# Add to FLAGS the flags needed to enable 64-bit vectors. | ||
519 | |||
520 | -proc add_options_for_quad_vectors { flags } { | ||
521 | +proc add_options_for_double_vectors { flags } { | ||
522 | if [is-effective-target arm_neon_ok] { | ||
523 | - return "$flags -mvectorize-with-neon-quad" | ||
524 | + return "$flags -mvectorize-with-neon-double" | ||
525 | } | ||
526 | |||
527 | return $flags | ||
528 | |||