OSDN Git Service

PR testsuite/21010
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / vect / vect-ifcvt-9.c
1 /* { dg-require-effective-target vect_condition } */
2
3 #include <stdarg.h>
4 #include <signal.h>
5
6 #define N 16
7 #define MAX 42
8
9 extern void abort(void); 
10
11 int A[N] = {36,39,42,45,43,32,21,12,23,34,45,56,67,78,89,11};
12 int B[N] = {0,0,42,42,42,0,0,0,0,0,42,42,42,42,42,0};
13 void foo ()  __attribute__((always_inline));
14 void foo ()
15 {  
16   int i, j;
17
18   for (i = 0; i < 16; i++)
19     A[i] = ( A[i] >= MAX ? MAX : 0); 
20 }
21
22 int main ()
23 {
24
25   int i, j;
26   foo ();
27   /* check results:  */
28   for (i = 0; i < N; i++)
29     if (A[i] != B[i])
30       abort ();
31
32   return 0;
33 }
34
35 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" } } */
36 /* { dg-final { cleanup-tree-dump "vect" } } */