1 /* { dg-do compile { target int128 } } */
2 /* { dg-options "-O -fdump-tree-cddce1" } */
3 
4 typedef unsigned __int128 u128;
5 
6 u128 a, b;
7 
8 static inline u128
foo(u128 p1)9 foo (u128 p1)
10 {
11   p1 += ~b;
12   return -p1;
13 }
14 
15 int
main()16 main ()
17 {
18   u128 x = foo (~0x7fffffffffffffff);
19   if (x != 0x8000000000000001)
20     __builtin_abort();
21   return 0;
22 }
23 
24 /* { dg-final { scan-tree-dump "if \\(b.0_\[0-9\]+ != 0\\)" "cddce1" } } */
25