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