1 /* PR tree-optimization/54713 */
2 
3 #ifndef N
4 #define N 8
5 #define ONE 1, 1, 1, 1, 1, 1, 1, 1
6 #define ONEU 1U, 1U, 1U, 1U, 1U, 1U, 1U, 1U
7 #endif
8 
9 typedef int V __attribute__((vector_size (N * sizeof (int))));
10 typedef unsigned int W __attribute__((vector_size (N * sizeof (int))));
11 
12 void
f1(V * p)13 f1 (V *p)
14 {
15   *p = (*p & ((V) { ONE })) ^ ((V) { ONE});
16 }
17 
18 void
f2(V * p)19 f2 (V *p)
20 {
21   *p = (*p ^ ((V) { ONE })) & ((V) { ONE});
22 }
23 
24 void
f3(V * p)25 f3 (V *p)
26 {
27   *p = (~*p) & ((V) { ONE });
28 }
29 
30 void
f4(V * p,V * q)31 f4 (V *p, V *q)
32 {
33   *p = (*p ^ *q) == *q;
34 }
35 
36 void
f5(V * p,V * q)37 f5 (V *p, V *q)
38 {
39   *p = (*p ^ *q) == *p;
40 }
41 
42 void
f6(V * p,V * q,V * r)43 f6 (V *p, V *q, V *r)
44 {
45   *p = (*p & *r) == (*q & *r);
46 }
47 
48 void
f7(V * p,V * q,V * r)49 f7 (V *p, V *q, V *r)
50 {
51   *p = (*p & *r) == (*r & *q);
52 }
53 
54 void
f8(V * p,V * q,V * r)55 f8 (V *p, V *q, V *r)
56 {
57   *p = (*r & *p) == (*q & *r);
58 }
59 
60 void
f9(V * p,V * q,V * r)61 f9 (V *p, V *q, V *r)
62 {
63   *p = (*r & *p) == (*r & *q);
64 }
65 
66 void
f10(W * p,W * q)67 f10 (W *p, W *q)
68 {
69   *p = *p < (((const W) { ONEU }) << *q);
70 }
71