(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
arm/
pr42505.c
       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  }