1 /* { dg-require-effective-target vect_int } */
10 __attribute__ ((noinline
))
16 /* All the accesses are misaligned. With cost model disabled, we
17 count the number of aligned accesses for each peeling option, and
18 in this case we align the two loads if possible (i.e., if
19 misaligned stores are supported). */
20 for (i
= 1; i
<= N
; i
++)
22 ia
[i
] = ib
[i
+2] + ib
[i
+6];
26 for (i
= 1; i
<= N
; i
++)
28 if (ia
[i
] != ib
[i
+2] + ib
[i
+6])
41 for (i
= 0; i
<= N
+6; i
++)
43 asm volatile ("" : "+r" (i
));
50 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
51 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { target { { vect_element_align } && { vect_aligned_arrays } } xfail { ! vect_unaligned_possible } } } } */
52 /* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" { xfail vect_element_align_preferred } } } */