1  /* PR target/79363 */
       2  /* Reported by John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> */
       3  
       4  /* { dg-do compile } */
       5  /* { dg-options "-O2 -fPIC -mcpu=v8" } */
       6  
       7  struct d { long long h; };
       8  
       9  struct c { struct d *e; };
      10  
      11  int f, g;
      12  
      13  extern void bar (long long *);
      14  extern int baz (long long *, int);
      15  
      16  void foo (struct c *desc)
      17  {
      18    int begin, end, j;
      19    long long k, l, h;
      20    for (;;) {
      21      for (;;)
      22        break;
      23      for (;;) {
      24        j++;
      25        l = desc->e[j].h;
      26        for (;;) {
      27          bar(&l);
      28          end = h = begin / 2;
      29          if (baz(&h, g))
      30            begin = f;
      31          break;
      32        }
      33        if (end) {
      34          __atomic_store_n(&k, end, 5);
      35          break;
      36        }
      37      }
      38    }
      39  }