1 /* { dg-do compile } */
2 /* { dg-options "-O -fdump-tree-cddce1" } */
3 
4 int
fn1(signed int x,signed int y)5 fn1 (signed int x, signed int y)
6 {
7   signed int tem1 = x & y;
8   signed int tem2 = x | y;
9   return tem1 ^ tem2;
10 }
11 
12 unsigned int
fn2(unsigned int x,unsigned int y)13 fn2 (unsigned int x, unsigned int y)
14 {
15   unsigned int tem1 = x & y;
16   unsigned int tem2 = x | y;
17   return tem1 ^ tem2;
18 }
19 
20 int
fn3(signed int x,signed int y)21 fn3 (signed int x, signed int y)
22 {
23   signed int tem1 = x & y;
24   signed int tem2 = x | y;
25   return tem2 ^ tem1;
26 }
27 
28 unsigned int
fn4(unsigned int x,unsigned int y)29 fn4 (unsigned int x, unsigned int y)
30 {
31   unsigned int tem1 = x & y;
32   unsigned int tem2 = x | y;
33   return tem2 ^ tem1;
34 }
35 
36 /* { dg-final { scan-tree-dump-not " & " "cddce1" } } */
37 /* { dg-final { scan-tree-dump-not " \\| " "cddce1" } } */
38