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
do_inc(struct a * a)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
test(struct a * a)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" } } */
39