(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
pr87759.c
       1  /* PR rtl-optimization/87759 */
       2  /* { dg-do compile { target int128 } } */
       3  /* { dg-options "-O2 -w -fschedule-insns -fselective-scheduling -ftrapv -fno-dce -fno-expensive-optimizations -fno-ipa-ra -fno-tree-dce -fno-tree-ter" } */
       4  
       5  int cc;
       6  
       7  void
       8  rc (__int128 *oi)
       9  {
      10    __int128 qz = (__int128)2 << cc;
      11  
      12    if (qz != 0)
      13      {
      14        if (cc != 0)
      15          {
      16            __int128 zp = 1;
      17  
      18            for (;;)
      19              {
      20                unsigned __int128 *ar = &cc;
      21                int y5;
      22  
      23                if (oi != 0)
      24                  {
      25   y3:
      26                    zp = *oi + *ar;
      27                  }
      28  
      29                y5 = (cc + 1) == ((*ar /= *oi) << ((zp >>= 128) / cc));
      30                qz += !!y5 ? 1 : qz == (*ar ^ zp + 1);
      31                ++*oi;
      32              }
      33          }
      34        else
      35          ++qz;
      36      }
      37  
      38    goto y3;
      39  }