1 /* { dg-require-effective-target vect_float } */
9 __attribute__ ((noinline
))
14 for (i
= 0; i
< 3001; i
++)
20 for (i
= 0; i
< 3001; i
++)
26 for (i
= 1; i
<= 10; i
++)
32 for (i
= 1; i
<= 10; i
++)
44 float a
[N
] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__
)));
45 float b
[N
] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__
)));
50 for (i
=0; i
<N
; i
++) b
[i
] = i
;
52 for (i
= 1; i
<= 256; i
++) a
[i
] = b
[i
-1];
55 for (i
= 1; i
<= 256; i
++)
68 /* 2 loops vectorized in main1, 2 loops vectorized in main:
69 the first loop in main requires vectorization of conversions,
70 the second loop in main requires vectorization of misaligned load. */
72 /* main && main1 together: */
73 /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 2 "vect" { target powerpc*-*-* i?86-*-* x86_64-*-* } } } */
74 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 3 "vect" { target vect_hw_misalign } } } */
75 /* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 2 "vect" { target { vect_no_align && {! vector_alignment_reachable} } } } } */
76 /* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 3 "vect" { xfail { { vect_no_align || vect_hw_misalign } || {! vector_alignment_reachable} } } } } */
79 /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { target !powerpc*-*-* !i?86-*-* !x86_64-*-* } } } */
80 /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { target vect_no_align } } } */
83 /* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target vect_no_align } } } */
84 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail { vect_no_align || vect_hw_misalign } } } } */
86 /* { dg-final { cleanup-tree-dump "vect" } } */