| /* PR rtl-optimization/78546 */ | |
| /* { dg-do run { target int128 } } */ | |
| typedef unsigned __int128 u128; | |
| u128 b; | |
| static inline u128 | |
| foo (u128 p1) | |
| { | |
| p1 += ~b; | |
| return -p1; | |
| } | |
| int | |
| main () | |
| { | |
| asm volatile ("" : : : "memory"); | |
| u128 x = foo (~0x7fffffffffffffffLL); | |
| if (x != 0x8000000000000001ULL) | |
| __builtin_abort (); | |
| return 0; | |
| } |