1 /* { dg-require-effective-target vect_int } */
4 #include "../../tree-vect.h"
9 /* Check handling of accesses for which the "initial condition" -
10 the expression that represents the first location accessed - is
11 more involved than just an ssa_name. */
13 int ib[N+OFF] __attribute__ ((__aligned__(16))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10};
19 int ic[N+OFF] = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10};
21 for (i = OFF; i < N; i++)
28 for (i = OFF; i < N; i++)
30 if (pib[i - OFF] != ic[i])
45 /* Peeling to align the store is used. Overhead of peeling is too high. */
46 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { target vector_alignment_reachable } } } */
47 /* { dg-final { scan-tree-dump-times "vectorization not profitable" 1 "vect" { target { vector_alignment_reachable && {! vect_no_align} } } } } */
49 /* Versioning to align the store is used. Overhead of versioning is not too high. */
50 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_no_align || {! vector_alignment_reachable} } } } } */
51 /* { dg-final { cleanup-tree-dump "vect" } } */