1 /* Test for pr30485.  */
2 /* { dg-require-effective-target vect_float } */
3 
4 #include <stdarg.h>
5 #include "tree-vect.h"
6 
7 #define N 16
8 
9 float b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
10 
11 __attribute__ ((noinline)) int
main1(void)12 main1 (void)
13 {
14   int i;
15   float a[N];
16 
17   /* Condition in loop.  */
18   /* This loop is vectorized on platforms that support vect_condition.  */
19   for (i = 0; i < N; i++)
20   {
21     a[i] = (b[i] > 0 ? b[i] : 0);
22   }
23 
24   for (i = 0; i < N; i++)
25   {
26     if (a[i] != b[i])
27 	abort ();
28   }
29   return 0;
30 }
31 
main(void)32 int main (void)
33 {
34   check_vect ();
35   return main1 ();
36 }
37 
38 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_condition } } } */
39