/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-lim2-details" } */

int r[6];

void f (int n)
{
  while (-- n)
    {
      r [0] += r [5];
      r [1] += r [0];
      r [2] += r [1];
      r [3] += r [2];
      r [4] += r [3];
      r [5] += r [4];
    }
}


/* { dg-final { scan-tree-dump-times "Executing store motion of r" 6 "lim2" } } */
