diff options
Diffstat (limited to 'toolchain-layer/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106879.patch')
-rw-r--r-- | toolchain-layer/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106879.patch | 643 |
1 files changed, 643 insertions, 0 deletions
diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106879.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106879.patch new file mode 100644 index 000000000..a97a27b60 --- /dev/null +++ b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106879.patch | |||
@@ -0,0 +1,643 @@ | |||
1 | 2012-03-08 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> | ||
2 | |||
3 | Backport from mainline. | ||
4 | 2012-02-28 Richard Earnshaw <rearnsha@arm.com> | ||
5 | |||
6 | * arm.c (aapcs_vfp_is_call_or_return_candidate): Only use the machine | ||
7 | mode if there is no type information available. | ||
8 | |||
9 | 2012-02-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> | ||
10 | |||
11 | * gcc.target/arm/aapcs/vfp1.c (dg_do run): Run on all eabi variants. | ||
12 | * gcc.target/arm/aapcs/vfp2.c: Likewise. | ||
13 | * gcc.target/arm/aapcs/vfp3.c: Likewise. | ||
14 | * gcc.target/arm/aapcs/vfp4.c: Likewise. | ||
15 | * gcc.target/arm/aapcs/vfp5.c: Likewise. | ||
16 | * gcc.target/arm/aapcs/vfp6.c: Likewise. | ||
17 | * gcc.target/arm/aapcs/vfp7.c: Likewise. | ||
18 | * gcc.target/arm/aapcs/vfp8.c: Likewise. | ||
19 | * gcc.target/arm/aapcs/vfp9.c: Likewise. | ||
20 | * gcc.target/arm/aapcs/vfp10.c: Likewise. | ||
21 | * gcc.target/arm/aapcs/vfp11.c: Likewise. | ||
22 | * gcc.target/arm/aapcs/vfp12.c: Likewise. | ||
23 | * gcc.target/arm/aapcs/vfp13.c: Likewise. | ||
24 | * gcc.target/arm/aapcs/vfp14.c: Likewise. | ||
25 | * gcc.target/arm/aapcs/vfp15.c: Likewise. | ||
26 | * gcc.target/arm/aapcs/vfp16.c: Likewise. | ||
27 | * gcc.target/arm/aapcs/vfp17.c: Likewise. | ||
28 | * gcc.target/arm/neon-constants.h: New file. | ||
29 | * gcc.target/arm/aapcs/neon-constants.h: New file. | ||
30 | * gcc.target/arm/aapcs/neon-vect1.c: New test. | ||
31 | * gcc.target/arm/aapcs/neon-vect2.c: New test. | ||
32 | * gcc.target/arm/aapcs/neon-vect3.c: New test. | ||
33 | * gcc.target/arm/aapcs/neon-vect4.c: New test. | ||
34 | * gcc.target/arm/aapcs/neon-vect5.c: New test. | ||
35 | * gcc.target/arm/aapcs/neon-vect6.c: New test. | ||
36 | * gcc.target/arm/aapcs/neon-vect7.c: New test. | ||
37 | * gcc.target/arm/aapcs/neon-vect8.c: New test. | ||
38 | |||
39 | === modified file 'gcc/config/arm/arm.c' | ||
40 | --- old/gcc/config/arm/arm.c 2012-03-06 13:24:25 +0000 | ||
41 | +++ new/gcc/config/arm/arm.c 2012-03-08 15:46:42 +0000 | ||
42 | @@ -4331,6 +4331,11 @@ | ||
43 | (TARGET_VFP_DOUBLE || !is_double)); | ||
44 | } | ||
45 | |||
46 | +/* Return true if an argument whose type is TYPE, or mode is MODE, is | ||
47 | + suitable for passing or returning in VFP registers for the PCS | ||
48 | + variant selected. If it is, then *BASE_MODE is updated to contain | ||
49 | + a machine mode describing each element of the argument's type and | ||
50 | + *COUNT to hold the number of such elements. */ | ||
51 | static bool | ||
52 | aapcs_vfp_is_call_or_return_candidate (enum arm_pcs pcs_variant, | ||
53 | enum machine_mode mode, const_tree type, | ||
54 | @@ -4338,9 +4343,20 @@ | ||
55 | { | ||
56 | enum machine_mode new_mode = VOIDmode; | ||
57 | |||
58 | - if (GET_MODE_CLASS (mode) == MODE_FLOAT | ||
59 | - || GET_MODE_CLASS (mode) == MODE_VECTOR_INT | ||
60 | - || GET_MODE_CLASS (mode) == MODE_VECTOR_FLOAT) | ||
61 | + /* If we have the type information, prefer that to working things | ||
62 | + out from the mode. */ | ||
63 | + if (type) | ||
64 | + { | ||
65 | + int ag_count = aapcs_vfp_sub_candidate (type, &new_mode); | ||
66 | + | ||
67 | + if (ag_count > 0 && ag_count <= 4) | ||
68 | + *count = ag_count; | ||
69 | + else | ||
70 | + return false; | ||
71 | + } | ||
72 | + else if (GET_MODE_CLASS (mode) == MODE_FLOAT | ||
73 | + || GET_MODE_CLASS (mode) == MODE_VECTOR_INT | ||
74 | + || GET_MODE_CLASS (mode) == MODE_VECTOR_FLOAT) | ||
75 | { | ||
76 | *count = 1; | ||
77 | new_mode = mode; | ||
78 | @@ -4350,15 +4366,6 @@ | ||
79 | *count = 2; | ||
80 | new_mode = (mode == DCmode ? DFmode : SFmode); | ||
81 | } | ||
82 | - else if (type && (mode == BLKmode || TREE_CODE (type) == VECTOR_TYPE)) | ||
83 | - { | ||
84 | - int ag_count = aapcs_vfp_sub_candidate (type, &new_mode); | ||
85 | - | ||
86 | - if (ag_count > 0 && ag_count <= 4) | ||
87 | - *count = ag_count; | ||
88 | - else | ||
89 | - return false; | ||
90 | - } | ||
91 | else | ||
92 | return false; | ||
93 | |||
94 | |||
95 | === modified file 'gcc/testsuite/gcc.target/arm/aapcs/abitest.h' | ||
96 | --- old/gcc/testsuite/gcc.target/arm/aapcs/abitest.h 2009-08-06 17:15:19 +0000 | ||
97 | +++ new/gcc/testsuite/gcc.target/arm/aapcs/abitest.h 2012-03-01 09:33:24 +0000 | ||
98 | @@ -1,3 +1,4 @@ | ||
99 | + | ||
100 | #define IN_FRAMEWORK | ||
101 | |||
102 | #ifdef VFP | ||
103 | @@ -10,6 +11,13 @@ | ||
104 | #define D6 48 | ||
105 | #define D7 56 | ||
106 | |||
107 | +#ifdef NEON | ||
108 | +#define Q0 D0 | ||
109 | +#define Q1 D2 | ||
110 | +#define Q2 D4 | ||
111 | +#define Q3 D6 | ||
112 | +#endif | ||
113 | + | ||
114 | #define S0 64 | ||
115 | #define S1 68 | ||
116 | #define S2 72 | ||
117 | @@ -27,24 +35,19 @@ | ||
118 | #define S14 120 | ||
119 | #define S15 124 | ||
120 | |||
121 | -#define R0 128 | ||
122 | -#define R1 132 | ||
123 | -#define R2 136 | ||
124 | -#define R3 140 | ||
125 | - | ||
126 | -#define STACK 144 | ||
127 | - | ||
128 | +#define CORE_REG_START 128 | ||
129 | #else | ||
130 | - | ||
131 | -#define R0 0 | ||
132 | -#define R1 4 | ||
133 | -#define R2 8 | ||
134 | -#define R3 12 | ||
135 | - | ||
136 | -#define STACK 16 | ||
137 | - | ||
138 | +#define CORE_REG_START 0 | ||
139 | #endif | ||
140 | |||
141 | +#define R0 CORE_REG_START | ||
142 | +#define R1 (R0 + 4) | ||
143 | +#define R2 (R1 + 4) | ||
144 | +#define R3 (R2 + 4) | ||
145 | +#define STACK (R3 + 4) | ||
146 | + | ||
147 | + | ||
148 | + | ||
149 | extern void abort (void); | ||
150 | |||
151 | __attribute__((naked)) void dumpregs () __asm("myfunc"); | ||
152 | |||
153 | === added file 'gcc/testsuite/gcc.target/arm/aapcs/neon-constants.h' | ||
154 | --- old/gcc/testsuite/gcc.target/arm/aapcs/neon-constants.h 1970-01-01 00:00:00 +0000 | ||
155 | +++ new/gcc/testsuite/gcc.target/arm/aapcs/neon-constants.h 2012-03-01 09:33:24 +0000 | ||
156 | @@ -0,0 +1,33 @@ | ||
157 | + | ||
158 | + | ||
159 | +#include "arm_neon.h" | ||
160 | + | ||
161 | +const int32x4_t i32x4_constvec1 = { 1101, 1102, 1103, 1104}; | ||
162 | +const int32x4_t i32x4_constvec2 = { 2101, 2102, 2103, 2104}; | ||
163 | + | ||
164 | +#define ELEM(INDEX) .val[INDEX] | ||
165 | + | ||
166 | +const int32x4x2_t i32x4x2_constvec1 = {ELEM(0) = {0xaddebccb,11,12,13}, | ||
167 | + ELEM(1) = {14, 15, 16, 17} }; | ||
168 | + | ||
169 | +const int32x4x2_t i32x4x2_constvec2 = { ELEM(0) = {0xaadebcca,11,12,13}, | ||
170 | + ELEM(1) = {140, 15, 16, 17}}; | ||
171 | + | ||
172 | +const int32x4x3_t i32x4x3_constvec1 = { ELEM(0) = {0xabbccdde,8, 9, 10}, | ||
173 | + ELEM(1) = {0xabcccdde, 26, 27, 28}, | ||
174 | + ELEM(2) = {0xaccccddf, 29, 30, 31}}; | ||
175 | + | ||
176 | +const int32x4x3_t i32x4x3_constvec2 = { ELEM(0) = {0xbccccdd0,8, 9, 10}, | ||
177 | + ELEM(1) = {0xbdfe1000, 26, 27, 28}, | ||
178 | + ELEM(2) = {0xaccccddf, 29, 30, 31}}; | ||
179 | +const float32x4x2_t f32x4x2_constvec1 = | ||
180 | + { ELEM(0) = { 7.101f, 0.201f, 0.301f, 0.401f} , | ||
181 | + ELEM(1) = { 8.101f, 0.501f, 0.601f, 0.701f} }; | ||
182 | + | ||
183 | +const float32x4x2_t f32x4x2_constvec2 = | ||
184 | + { ELEM(0) = { 11.99f , 11.21f, 1.27f, 8.74f}, | ||
185 | + ELEM(1) = { 13.45f , 1.23f ,1.24f, 1.26f}}; | ||
186 | + | ||
187 | +const int32x2_t i32x2_constvec1 = { 1283, 1345 }; | ||
188 | +const int32x2x2_t i32x2x2_constvec1 = { ELEM(0) = { 0xabcdefab, 32 }, | ||
189 | + ELEM(1) = { 0xabcdefbc, 33 }}; | ||
190 | |||
191 | === added file 'gcc/testsuite/gcc.target/arm/aapcs/neon-vect1.c' | ||
192 | --- old/gcc/testsuite/gcc.target/arm/aapcs/neon-vect1.c 1970-01-01 00:00:00 +0000 | ||
193 | +++ new/gcc/testsuite/gcc.target/arm/aapcs/neon-vect1.c 2012-03-01 09:33:24 +0000 | ||
194 | @@ -0,0 +1,27 @@ | ||
195 | +/* Test AAPCS layout (VFP variant for Neon types) */ | ||
196 | + | ||
197 | +/* { dg-do run { target arm*-*-*eabi* } } */ | ||
198 | +/* { dg-require-effective-target arm_hard_vfp_ok } */ | ||
199 | +/* { dg-require-effective-target arm_neon_ok } */ | ||
200 | +/* { dg-require-effective-target arm32 } */ | ||
201 | +/* { dg-add-options arm_neon } */ | ||
202 | + | ||
203 | + | ||
204 | +#ifndef IN_FRAMEWORK | ||
205 | +#define VFP | ||
206 | +#define NEON | ||
207 | +#define TESTFILE "neon-vect1.c" | ||
208 | +#include "neon-constants.h" | ||
209 | + | ||
210 | + | ||
211 | +#include "abitest.h" | ||
212 | +#else | ||
213 | + | ||
214 | +ARG(int32x4_t, i32x4_constvec2, Q0) /* D0, D1 */ | ||
215 | +ARG(float, 3.0f, S4) /* D2, Q1 */ | ||
216 | +ARG(int32x4x2_t, i32x4x2_constvec1, Q2) /* Q2, Q3 - D4-D6 , s5-s12 */ | ||
217 | +ARG(double, 12.0, D3) /* Backfill this particular argument. */ | ||
218 | +ARG(int32x4x2_t, i32x4x2_constvec2, STACK) | ||
219 | +ARG(float, 5.0f, STACK+sizeof(int32x4x2_t)) /* No backfill allowed. */ | ||
220 | +LAST_ARG(int, 3, R0) | ||
221 | +#endif | ||
222 | |||
223 | === added file 'gcc/testsuite/gcc.target/arm/aapcs/neon-vect2.c' | ||
224 | --- old/gcc/testsuite/gcc.target/arm/aapcs/neon-vect2.c 1970-01-01 00:00:00 +0000 | ||
225 | +++ new/gcc/testsuite/gcc.target/arm/aapcs/neon-vect2.c 2012-03-01 09:33:24 +0000 | ||
226 | @@ -0,0 +1,23 @@ | ||
227 | +/* Test AAPCS layout (VFP variant for Neon types) */ | ||
228 | + | ||
229 | +/* { dg-do run { target arm*-*-*eabi* } } */ | ||
230 | +/* { dg-require-effective-target arm_hard_vfp_ok } */ | ||
231 | +/* { dg-require-effective-target arm_neon_ok } */ | ||
232 | +/* { dg-require-effective-target arm32 } */ | ||
233 | +/* { dg-add-options arm_neon } */ | ||
234 | + | ||
235 | + | ||
236 | +#ifndef IN_FRAMEWORK | ||
237 | +#define VFP | ||
238 | +#define NEON | ||
239 | +#define TESTFILE "neon-vect2.c" | ||
240 | +#include "neon-constants.h" | ||
241 | + | ||
242 | + | ||
243 | +#include "abitest.h" | ||
244 | +#else | ||
245 | + | ||
246 | +ARG(int32x4_t, i32x4_constvec2, Q0) /* D0, D1. */ | ||
247 | +ARG(float, 3.0f, S4) /* D2, Q1 occupied. */ | ||
248 | +LAST_ARG(int, 3, R0) | ||
249 | +#endif | ||
250 | |||
251 | === added file 'gcc/testsuite/gcc.target/arm/aapcs/neon-vect3.c' | ||
252 | --- old/gcc/testsuite/gcc.target/arm/aapcs/neon-vect3.c 1970-01-01 00:00:00 +0000 | ||
253 | +++ new/gcc/testsuite/gcc.target/arm/aapcs/neon-vect3.c 2012-03-01 09:33:24 +0000 | ||
254 | @@ -0,0 +1,26 @@ | ||
255 | +/* Test AAPCS layout (VFP variant for Neon types) */ | ||
256 | + | ||
257 | +/* { dg-do run { target arm*-*-*eabi* } } */ | ||
258 | +/* { dg-require-effective-target arm_hard_vfp_ok } */ | ||
259 | +/* { dg-require-effective-target arm_neon_ok } */ | ||
260 | +/* { dg-require-effective-target arm32 } */ | ||
261 | +/* { dg-add-options arm_neon } */ | ||
262 | + | ||
263 | + | ||
264 | +#ifndef IN_FRAMEWORK | ||
265 | +#define VFP | ||
266 | +#define NEON | ||
267 | +#define TESTFILE "neon-vect3.c" | ||
268 | +#include "neon-constants.h" | ||
269 | + | ||
270 | + | ||
271 | +#include "abitest.h" | ||
272 | +#else | ||
273 | + | ||
274 | +ARG(int32x4_t, i32x4_constvec2, Q0) /* D0, D1 */ | ||
275 | +ARG(float, 3.0f, S4) /* D2, Q1 */ | ||
276 | +ARG(int32x4x2_t, i32x4x2_constvec1, Q2) /* Q2, Q3 - D4-D6 , s5-s12 */ | ||
277 | +ARG(int32x4x2_t, i32x4x2_constvec2, STACK) | ||
278 | +ARG(double, 11.0, STACK+sizeof(int32x4x2_t)) /* No backfill in D3. */ | ||
279 | +LAST_ARG(int, 3, R0) | ||
280 | +#endif | ||
281 | |||
282 | === added file 'gcc/testsuite/gcc.target/arm/aapcs/neon-vect4.c' | ||
283 | --- old/gcc/testsuite/gcc.target/arm/aapcs/neon-vect4.c 1970-01-01 00:00:00 +0000 | ||
284 | +++ new/gcc/testsuite/gcc.target/arm/aapcs/neon-vect4.c 2012-03-01 09:33:24 +0000 | ||
285 | @@ -0,0 +1,27 @@ | ||
286 | +/* Test AAPCS layout (VFP variant for Neon types) */ | ||
287 | + | ||
288 | +/* { dg-do run { target arm*-*-*eabi* } } */ | ||
289 | +/* { dg-require-effective-target arm_hard_vfp_ok } */ | ||
290 | +/* { dg-require-effective-target arm_neon_ok } */ | ||
291 | +/* { dg-require-effective-target arm32 } */ | ||
292 | +/* { dg-add-options arm_neon } */ | ||
293 | + | ||
294 | + | ||
295 | +#ifndef IN_FRAMEWORK | ||
296 | +#define VFP | ||
297 | +#define NEON | ||
298 | +#define TESTFILE "neon-vect4.c" | ||
299 | +#include "neon-constants.h" | ||
300 | + | ||
301 | + | ||
302 | +#include "abitest.h" | ||
303 | +#else | ||
304 | + | ||
305 | +ARG(int32x4_t, i32x4_constvec2, Q0) /* D0, D1 */ | ||
306 | +ARG(float, 3.0f, S4) /* D2, Q1 */ | ||
307 | +ARG(int32x4x2_t, i32x4x2_constvec1, Q2) /* Q2, Q3 - D4-D6 , s5-s12 */ | ||
308 | +ARG(double, 12.0, D3) /* Backfill this particular argument. */ | ||
309 | +ARG(float, 5.0f, S5) /* Backfill in S5. */ | ||
310 | +ARG(int32x4x2_t, i32x4x2_constvec2, STACK) | ||
311 | +LAST_ARG(int, 3, R0) | ||
312 | +#endif | ||
313 | |||
314 | === added file 'gcc/testsuite/gcc.target/arm/aapcs/neon-vect5.c' | ||
315 | --- old/gcc/testsuite/gcc.target/arm/aapcs/neon-vect5.c 1970-01-01 00:00:00 +0000 | ||
316 | +++ new/gcc/testsuite/gcc.target/arm/aapcs/neon-vect5.c 2012-03-01 09:33:24 +0000 | ||
317 | @@ -0,0 +1,28 @@ | ||
318 | +/* Test AAPCS layout (VFP variant for Neon types) */ | ||
319 | + | ||
320 | +/* { dg-do run { target arm*-*-*eabi* } } */ | ||
321 | +/* { dg-require-effective-target arm_hard_vfp_ok } */ | ||
322 | +/* { dg-require-effective-target arm_neon_ok } */ | ||
323 | +/* { dg-require-effective-target arm32 } */ | ||
324 | +/* { dg-add-options arm_neon } */ | ||
325 | + | ||
326 | + | ||
327 | +#ifndef IN_FRAMEWORK | ||
328 | +#define VFP | ||
329 | +#define NEON | ||
330 | +#define TESTFILE "neon-vect5.c" | ||
331 | +#include "neon-constants.h" | ||
332 | + | ||
333 | + | ||
334 | +#include "abitest.h" | ||
335 | +#else | ||
336 | + | ||
337 | +ARG(int32x4_t, i32x4_constvec2, Q0) /* D0, D1 */ | ||
338 | +ARG(float, 3.0f, S4) /* D2, Q1 */ | ||
339 | +ARG(float32x4x2_t, f32x4x2_constvec1, Q2) /* Q2, Q3 - D4-D6 , s5-s12 */ | ||
340 | +ARG(double, 12.0, D3) /* Backfill this particular argument. */ | ||
341 | +ARG(int32x4x2_t, i32x4x2_constvec2, STACK) | ||
342 | +ARG(float, 5.0f, STACK+sizeof(int32x4x2_t)) /* No backfill allowed. */ | ||
343 | +LAST_ARG(int, 3, R0) | ||
344 | + | ||
345 | +#endif | ||
346 | |||
347 | === added file 'gcc/testsuite/gcc.target/arm/aapcs/neon-vect6.c' | ||
348 | --- old/gcc/testsuite/gcc.target/arm/aapcs/neon-vect6.c 1970-01-01 00:00:00 +0000 | ||
349 | +++ new/gcc/testsuite/gcc.target/arm/aapcs/neon-vect6.c 2012-03-01 09:33:24 +0000 | ||
350 | @@ -0,0 +1,24 @@ | ||
351 | +/* Test AAPCS layout (VFP variant for Neon types) */ | ||
352 | + | ||
353 | +/* { dg-do run { target arm*-*-*eabi* } } */ | ||
354 | +/* { dg-require-effective-target arm_hard_vfp_ok } */ | ||
355 | +/* { dg-require-effective-target arm_neon_ok } */ | ||
356 | +/* { dg-require-effective-target arm32 } */ | ||
357 | +/* { dg-add-options arm_neon } */ | ||
358 | + | ||
359 | + | ||
360 | +#ifndef IN_FRAMEWORK | ||
361 | +#define VFP | ||
362 | +#define NEON | ||
363 | +#define TESTFILE "neon-vect6.c" | ||
364 | +#include "neon-constants.h" | ||
365 | + | ||
366 | + | ||
367 | +#include "abitest.h" | ||
368 | +#else | ||
369 | + | ||
370 | +ARG(int32x4_t, i32x4_constvec2, Q0) /* D0, D1 */ | ||
371 | +ARG(int32x4x3_t, i32x4x3_constvec1, Q1) /* Q1, Q2, Q3 */ | ||
372 | +ARG(int32x4x3_t, i32x4x3_constvec2, STACK) | ||
373 | +LAST_ARG(int, 3, R0) | ||
374 | +#endif | ||
375 | |||
376 | === added file 'gcc/testsuite/gcc.target/arm/aapcs/neon-vect7.c' | ||
377 | --- old/gcc/testsuite/gcc.target/arm/aapcs/neon-vect7.c 1970-01-01 00:00:00 +0000 | ||
378 | +++ new/gcc/testsuite/gcc.target/arm/aapcs/neon-vect7.c 2012-03-01 09:33:24 +0000 | ||
379 | @@ -0,0 +1,27 @@ | ||
380 | +/* Test AAPCS layout (VFP variant for Neon types) */ | ||
381 | + | ||
382 | +/* { dg-do run { target arm*-*-*eabi* } } */ | ||
383 | +/* { dg-require-effective-target arm_hard_vfp_ok } */ | ||
384 | +/* { dg-require-effective-target arm_neon_ok } */ | ||
385 | +/* { dg-require-effective-target arm32 } */ | ||
386 | +/* { dg-add-options arm_neon } */ | ||
387 | + | ||
388 | + | ||
389 | +#ifndef IN_FRAMEWORK | ||
390 | +#define VFP | ||
391 | +#define NEON | ||
392 | +#define TESTFILE "neon-vect7.c" | ||
393 | +#include "neon-constants.h" | ||
394 | + | ||
395 | + | ||
396 | +#include "abitest.h" | ||
397 | +#else | ||
398 | + | ||
399 | +ARG(float, 24.3f, S0) /* S0 , D0, Q0 */ | ||
400 | +ARG(int32x4x3_t, i32x4x3_constvec1, Q1) /* Q1, Q2, Q3 */ | ||
401 | +ARG(double, 25.6, D1) | ||
402 | +ARG(float, 12.67f, S1) | ||
403 | +ARG(int32x4x3_t, i32x4x3_constvec2, STACK) | ||
404 | +ARG(double, 2.47, STACK+sizeof(int32x4x3_t)) | ||
405 | +LAST_ARG(int, 3, R0) | ||
406 | +#endif | ||
407 | |||
408 | === added file 'gcc/testsuite/gcc.target/arm/aapcs/neon-vect8.c' | ||
409 | --- old/gcc/testsuite/gcc.target/arm/aapcs/neon-vect8.c 1970-01-01 00:00:00 +0000 | ||
410 | +++ new/gcc/testsuite/gcc.target/arm/aapcs/neon-vect8.c 2012-03-01 09:33:24 +0000 | ||
411 | @@ -0,0 +1,27 @@ | ||
412 | +/* Test AAPCS layout (VFP variant for Neon types) */ | ||
413 | + | ||
414 | +/* { dg-do run { target arm*-*-*eabi* } } */ | ||
415 | +/* { dg-require-effective-target arm_hard_vfp_ok } */ | ||
416 | +/* { dg-require-effective-target arm_neon_ok } */ | ||
417 | +/* { dg-require-effective-target arm32 } */ | ||
418 | +/* { dg-add-options arm_neon } */ | ||
419 | + | ||
420 | + | ||
421 | +#ifndef IN_FRAMEWORK | ||
422 | +#define VFP | ||
423 | +#define NEON | ||
424 | +#define TESTFILE "neon-vect8.c" | ||
425 | +#include "neon-constants.h" | ||
426 | + | ||
427 | + | ||
428 | +#include "abitest.h" | ||
429 | +#else | ||
430 | + | ||
431 | +ARG(float, 24.3f, S0) /* S0 , D0, Q0 */ | ||
432 | +ARG(int32x2_t, i32x2_constvec1, D1) /* D1 */ | ||
433 | +ARG(double, 25.6, D2) | ||
434 | +ARG(float, 12.67f, S1) | ||
435 | +ARG(int32x4x3_t, i32x4x3_constvec2, STACK) | ||
436 | +ARG(double, 2.47, STACK+sizeof(int32x4x3_t)) | ||
437 | +LAST_ARG(int, 3, R0) | ||
438 | +#endif | ||
439 | |||
440 | === modified file 'gcc/testsuite/gcc.target/arm/aapcs/vfp1.c' | ||
441 | --- old/gcc/testsuite/gcc.target/arm/aapcs/vfp1.c 2009-08-06 13:27:45 +0000 | ||
442 | +++ new/gcc/testsuite/gcc.target/arm/aapcs/vfp1.c 2012-03-01 09:33:24 +0000 | ||
443 | @@ -1,6 +1,6 @@ | ||
444 | /* Test AAPCS layout (VFP variant) */ | ||
445 | |||
446 | -/* { dg-do run { target arm*-*-eabi* } } */ | ||
447 | +/* { dg-do run { target arm*-*-*eabi* } } */ | ||
448 | /* { dg-require-effective-target arm_hard_vfp_ok } */ | ||
449 | /* { dg-require-effective-target arm32 } */ | ||
450 | /* { dg-options "-O -mfpu=vfp -mfloat-abi=hard" } */ | ||
451 | |||
452 | === modified file 'gcc/testsuite/gcc.target/arm/aapcs/vfp10.c' | ||
453 | --- old/gcc/testsuite/gcc.target/arm/aapcs/vfp10.c 2009-08-06 13:27:45 +0000 | ||
454 | +++ new/gcc/testsuite/gcc.target/arm/aapcs/vfp10.c 2012-03-01 09:33:24 +0000 | ||
455 | @@ -1,6 +1,6 @@ | ||
456 | /* Test AAPCS layout (VFP variant) */ | ||
457 | |||
458 | -/* { dg-do run { target arm*-*-eabi* } } */ | ||
459 | +/* { dg-do run { target arm*-*-*eabi* } } */ | ||
460 | /* { dg-require-effective-target arm_hard_vfp_ok } */ | ||
461 | /* { dg-require-effective-target arm32 } */ | ||
462 | /* { dg-options "-O -mfpu=vfp -mfloat-abi=hard" } */ | ||
463 | |||
464 | === modified file 'gcc/testsuite/gcc.target/arm/aapcs/vfp11.c' | ||
465 | --- old/gcc/testsuite/gcc.target/arm/aapcs/vfp11.c 2009-08-06 13:27:45 +0000 | ||
466 | +++ new/gcc/testsuite/gcc.target/arm/aapcs/vfp11.c 2012-03-01 09:33:24 +0000 | ||
467 | @@ -1,6 +1,6 @@ | ||
468 | /* Test AAPCS layout (VFP variant) */ | ||
469 | |||
470 | -/* { dg-do run { target arm*-*-eabi* } } */ | ||
471 | +/* { dg-do run { target arm*-*-*eabi* } } */ | ||
472 | /* { dg-require-effective-target arm_hard_vfp_ok } */ | ||
473 | /* { dg-require-effective-target arm32 } */ | ||
474 | /* { dg-options "-O -mfpu=vfp -mfloat-abi=hard" } */ | ||
475 | |||
476 | === modified file 'gcc/testsuite/gcc.target/arm/aapcs/vfp12.c' | ||
477 | --- old/gcc/testsuite/gcc.target/arm/aapcs/vfp12.c 2009-08-06 13:27:45 +0000 | ||
478 | +++ new/gcc/testsuite/gcc.target/arm/aapcs/vfp12.c 2012-03-01 09:33:24 +0000 | ||
479 | @@ -1,6 +1,6 @@ | ||
480 | /* Test AAPCS layout (VFP variant) */ | ||
481 | |||
482 | -/* { dg-do run { target arm*-*-eabi* } } */ | ||
483 | +/* { dg-do run { target arm*-*-*eabi* } } */ | ||
484 | /* { dg-require-effective-target arm_hard_vfp_ok } */ | ||
485 | /* { dg-require-effective-target arm32 } */ | ||
486 | /* { dg-options "-O -mfpu=vfp -mfloat-abi=hard" } */ | ||
487 | |||
488 | === modified file 'gcc/testsuite/gcc.target/arm/aapcs/vfp13.c' | ||
489 | --- old/gcc/testsuite/gcc.target/arm/aapcs/vfp13.c 2009-08-06 13:27:45 +0000 | ||
490 | +++ new/gcc/testsuite/gcc.target/arm/aapcs/vfp13.c 2012-03-01 09:33:24 +0000 | ||
491 | @@ -1,6 +1,6 @@ | ||
492 | /* Test AAPCS layout (VFP variant) */ | ||
493 | |||
494 | -/* { dg-do run { target arm*-*-eabi* } } */ | ||
495 | +/* { dg-do run { target arm*-*-*eabi* } } */ | ||
496 | /* { dg-require-effective-target arm_hard_vfp_ok } */ | ||
497 | /* { dg-require-effective-target arm32 } */ | ||
498 | /* { dg-options "-O -mfpu=vfp -mfloat-abi=hard" } */ | ||
499 | |||
500 | === modified file 'gcc/testsuite/gcc.target/arm/aapcs/vfp14.c' | ||
501 | --- old/gcc/testsuite/gcc.target/arm/aapcs/vfp14.c 2009-08-06 13:27:45 +0000 | ||
502 | +++ new/gcc/testsuite/gcc.target/arm/aapcs/vfp14.c 2012-03-01 09:33:24 +0000 | ||
503 | @@ -1,6 +1,6 @@ | ||
504 | /* Test AAPCS layout (VFP variant) */ | ||
505 | |||
506 | -/* { dg-do run { target arm*-*-eabi* } } */ | ||
507 | +/* { dg-do run { target arm*-*-*eabi* } } */ | ||
508 | /* { dg-require-effective-target arm_hard_vfp_ok } */ | ||
509 | /* { dg-require-effective-target arm32 } */ | ||
510 | /* { dg-options "-O -mfpu=vfp -mfloat-abi=hard" } */ | ||
511 | |||
512 | === modified file 'gcc/testsuite/gcc.target/arm/aapcs/vfp15.c' | ||
513 | --- old/gcc/testsuite/gcc.target/arm/aapcs/vfp15.c 2009-08-06 17:15:19 +0000 | ||
514 | +++ new/gcc/testsuite/gcc.target/arm/aapcs/vfp15.c 2012-03-01 09:33:24 +0000 | ||
515 | @@ -1,6 +1,6 @@ | ||
516 | /* Test AAPCS layout (VFP variant) */ | ||
517 | |||
518 | -/* { dg-do run { target arm*-*-eabi* } } */ | ||
519 | +/* { dg-do run { target arm*-*-*eabi* } } */ | ||
520 | /* { dg-require-effective-target arm_hard_vfp_ok } */ | ||
521 | /* { dg-require-effective-target arm32 } */ | ||
522 | /* { dg-options "-O -mfpu=vfp -mfloat-abi=hard" } */ | ||
523 | |||
524 | === modified file 'gcc/testsuite/gcc.target/arm/aapcs/vfp16.c' | ||
525 | --- old/gcc/testsuite/gcc.target/arm/aapcs/vfp16.c 2009-08-06 17:15:19 +0000 | ||
526 | +++ new/gcc/testsuite/gcc.target/arm/aapcs/vfp16.c 2012-03-01 09:33:24 +0000 | ||
527 | @@ -1,6 +1,6 @@ | ||
528 | /* Test AAPCS layout (VFP variant) */ | ||
529 | |||
530 | -/* { dg-do run { target arm*-*-eabi* } } */ | ||
531 | +/* { dg-do run { target arm*-*-*eabi* } } */ | ||
532 | /* { dg-require-effective-target arm_hard_vfp_ok } */ | ||
533 | /* { dg-require-effective-target arm32 } */ | ||
534 | /* { dg-options "-O -mfpu=vfp -mfloat-abi=hard" } */ | ||
535 | |||
536 | === modified file 'gcc/testsuite/gcc.target/arm/aapcs/vfp17.c' | ||
537 | --- old/gcc/testsuite/gcc.target/arm/aapcs/vfp17.c 2009-08-06 17:15:19 +0000 | ||
538 | +++ new/gcc/testsuite/gcc.target/arm/aapcs/vfp17.c 2012-03-01 09:33:24 +0000 | ||
539 | @@ -1,6 +1,6 @@ | ||
540 | /* Test AAPCS layout (VFP variant) */ | ||
541 | |||
542 | -/* { dg-do run { target arm*-*-eabi* } } */ | ||
543 | +/* { dg-do run { target arm*-*-*eabi* } } */ | ||
544 | /* { dg-require-effective-target arm_hard_vfp_ok } */ | ||
545 | /* { dg-require-effective-target arm32 } */ | ||
546 | /* { dg-options "-O -mfpu=vfp -mfloat-abi=hard" } */ | ||
547 | |||
548 | === modified file 'gcc/testsuite/gcc.target/arm/aapcs/vfp2.c' | ||
549 | --- old/gcc/testsuite/gcc.target/arm/aapcs/vfp2.c 2009-08-06 13:27:45 +0000 | ||
550 | +++ new/gcc/testsuite/gcc.target/arm/aapcs/vfp2.c 2012-03-01 09:33:24 +0000 | ||
551 | @@ -1,6 +1,6 @@ | ||
552 | /* Test AAPCS layout (VFP variant) */ | ||
553 | |||
554 | -/* { dg-do run { target arm*-*-eabi* } } */ | ||
555 | +/* { dg-do run { target arm*-*-*eabi* } } */ | ||
556 | /* { dg-require-effective-target arm_hard_vfp_ok } */ | ||
557 | /* { dg-require-effective-target arm32 } */ | ||
558 | /* { dg-options "-O -mfpu=vfp -mfloat-abi=hard" } */ | ||
559 | |||
560 | === modified file 'gcc/testsuite/gcc.target/arm/aapcs/vfp3.c' | ||
561 | --- old/gcc/testsuite/gcc.target/arm/aapcs/vfp3.c 2009-08-06 13:27:45 +0000 | ||
562 | +++ new/gcc/testsuite/gcc.target/arm/aapcs/vfp3.c 2012-03-01 09:33:24 +0000 | ||
563 | @@ -1,6 +1,6 @@ | ||
564 | /* Test AAPCS layout (VFP variant) */ | ||
565 | |||
566 | -/* { dg-do run { target arm*-*-eabi* } } */ | ||
567 | +/* { dg-do run { target arm*-*-*eabi* } } */ | ||
568 | /* { dg-require-effective-target arm_hard_vfp_ok } */ | ||
569 | /* { dg-require-effective-target arm32 } */ | ||
570 | /* { dg-options "-O -mfpu=vfp -mfloat-abi=hard" } */ | ||
571 | |||
572 | === modified file 'gcc/testsuite/gcc.target/arm/aapcs/vfp4.c' | ||
573 | --- old/gcc/testsuite/gcc.target/arm/aapcs/vfp4.c 2009-08-06 13:27:45 +0000 | ||
574 | +++ new/gcc/testsuite/gcc.target/arm/aapcs/vfp4.c 2012-03-01 09:33:24 +0000 | ||
575 | @@ -1,6 +1,6 @@ | ||
576 | /* Test AAPCS layout (VFP variant) */ | ||
577 | |||
578 | -/* { dg-do run { target arm*-*-eabi* } } */ | ||
579 | +/* { dg-do run { target arm*-*-*eabi* } } */ | ||
580 | /* { dg-require-effective-target arm_hard_vfp_ok } */ | ||
581 | /* { dg-require-effective-target arm32 } */ | ||
582 | /* { dg-options "-O -mfpu=vfp -mfloat-abi=hard" } */ | ||
583 | |||
584 | === modified file 'gcc/testsuite/gcc.target/arm/aapcs/vfp5.c' | ||
585 | --- old/gcc/testsuite/gcc.target/arm/aapcs/vfp5.c 2009-08-06 13:27:45 +0000 | ||
586 | +++ new/gcc/testsuite/gcc.target/arm/aapcs/vfp5.c 2012-03-01 09:33:24 +0000 | ||
587 | @@ -1,6 +1,6 @@ | ||
588 | /* Test AAPCS layout (VFP variant) */ | ||
589 | |||
590 | -/* { dg-do run { target arm*-*-eabi* } } */ | ||
591 | +/* { dg-do run { target arm*-*-*eabi* } } */ | ||
592 | /* { dg-require-effective-target arm_hard_vfp_ok } */ | ||
593 | /* { dg-require-effective-target arm32 } */ | ||
594 | /* { dg-options "-O -mfpu=vfp -mfloat-abi=hard" } */ | ||
595 | |||
596 | === modified file 'gcc/testsuite/gcc.target/arm/aapcs/vfp6.c' | ||
597 | --- old/gcc/testsuite/gcc.target/arm/aapcs/vfp6.c 2009-08-06 13:27:45 +0000 | ||
598 | +++ new/gcc/testsuite/gcc.target/arm/aapcs/vfp6.c 2012-03-01 09:33:24 +0000 | ||
599 | @@ -1,6 +1,6 @@ | ||
600 | /* Test AAPCS layout (VFP variant) */ | ||
601 | |||
602 | -/* { dg-do run { target arm*-*-eabi* } } */ | ||
603 | +/* { dg-do run { target arm*-*-*eabi* } } */ | ||
604 | /* { dg-require-effective-target arm_hard_vfp_ok } */ | ||
605 | /* { dg-require-effective-target arm32 } */ | ||
606 | /* { dg-options "-O -mfpu=vfp -mfloat-abi=hard" } */ | ||
607 | |||
608 | === modified file 'gcc/testsuite/gcc.target/arm/aapcs/vfp7.c' | ||
609 | --- old/gcc/testsuite/gcc.target/arm/aapcs/vfp7.c 2009-08-06 13:27:45 +0000 | ||
610 | +++ new/gcc/testsuite/gcc.target/arm/aapcs/vfp7.c 2012-03-01 09:33:24 +0000 | ||
611 | @@ -1,6 +1,6 @@ | ||
612 | /* Test AAPCS layout (VFP variant) */ | ||
613 | |||
614 | -/* { dg-do run { target arm*-*-eabi* } } */ | ||
615 | +/* { dg-do run { target arm*-*-*eabi* } } */ | ||
616 | /* { dg-require-effective-target arm_hard_vfp_ok } */ | ||
617 | /* { dg-require-effective-target arm32 } */ | ||
618 | /* { dg-options "-O -mfpu=vfp -mfloat-abi=hard" } */ | ||
619 | |||
620 | === modified file 'gcc/testsuite/gcc.target/arm/aapcs/vfp8.c' | ||
621 | --- old/gcc/testsuite/gcc.target/arm/aapcs/vfp8.c 2009-08-06 13:27:45 +0000 | ||
622 | +++ new/gcc/testsuite/gcc.target/arm/aapcs/vfp8.c 2012-03-01 09:33:24 +0000 | ||
623 | @@ -1,6 +1,6 @@ | ||
624 | /* Test AAPCS layout (VFP variant) */ | ||
625 | |||
626 | -/* { dg-do run { target arm*-*-eabi* } } */ | ||
627 | +/* { dg-do run { target arm*-*-*eabi* } } */ | ||
628 | /* { dg-require-effective-target arm_hard_vfp_ok } */ | ||
629 | /* { dg-require-effective-target arm32 } */ | ||
630 | /* { dg-options "-O -mfpu=vfp -mfloat-abi=hard" } */ | ||
631 | |||
632 | === modified file 'gcc/testsuite/gcc.target/arm/aapcs/vfp9.c' | ||
633 | --- old/gcc/testsuite/gcc.target/arm/aapcs/vfp9.c 2009-08-06 13:27:45 +0000 | ||
634 | +++ new/gcc/testsuite/gcc.target/arm/aapcs/vfp9.c 2012-03-01 09:33:24 +0000 | ||
635 | @@ -1,6 +1,6 @@ | ||
636 | /* Test AAPCS layout (VFP variant) */ | ||
637 | |||
638 | -/* { dg-do run { target arm*-*-eabi* } } */ | ||
639 | +/* { dg-do run { target arm*-*-*eabi* } } */ | ||
640 | /* { dg-require-effective-target arm_hard_vfp_ok } */ | ||
641 | /* { dg-require-effective-target arm32 } */ | ||
642 | /* { dg-options "-O -mfpu=vfp -mfloat-abi=hard" } */ | ||
643 | |||