1  /* { dg-do compile } */
       2  /* { dg-options "-Os -fdump-tree-optimized" } */
       3  
       4  /* Slightly changed testcase from PR middle-end/40815.  */
       5  void bar(char*, char*, int);
       6  void foo(char* left, char* rite, int element)
       7  {
       8    while (left <= rite)
       9    {
      10      /* This should expand into
      11         _7 = (sizetype) element_6(D);
      12         _8 = -_7;
      13         rite_9 = rite_1 + _8;  */
      14      rite -= element;
      15      bar(left, rite, element);
      16    }
      17  }
      18  
      19  /* { dg-final { scan-tree-dump-times "= \\\(sizetype\\\) element" 1 "optimized" } } */
      20  /* { dg-final { scan-tree-dump-times "= -" 1 "optimized" } } */
      21  /* { dg-final { scan-tree-dump-times " \\\+ " 1 "optimized" } } */