1  /* PR target/99822 */
       2  /* { dg-do assemble } */
       3  /* { dg-require-effective-target int128 } */
       4  
       5  int zt, bm, p5 = 1;
       6  
       7  void __attribute__ ((cold))
       8  l2 (unsigned long int hz)
       9  {
      10    __int128 d9 = 0;
      11    unsigned long int *mg = hz ? &hz : (unsigned long int *) &d9;
      12  
      13    while (d9 < 1)
      14      {
      15        bm = bm > d9;
      16        bm = bm == (d9 = bm || hz);
      17  
      18        hz = 0x197000000;
      19        d9 = hz * hz;
      20  
      21        while (p5 < 1)
      22          {
      23            bm = ((hz = 3) ? zt : 0) > 0x1001;
      24            if (bm != 0)
      25              {
      26                __int128 *nd = (__int128 *) bm;
      27  
      28                *nd /= 3;
      29              }
      30  
      31            *mg = 0x1001;
      32            p5 -= *mg;
      33          }
      34  
      35        for (zt = 0; zt >= 0; zt += 2)
      36          d9 = 0;
      37  
      38        d9 += 2;
      39      }
      40  }
      41