1 /* { dg-do compile } */
2 /* { dg-options "-Ofast -mbig-endian -w" } */
3
4 int cc;
5
6 void
7 rc (__int128 *oi)
8 {
9 __int128 qz = (__int128)2 << cc;
10
11 if (qz != 0)
12 {
13 if (cc != 0)
14 {
15 __int128 zp = 1;
16
17 for (;;)
18 {
19 unsigned __int128 *ar = &cc;
20 int y5;
21
22 if (oi != 0)
23 {
24 y3:
25 zp = *oi + *ar;
26 }
27
28 y5 = (cc + 1) == ((*ar /= *oi) << ((zp >>= 128) / cc));
29 qz += !!y5 ? 1 : qz == (*ar ^ zp + 1);
30 ++*oi;
31 }
32 }
33 else
34 ++qz;
35 }
36
37 goto y3;
38 }