1 /* { dg-require-effective-target vect_int } */
2 /* { dg-add-options bind_pic_locally } */
10 int ib
[M
][M
][N
] = {{{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},
25 {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45}}};
29 __attribute__ ((noinline
))
34 /* Multidimensional array. Aligned. The "inner" dimensions
35 are invariant in the inner loop. Load and store. */
36 for (i
= 0; i
< M
; i
++)
38 for (j
= 0; j
< N
; j
++)
40 ia
[i
][1][j
] = ib
[2][i
][j
];
45 for (i
= 0; i
< M
; i
++)
47 for (j
= 0; j
< N
; j
++)
49 if (ia
[i
][1][j
] != ib
[2][i
][j
])
54 /* Multidimensional array. Aligned. The "inner" dimensions
55 are invariant in the inner loop. Load. */
56 for (i
= 0; i
< M
; i
++)
58 for (j
= 0; j
< N
; j
++)
65 for (i
= 0; i
< M
; i
++)
67 for (j
= 0; j
< N
; j
++)
69 if (ic
[j
] != ib
[2][i
][j
])
84 /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */
85 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */