1 /* { dg-require-effective-target vect_int } */
2 /* { dg-additional-options "-fdump-tree-optimized-details-blocks" } */
9 __attribute__ ((noinline
))
13 int ib
[N
] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
16 /* Multidimensional array. Aligned. The "inner" dimensions
17 are invariant in the inner loop. Store. */
18 for (i
= 0; i
< N
; i
++)
20 for (j
= 0; j
< N
; j
++)
22 ia
[i
][1][j
+8] = ib
[i
];
27 for (i
= 0; i
< N
; i
++)
30 for (j
= 0; j
< N
; j
++)
32 if (ia
[i
][1][j
+8] != ib
[i
])
37 /* Multidimensional array. Aligned. The "inner" dimensions
38 are invariant in the inner loop. The outer loop is
39 vectorizable after invariant/store motion. */
40 for (i
= 0; i
< N
; i
++)
42 for (j
= 0; j
< N
; j
++)
49 for (i
= 0; i
< N
; i
++)
52 for (j
= 0; j
< N
; j
++)
54 if (ia
[i
][1][8] != ib
[i
])
70 /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */
71 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" { xfail { ! vect_align_stack_vars } } } } */
72 /* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */