(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
sve/
acle/
general/
temporaries_1.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O" } */
       3  /* { dg-final { check-function-bodies "**" "" "" { target { ! ilp32 } } } } */
       4  
       5  #include <arm_sve.h>
       6  
       7  #ifdef __cplusplus
       8  extern "C" {
       9  #endif
      10  
      11  /*
      12  ** test_s8:
      13  **	ptrue	(p[0-7])\.b, all
      14  **	ld1b	(z[0-9]+\.b), \1/z, \[x0\]
      15  **	add	\2, \2, #1
      16  **	st1b	\2, \1, \[x1\]
      17  **	ret
      18  */
      19  void
      20  test_s8 (int8_t *x, int8_t *y)
      21  {
      22    int8_t tmp1[32], tmp2[32];
      23  
      24    svbool_t pg = svptrue_b8 ();
      25    svst1 (pg, tmp1, svld1 (pg, x));
      26    svst1 (pg, tmp2, svadd_x (pg, svld1 (pg, tmp1), 1));
      27    svst1 (pg, y, svld1 (pg, tmp2));
      28  }
      29  
      30  /*
      31  ** test_s32_b8:
      32  **	ptrue	(p[0-7])\.b, all
      33  **	ld1w	(z[0-9]+\.s), \1/z, \[x0\]
      34  **	add	\2, \2, #1
      35  **	st1w	\2, \1, \[x1\]
      36  **	ret
      37  */
      38  void
      39  test_s32_b8 (int32_t *x, int32_t *y)
      40  {
      41    int32_t tmp1[8], tmp2[8];
      42  
      43    svbool_t pg = svptrue_b8 ();
      44    svst1 (pg, tmp1, svld1 (pg, x));
      45    svst1 (pg, tmp2, svadd_x (pg, svld1 (pg, tmp1), 1));
      46    svst1 (pg, y, svld1 (pg, tmp2));
      47  }
      48  
      49  /*
      50  ** test_s32_b32:
      51  **	ptrue	(p[0-7])\.b, all
      52  **	ld1w	(z[0-9]+\.s), \1/z, \[x0\]
      53  **	add	\2, \2, #1
      54  **	st1w	\2, \1, \[x1\]
      55  **	ret
      56  */
      57  void
      58  test_s32_b32 (int32_t *x, int32_t *y)
      59  {
      60    int32_t tmp1[8], tmp2[8];
      61  
      62    svbool_t pg = svptrue_b32 ();
      63    svst1 (pg, tmp1, svld1 (pg, x));
      64    svst1 (pg, tmp2, svadd_x (pg, svld1 (pg, tmp1), 1));
      65    svst1 (pg, y, svld1 (pg, tmp2));
      66  }
      67  
      68  #ifdef __cplusplus
      69  }
      70  #endif