(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
sve/
pcs/
args_7.c
       1  /* { dg-do compile { target lp64 } } */
       2  /* { dg-options "-O -g" } */
       3  /* { dg-final { check-function-bodies "**" "" } } */
       4  
       5  #include <arm_sve.h>
       6  
       7  /*
       8  ** callee:
       9  **	...
      10  **	ldr	(x[0-9]+), \[sp\]
      11  **	...
      12  **	ld1b	(z[0-9]+\.b), p[1-3]/z, \[\1\]
      13  **	st1b	\2, p0, \[x0, x7\]
      14  **	ret
      15  */
      16  void __attribute__((noipa))
      17  callee (int8_t *x0, int x1, int x2, int x3,
      18  	int x4, int x5, svbool_t p0, int x6, int64_t x7,
      19  	svint32x4_t z0, svint32x4_t z4, svint8_t stack)
      20  {
      21    svst1 (p0, x0 + x7, stack);
      22  }
      23  
      24  void __attribute__((noipa))
      25  caller (int8_t *x0, svbool_t p0, svint32x4_t z0, svint32x4_t z4)
      26  {
      27    callee (x0, 1, 2, 3, 4, 5, p0, 6, 7, z0, z4, svdup_s8 (42));
      28  }
      29  
      30  /* { dg-final { scan-assembler {\tmov\t(z[0-9]+\.b), #42\n.*\tst1b\t\1, p[0-7], \[(x[0-9]+)\]\n.*\tstr\t\2, \[sp\]\n} } } */