1 /* { dg-do compile } */
2 /* { dg-require-effective-target vect_int } */
3 /* { dg-additional-options "--param vect-max-peeling-for-alignment=0" } */
10 /* Pick a value greater than the vector length. */
12 #define OFF (VECTOR_BITS * 5 / 32)
17 extern int a
[N
+ OFF
];
19 /* The alignment of 'pa' is unknown.
20 Yet we do know that both the read access and write access have
21 the same alignment. Peeling to align one of the accesses will
24 __attribute__ ((noinline
)) int
29 for (i
= 0; i
< N
; i
++)
37 /* The alignment of 'a' is unknown.
38 Yet we do know that both the read access and write access have
39 the same alignment. Peeling to align one of the accesses will
42 __attribute__ ((noinline
)) int
47 for (i
= 0; i
< N
; i
++)
55 __attribute__ ((noinline
)) int
60 for (i
= 0; i
< N
; i
++)
68 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 3 "vect" { xfail vect_no_int_add } } } */
69 /* { dg-final { scan-tree-dump-times "accesses have the same alignment." 3 "vect" { target { { vect_aligned_arrays } && {! vect_sizes_32B_16B} } } } } */
70 /* { dg-final { scan-tree-dump-times "accesses have the same alignment." 2 "vect" { target { {! vect_aligned_arrays } && {vect_sizes_32B_16B} } } } } */
71 /* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning" 3 "vect" {target { {! vector_alignment_reachable} && {! vect_hw_misalign} } } } } */