| /* { dg-do compile } */ |
| /* { dg-options "-O -fdump-tree-cddce1" } */ |
| |
| int |
| fn1 (signed int x, signed int y) |
| { |
| signed int tem1 = x & y; |
| signed int tem2 = x | y; |
| return tem1 ^ tem2; |
| } |
| |
| unsigned int |
| fn2 (unsigned int x, unsigned int y) |
| { |
| unsigned int tem1 = x & y; |
| unsigned int tem2 = x | y; |
| return tem1 ^ tem2; |
| } |
| |
| int |
| fn3 (signed int x, signed int y) |
| { |
| signed int tem1 = x & y; |
| signed int tem2 = x | y; |
| return tem2 ^ tem1; |
| } |
| |
| unsigned int |
| fn4 (unsigned int x, unsigned int y) |
| { |
| unsigned int tem1 = x & y; |
| unsigned int tem2 = x | y; |
| return tem2 ^ tem1; |
| } |
| |
| /* { dg-final { scan-tree-dump-not " & " "cddce1" } } */ |
| /* { dg-final { scan-tree-dump-not " \\| " "cddce1" } } */ |