1 /* { dg-do compile { target int128 } } */
2 /* { dg-options "-g -O1 -fgcse -fno-dce -fno-tree-ccp -fno-tree-coalesce-vars -fno-tree-copy-prop -fno-tree-dce -fno-tree-dominator-opts -fno-tree-fre -fno-tree-loop-optimize -fno-tree-sink" } */
3 
4 int *vk;
5 int m2;
6 __int128 nb;
7 
8 void
em(int u5,int fo,int s7)9 em (int u5, int fo, int s7)
10 {
11   for (;;)
12     {
13       long int es;
14 
15       es = !!u5 ? (!!fo && !!m2) : fo;
16       if (es == 0)
17         if (nb == *vk)
18           {
19             const unsigned long long int uint64_max = 18446744073709551615ull;
20             __int128 ks = uint64_max / 2 + 1;
21 
22             while (s7 < 1)
23               while (nb < 2)
24                 {
25                   for (ks = 0; ks < 3; ++ks)
26                     {
27                     }
28 
29                   ++nb;
30                 }
31           }
32     }
33 }
34