typedef unsigned long long ull; int global; int __attribute__((noinline)) foo (int x1, int x2, int x3, int x4, int x5, int x6, int x7, int x8) { global = x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8; } ull __attribute__((noinline)) bar (ull x) { foo (1, 2, 1, 3, 1, 4, 1, 5); return x >> global; } int main (void) { if (bar (0x123456789abcdefULL) != (0x123456789abcdefULL >> 18)) abort (); exit (0); }