| /* PR tree-optimization/94718 */ |
| /* { dg-do compile } */ |
| /* { dg-options "-O2 -fno-ipa-icf -fdump-tree-optimized" } */ |
| /* { dg-final { scan-tree-dump-times " \\\(int\\\) " 2 "optimized" } } */ |
| /* { dg-final { scan-tree-dump-times " \\\(unsigned int\\\) " 2 "optimized" } } */ |
| |
| int |
| f1 (int x, int y) |
| { |
| return (int) ((unsigned) x | (unsigned) y); |
| } |
| |
| int |
| f2 (int x, int y) |
| { |
| unsigned a = x; |
| unsigned b = y; |
| return a | b; |
| } |
| |
| int |
| f3 (int x, unsigned y) |
| { |
| return (int) ((unsigned) x | y); |
| } |
| |
| int |
| f4 (int x, unsigned y) |
| { |
| unsigned a = x; |
| return a | y; |
| } |
| |
| unsigned |
| f5 (int x, unsigned y) |
| { |
| return (unsigned) (x | (int) y); |
| } |
| |
| unsigned |
| f6 (int x, unsigned y) |
| { |
| int a = y; |
| return x | a; |
| } |