| /* { dg-do compile } */ | |
| /* { dg-options "-fdump-tree-gimple" } */ | |
| int f (int a) { | |
| return (a << 3) << 6; | |
| } | |
| int g (int b) { | |
| return (b >> 5) << 5; | |
| } | |
| unsigned long long h (unsigned long long c) { | |
| return (c << 60) >> 60; | |
| } | |
| int l (int d) { | |
| return (d << 6) >> 6; | |
| } | |
| /* { dg-final { scan-tree-dump "a << 9" "gimple" } } */ | |
| /* { dg-final { scan-tree-dump "b & -32" "gimple" } } */ | |
| /* { dg-final { scan-tree-dump "c & 15" "gimple" } } */ | |
| /* { dg-final { scan-tree-dump "d << 6" "gimple" } } */ |