1 /* { dg-do compile } */
2 /* { dg-options "-O -fdump-tree-cddce1" } */
3 
4 int
fn1(int x,int y)5 fn1 (int x, int y)
6 {
7   int tem1 = x | y;
8   int tem2 = ~(x & y);
9   return tem1 & tem2;
10 }
11 
12 int
fn2(int x,int y)13 fn2 (int x, int y)
14 {
15   int tem1 = y | x;
16   int tem2 = ~(x & y);
17   return tem1 & tem2;
18 }
19 
20 int
fn3(int x,int y)21 fn3 (int x, int y)
22 {
23   int tem1 = x | y;
24   int tem2 = ~(y & x);
25   return tem1 & tem2;
26 }
27 
28 int
fn4(int x,int y)29 fn4 (int x, int y)
30 {
31   int tem1 = y | x;
32   int tem2 = ~(y & x);
33   return tem1 & tem2;
34 }
35 
36 int
fn5(int x,int y)37 fn5 (int x, int y)
38 {
39   int tem1 = ~(x & y);
40   int tem2 = x | y;
41   return tem1 & tem2;
42 }
43 
44 int
fn6(int x,int y)45 fn6 (int x, int y)
46 {
47   int tem1 = ~(x & y);
48   int tem2 = y | x;
49   return tem1 & tem2;
50 }
51 
52 int
fn7(int x,int y)53 fn7 (int x, int y)
54 {
55   int tem1 = ~(y & x);
56   int tem2 = x | y;
57   return tem1 & tem2;
58 }
59 
60 int
fn8(int x,int y)61 fn8 (int x, int y)
62 {
63   int tem1 = ~(y & x);
64   int tem2 = y | x;
65   return tem1 & tem2;
66 }
67 
68 /* { dg-final { scan-tree-dump-not " \\| " "cddce1" } } */
69 /* { dg-final { scan-tree-dump-not " \\& " "cddce1" } } */
70 /* { dg-final { scan-tree-dump-not "~" "cddce1" } } */
71