| /* PR tree-optimization/96669 */ |
| /* { dg-do compile } */ |
| /* { dg-options "-O2 -fdump-tree-original" } */ |
| /* { dg-final { scan-tree-dump "a == 0" "original" } } */ |
| /* { dg-final { scan-tree-dump "return 1;" "original" } } */ |
| /* { dg-final { scan-tree-dump "return c == 3;" "original" } } */ |
| /* { dg-final { scan-tree-dump "return d != 1;" "original" } } */ |
| /* { dg-final { scan-tree-dump "return e != 0;" "original" } } */ |
| /* { dg-final { scan-tree-dump "return f == 1;" "original" } } */ |
| /* { dg-final { scan-tree-dump "return 0;" "original" } } */ |
| /* { dg-final { scan-tree-dump "return h != 1;" "original" } } */ |
| |
| int |
| f1 (int a) |
| { |
| return ((1 << a) & 1) != 0; |
| } |
| |
| int |
| f2 (int b) |
| { |
| return ((2 << b) & 1) == 0; |
| } |
| |
| int |
| f3 (int c) |
| { |
| return ((2 << c) & 16) != 0; |
| } |
| |
| int |
| f4 (int d) |
| { |
| return ((16 << d) & 32) == 0; |
| } |
| |
| int |
| f5 (int e) |
| { |
| return ((1 >> e) & 1) == 0; |
| } |
| |
| int |
| f6 (int f) |
| { |
| return ((2 >> f) & 1) != 0; |
| } |
| |
| int |
| f7 (int g) |
| { |
| return ((1 >> g) & 2) != 0; |
| } |
| |
| int |
| f8 (int h) |
| { |
| return ((32 >> h) & 16) == 0; |
| } |