111
|
1 /* { dg-do compile } */
|
|
2 /* { dg-require-effective-target vect_int } */
|
|
3
|
|
4 #define OUTER 32
|
|
5 #define INNER 40
|
|
6
|
|
7 static unsigned int
|
|
8 bar (const unsigned int x[INNER][2], unsigned int sum)
|
|
9 {
|
|
10 int i;
|
|
11
|
|
12 for (i = 0; i < INNER; i++)
|
|
13 sum += x[i][0] * x[i][0] + x[i][1] * x[i][1];
|
|
14 return sum;
|
|
15 }
|
|
16
|
|
17 unsigned int foo (const unsigned int x[OUTER][INNER][2])
|
|
18 {
|
|
19 int i;
|
|
20 unsigned int sum;
|
|
21
|
|
22 sum = 0.0f;
|
|
23 for (i = 0; i < OUTER; i++)
|
|
24 sum = bar (x[i], sum);
|
|
25 return sum;
|
|
26 }
|
|
27
|
|
28 /* { dg-final { scan-tree-dump-times "Detected interleaving load of size 2" 1 "vect" } } */
|