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