/* PR target/69442 */ /* { dg-do run } */ /* { dg-options "-Og" } */ unsigned long long __attribute__ ((noinline, noclone)) foo (unsigned int x, unsigned long long y) { x |= 0xffff; y -= 0xffULL; y %= 0xffff0000ffffffe7ULL; return x + y; } int main () { if (sizeof (unsigned long long) * __CHAR_BIT__ != 64) return 0; if (foo (0, 0) != 0xffff0000ff19ULL) __builtin_abort (); return 0; }