1 /* { dg-do compile } */
2 /* { dg-options "-O -mstringop-strategy=vector_loop -mno-push-args" } */
3 
4 extern float *ptrs[];
5 extern int incs[];
6 
7 struct big
8 {
9   int i[0x10000];
10 };
11 
12 extern void bar (struct big b);
13 
14 struct big
foo(int n)15 foo (int n)
16 {
17   struct big b;
18 
19   int inc14 = incs[15], inc16 = n, inc17 = n, inc19 = incs[3];
20   float *ptr0 = ptrs[1], *ptr14 = ptrs[14], *ptr16 = ptrs[16];
21   while (n--)
22     *ptr0 += *ptr14 += inc14 += *ptr16 += inc16 += inc17 += inc19, bar (b);
23   return b;
24 }
25