| /* PR target/94650 */ | |
| /* { dg-do compile { target { ! ia32 } } } */ | |
| /* { dg-options "-O2" } */ | |
| #define LARGE_POWER_OF_TWO (1ULL << 40) | |
| int | |
| check (unsigned long long m) | |
| { | |
| return m >= LARGE_POWER_OF_TWO; | |
| } | |
| void g (int); | |
| void | |
| test0 (unsigned long long m) | |
| { | |
| if (m >= LARGE_POWER_OF_TWO) | |
| g (0); | |
| } | |
| void | |
| test1 (unsigned long long m) | |
| { | |
| if (m >= LARGE_POWER_OF_TWO) | |
| g (m); | |
| } | |
| /* { dg-final { scan-assembler-not "movabs" } } */ | |
| /* { dg-final { scan-assembler-times "shr" 3 } } */ |