1/* { dg-do compile } */
2/* { dg-options "-O2 -fdump-tree-ivopts-details" } */
3
4double g;
5
6int foo(char *flags, long len, long i, long steps)
7{
8  register long step, iter;
9
10  if(*(flags + i))
11    {
12      step = i + i + 3;
13      for(iter = i + step ; iter <= len ; iter += step)
14	{
15	  steps++;
16	  *(flags + iter)=0;
17	}
18    }
19   g = 5.0*(double)steps;
20
21   return 0;
22}
23
24/* Don't expand iv {base+step, step}_loop into {base+x+y, step}_loop
25   even if "step == x + y".  */
26/* { dg-final { scan-tree-dump "base step_\[0-9\]* \\+ iter|base iter_\[0-9\]* \\+ step" "ivopts"} } */
27/* { dg-final { cleanup-tree-dump "ivopts" } } */
28