1  /* PR tree-optimization/69546 */
       2  /* { dg-do run { target int128 } } */
       3  
       4  unsigned __int128 __attribute__ ((noinline, noclone))
       5  foo (unsigned long long x)
       6  {
       7    unsigned __int128 y = ~0ULL;
       8    x >>= 63;
       9    return y / (x | 1);
      10  }
      11  
      12  unsigned __int128 __attribute__ ((noinline, noclone))
      13  bar (unsigned long long x)
      14  {
      15    unsigned __int128 y = ~33ULL;
      16    x >>= 63;
      17    return y / (x | 1);
      18  }
      19  
      20  int
      21  main ()
      22  {
      23    if (foo (1) != ~0ULL || bar (17) != ~33ULL)
      24      __builtin_abort ();
      25    return 0;
      26  }