OSDN Git Service

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