1 /* PR rtl-optimization/78546 */ 2 /* { dg-do run { target int128 } } */ 3 4 typedef unsigned __int128 u128; 5 u128 b; 6 7 static inline u128 foo(u128 p1)8foo (u128 p1) 9 { 10 p1 += ~b; 11 return -p1; 12 } 13 14 int main()15main () 16 { 17 asm volatile ("" : : : "memory"); 18 u128 x = foo (~0x7fffffffffffffffLL); 19 if (x != 0x8000000000000001ULL) 20 __builtin_abort (); 21 return 0; 22 } 23