1  /* { dg-do compile } */
       2  /* { dg-options "-Os -fdump-tree-optimized" } */
       3  struct a {int a,b,c,d,e,f;};
       4  
       5  void do_something (struct a *);
       6  
       7  void
       8  do_inc (struct a *a)
       9  {
      10    a->a=a->b;
      11    a->b=a->c;
      12    a->c=a->d;
      13    a->e=a->f;
      14  }
      15  
      16  void
      17  test(struct a *a)
      18  {
      19    do_inc (a);
      20    do_something (a);
      21    do_inc (a);
      22    do_something (a);
      23    do_inc (a);
      24    do_something (a);
      25    do_inc (a);
      26    do_something (a);
      27    do_inc (a);
      28    do_something (a);
      29    do_inc (a);
      30    do_something (a);
      31    do_inc (a);
      32    do_something (a);
      33    do_inc (a);
      34    do_something (a);
      35    do_inc (a);
      36    do_something (a);
      37  }
      38  /* { dg-final { scan-tree-dump-times "do_inc" 12 "optimized" } } */