111
|
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 }
|