1 /* { dg-add-options vect_early_break } */
2 /* { dg-require-effective-target vect_int } */
3 /* { dg-require-effective-target vect_perm } */
4 /* { dg-require-effective-target vect_early_break_hw } */
8 void __attribute__((noipa
))
9 foo (int * __restrict__ a
, short * __restrict__ b
, int * __restrict__ c
)
13 for (int i
= 0; i
< 64; i
+=2)
29 for (int i
= 0; i
< 64; ++i
)
32 __asm__
volatile ("" ::: "memory");
36 for (int i
= 2; i
< 64; i
+=2)
37 if (b
[i
] != a
[i
] - a
[i
-2]
38 || b
[i
+1] != a
[i
+1] - a
[i
-1])
40 if (b
[0] != -7 || b
[1] != -6)
45 /* { dg-final { scan-tree-dump-times "vectorized 1 loops in function" 2 "vect" } } */