/* PR rtl-optimization/82192 */ | |
unsigned long long int a = 0x95dd3d896f7422e2ULL; | |
struct S { unsigned int m : 13; } b; | |
__attribute__((noinline, noclone)) void | |
foo (void) | |
{ | |
b.m = ((unsigned) a) >> (0x644eee9667723bf7LL | |
| a & ~0xdee27af8U) - 0x644eee9667763bd8LL; | |
} | |
int | |
main () | |
{ | |
if (__INT_MAX__ != 0x7fffffffULL) | |
return 0; | |
foo (); | |
if (b.m != 0) | |
__builtin_abort (); | |
return 0; | |
} |