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

void bar (int, int, int);
void foo (int left, int rite, int element)
{
  while (left <= rite)
    {
      rite -= element;
      bar (left, rite, element);
      left += element;
    }
}

/* { dg-final { scan-tree-dump-times "rite_\[0-9\]* = rite_\[0-9\]* - element" 1 "ivopts"} } */
/* { dg-final { scan-tree-dump-times "left_\[0-9\]* = left_\[0-9\]* \\+ element|left_\[0-9\]* = element_\[0-9\]*\\(D\\) \\+ left" 1 "ivopts"} } */