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" } } */