Add compile command to each testcase
[gcc-vect-testsuite.git] / vect-20.c
blobdeed2da44721b14b5c4d955ed5476d212587afd2
1 /* { dg-require-effective-target vect_int } */
3 #include <stdarg.h>
4 #include "tree-vect.h"
6 #define N 64
8 int ia[N];
9 int ib[N]=
10 {1,1,0,0,1,0,1,0,
11 1,1,0,0,1,0,1,0,
12 1,1,0,0,1,0,1,0,
13 1,1,0,0,1,0,1,0,
14 1,1,0,0,1,0,1,0,
15 1,1,0,0,1,0,1,0,
16 1,1,0,0,1,0,1,0,
17 1,1,0,0,1,0,1,0};
19 signed char ca[N];
20 signed char cb[N] =
21 {1,1,0,0,1,0,1,0,
22 1,1,0,0,1,0,1,0,
23 1,1,0,0,1,0,1,0,
24 1,1,0,0,1,0,1,0,
25 1,1,0,0,1,0,1,0,
26 1,1,0,0,1,0,1,0,
27 1,1,0,0,1,0,1,0,
28 1,1,0,0,1,0,1,0};
30 short sa[N];
31 short sb[N] =
32 {1,1,0,0,1,0,1,0,
33 1,1,0,0,1,0,1,0,
34 1,1,0,0,1,0,1,0,
35 1,1,0,0,1,0,1,0,
36 1,1,0,0,1,0,1,0,
37 1,1,0,0,1,0,1,0,
38 1,1,0,0,1,0,1,0,
39 1,1,0,0,1,0,1,0};
41 __attribute__ ((noinline)) int
42 main1 ()
44 int i;
46 /* Check ints. */
48 for (i = 0; i < N; i++)
50 ia[i] = ~ib[i];
53 /* check results: */
54 for (i = 0; i <N; i++)
56 if (ia[i] != ~ib[i])
57 abort ();
60 /* Check chars. */
62 for (i = 0; i < N; i++)
64 ca[i] = ~cb[i];
67 /* check results: */
68 for (i = 0; i <N; i++)
70 if (ca[i] != ~cb[i])
71 abort ();
74 /* Check shorts. */
76 for (i = 0; i < N; i++)
78 sa[i] = ~sb[i];
81 /* check results: */
82 for (i = 0; i <N; i++)
84 if (sa[i] != ~sb[i])
85 abort ();
88 return 0;
91 int main (void)
93 check_vect ();
95 return main1 ();
98 /* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { xfail vect_no_bitwise } } } */
99 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */
100 /* { dg-final { cleanup-tree-dump "vect" } } */