1 /* { dg-options "-Os" } */
2 /* { dg-final { scan-assembler-not "str\[\\t \]*r.,\[\\t \]*.sp," } } */
3
4 struct A {
5 int f1;
6 int f2;
7 };
8
9 int func(int c);
10
11 /* This function should not need to spill anything to the stack. */
12 int test(struct A* src, struct A* dst, int count)
13 {
14 while (count--) {
15 if (!func(src->f2)) {
16 return 0;
17 }
18 *dst++ = *src++;
19 }
20
21 return 1;
22 }