/* PR rtl-optimization/97386 */ __attribute__((noipa)) unsigned foo (int x) { unsigned long long a = (0x800000000000ccccULL << x) | (0x800000000000ccccULL >> (64 - x)); unsigned int b = a; return (b << 24) | (b >> 8); } int main () { if (__CHAR_BIT__ == 8 && __SIZEOF_INT__ == 4 && __SIZEOF_LONG_LONG__ == 8 && foo (1) != 0x99000199U) __builtin_abort (); return 0; }