| /* 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; | |
| } |