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