OSDN Git Service

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