1 /* { dg-require-effective-target vect_int } */
9 int ib[M][M][N] = {{{0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45},
10 {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45},
11 {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45},
12 {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45}},
13 {{0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45},
14 {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45},
15 {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45},
16 {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45}},
17 {{0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45},
18 {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45},
19 {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45},
20 {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45}},
21 {{0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45},
22 {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45},
23 {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45},
24 {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45}}};
28 __attribute__ ((noinline))
33 /* Multidimensional array. Aligned. The "inner" dimensions
34 are invariant in the inner loop. Load and store. */
35 for (i = 0; i < M; i++)
37 for (j = 0; j < N; j++)
39 ia[i][1][j] = ib[2][i][j];
44 for (i = 0; i < M; i++)
46 for (j = 0; j < N; j++)
48 if (ia[i][1][j] != ib[2][i][j])
53 /* Multidimensional array. Aligned. The "inner" dimensions
54 are invariant in the inner loop. Load. */
55 for (i = 0; i < M; i++)
57 for (j = 0; j < N; j++)
64 for (i = 0; i < M; i++)
66 for (j = 0; j < N; j++)
68 if (ic[j] != ib[2][i][j])
83 /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */
84 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */
85 /* { dg-final { cleanup-tree-dump "vect" } } */