/* PR rtl-optimization/57829 */ | |
__attribute__((noinline, noclone)) | |
int | |
f1 (int k) | |
{ | |
return 2 | ((k - 1) >> ((int) sizeof (int) * __CHAR_BIT__ - 1)); | |
} | |
__attribute__((noinline, noclone)) | |
long int | |
f2 (long int k) | |
{ | |
return 2L | ((k - 1L) >> ((int) sizeof (long int) * __CHAR_BIT__ - 1)); | |
} | |
__attribute__((noinline, noclone)) | |
int | |
f3 (int k) | |
{ | |
k &= 63; | |
return 4 | ((k + 2) >> 5); | |
} | |
int | |
main () | |
{ | |
if (f1 (1) != 2 || f2 (1L) != 2L || f3 (63) != 6 || f3 (1) != 4) | |
__builtin_abort (); | |
return 0; | |
} |