(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
sve/
acle/
asm/
st1b_scatter_s64.c
       1  /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */
       2  
       3  #include "test_sve_acle.h"
       4  
       5  /*
       6  ** st1b_scatter_s64:
       7  **	st1b	z0\.d, p0, \[z1\.d\]
       8  **	ret
       9  */
      10  TEST_STORE_SCATTER_ZS (st1b_scatter_s64, svint64_t, svuint64_t,
      11  		       svst1b_scatter_u64base_s64 (p0, z1, z0),
      12  		       svst1b_scatter (p0, z1, z0))
      13  
      14  /*
      15  ** st1b_scatter_x0_s64_offset:
      16  **	st1b	z0\.d, p0, \[x0, z1\.d\]
      17  **	ret
      18  */
      19  TEST_STORE_SCATTER_ZS (st1b_scatter_x0_s64_offset, svint64_t, svuint64_t,
      20  		       svst1b_scatter_u64base_offset_s64 (p0, z1, x0, z0),
      21  		       svst1b_scatter_offset (p0, z1, x0, z0))
      22  
      23  /*
      24  ** st1b_scatter_m1_s64_offset:
      25  **	mov	(x[0-9]+), #?-1
      26  **	st1b	z0\.d, p0, \[\1, z1\.d\]
      27  **	ret
      28  */
      29  TEST_STORE_SCATTER_ZS (st1b_scatter_m1_s64_offset, svint64_t, svuint64_t,
      30  		       svst1b_scatter_u64base_offset_s64 (p0, z1, -1, z0),
      31  		       svst1b_scatter_offset (p0, z1, -1, z0))
      32  
      33  /*
      34  ** st1b_scatter_0_s64_offset:
      35  **	st1b	z0\.d, p0, \[z1\.d\]
      36  **	ret
      37  */
      38  TEST_STORE_SCATTER_ZS (st1b_scatter_0_s64_offset, svint64_t, svuint64_t,
      39  		       svst1b_scatter_u64base_offset_s64 (p0, z1, 0, z0),
      40  		       svst1b_scatter_offset (p0, z1, 0, z0))
      41  
      42  /*
      43  ** st1b_scatter_5_s64_offset:
      44  **	st1b	z0\.d, p0, \[z1\.d, #5\]
      45  **	ret
      46  */
      47  TEST_STORE_SCATTER_ZS (st1b_scatter_5_s64_offset, svint64_t, svuint64_t,
      48  		       svst1b_scatter_u64base_offset_s64 (p0, z1, 5, z0),
      49  		       svst1b_scatter_offset (p0, z1, 5, z0))
      50  
      51  /*
      52  ** st1b_scatter_31_s64_offset:
      53  **	st1b	z0\.d, p0, \[z1\.d, #31\]
      54  **	ret
      55  */
      56  TEST_STORE_SCATTER_ZS (st1b_scatter_31_s64_offset, svint64_t, svuint64_t,
      57  		       svst1b_scatter_u64base_offset_s64 (p0, z1, 31, z0),
      58  		       svst1b_scatter_offset (p0, z1, 31, z0))
      59  
      60  /*
      61  ** st1b_scatter_32_s64_offset:
      62  **	mov	(x[0-9]+), #?32
      63  **	st1b	z0\.d, p0, \[\1, z1\.d\]
      64  **	ret
      65  */
      66  TEST_STORE_SCATTER_ZS (st1b_scatter_32_s64_offset, svint64_t, svuint64_t,
      67  		       svst1b_scatter_u64base_offset_s64 (p0, z1, 32, z0),
      68  		       svst1b_scatter_offset (p0, z1, 32, z0))
      69  
      70  /*
      71  ** st1b_scatter_x0_s64_s64offset:
      72  **	st1b	z0\.d, p0, \[x0, z1\.d\]
      73  **	ret
      74  */
      75  TEST_STORE_SCATTER_SZ (st1b_scatter_x0_s64_s64offset, svint64_t, int8_t, svint64_t,
      76  		       svst1b_scatter_s64offset_s64 (p0, x0, z1, z0),
      77  		       svst1b_scatter_offset (p0, x0, z1, z0))
      78  
      79  /*
      80  ** st1b_scatter_s64_s64offset:
      81  **	st1b	z0\.d, p0, \[x0, z1\.d\]
      82  **	ret
      83  */
      84  TEST_STORE_SCATTER_SZ (st1b_scatter_s64_s64offset, svint64_t, int8_t, svint64_t,
      85  		       svst1b_scatter_s64offset_s64 (p0, x0, z1, z0),
      86  		       svst1b_scatter_offset (p0, x0, z1, z0))
      87  
      88  /*
      89  ** st1b_scatter_ext_s64_s64offset:
      90  **	st1b	z0\.d, p0, \[x0, z1\.d, sxtw\]
      91  **	ret
      92  */
      93  TEST_STORE_SCATTER_SZ (st1b_scatter_ext_s64_s64offset, svint64_t, int8_t, svint64_t,
      94  		       svst1b_scatter_s64offset_s64 (p0, x0, svextw_s64_x (p0, z1), z0),
      95  		       svst1b_scatter_offset (p0, x0, svextw_x (p0, z1), z0))
      96  
      97  /*
      98  ** st1b_scatter_x0_s64_u64offset:
      99  **	st1b	z0\.d, p0, \[x0, z1\.d\]
     100  **	ret
     101  */
     102  TEST_STORE_SCATTER_SZ (st1b_scatter_x0_s64_u64offset, svint64_t, int8_t, svuint64_t,
     103  		       svst1b_scatter_u64offset_s64 (p0, x0, z1, z0),
     104  		       svst1b_scatter_offset (p0, x0, z1, z0))
     105  
     106  /*
     107  ** st1b_scatter_s64_u64offset:
     108  **	st1b	z0\.d, p0, \[x0, z1\.d\]
     109  **	ret
     110  */
     111  TEST_STORE_SCATTER_SZ (st1b_scatter_s64_u64offset, svint64_t, int8_t, svuint64_t,
     112  		       svst1b_scatter_u64offset_s64 (p0, x0, z1, z0),
     113  		       svst1b_scatter_offset (p0, x0, z1, z0))
     114  
     115  /*
     116  ** st1b_scatter_ext_s64_u64offset:
     117  **	st1b	z0\.d, p0, \[x0, z1\.d, uxtw\]
     118  **	ret
     119  */
     120  TEST_STORE_SCATTER_SZ (st1b_scatter_ext_s64_u64offset, svint64_t, int8_t, svuint64_t,
     121  		       svst1b_scatter_u64offset_s64 (p0, x0, svextw_u64_x (p0, z1), z0),
     122  		       svst1b_scatter_offset (p0, x0, svextw_x (p0, z1), z0))