1 /* Disabling epilogues until we find a better way to deal with scans. */
2 /* { dg-additional-options "--param vect-epilogues-nomask=0" } */
3 /* { dg-require-effective-target vect_int } */
11 int ic
[16][16][5][N
+2];
13 __attribute__ ((noinline
))
18 /* Multidimensional array. Aligned. */
19 for (i
= 0; i
< 16; i
++)
21 for (j
= 0; j
< N
; j
++)
28 for (i
= 0; i
< 16; i
++)
31 for (j
= 0; j
< N
; j
++)
37 /* Multidimensional array. Aligned. */
38 for (i
= 0; i
< 16; i
++)
40 for (j
= 0; j
< N
; j
++)
45 for (i
= 0; i
< 16; i
++)
48 for (j
= 2; j
< N
+2; j
++)
55 /* Multidimensional array. Not aligned. */
56 for (i
= 0; i
< 16; i
++)
58 for (j
= 0; j
< N
; j
++)
65 for (i
= 0; i
< 16; i
++)
68 for (j
= 0; j
< N
; j
++)
70 if (ic
[2][1][6][j
+1] != 5)
85 /* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" } } */
86 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */
87 /* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 2 "vect" { target { {! vect_aligned_arrays} && {vect_sizes_32B_16B} } } } } */
88 /* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" { target { {vect_aligned_arrays} && {! vect_sizes_32B_16B} } } } } */