1  /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */
       2  
       3  #include "test_sve_acle.h"
       4  
       5  /*
       6  ** stnt1b_scatter_s32:
       7  **	stnt1b	z0\.s, p0, \[z1\.s\]
       8  **	ret
       9  */
      10  TEST_STORE_SCATTER_ZS (stnt1b_scatter_s32, svint32_t, svuint32_t,
      11  		       svstnt1b_scatter_u32base_s32 (p0, z1, z0),
      12  		       svstnt1b_scatter (p0, z1, z0))
      13  
      14  /*
      15  ** stnt1b_scatter_x0_s32_offset:
      16  **	stnt1b	z0\.s, p0, \[z1\.s, x0\]
      17  **	ret
      18  */
      19  TEST_STORE_SCATTER_ZS (stnt1b_scatter_x0_s32_offset, svint32_t, svuint32_t,
      20  		       svstnt1b_scatter_u32base_offset_s32 (p0, z1, x0, z0),
      21  		       svstnt1b_scatter_offset (p0, z1, x0, z0))
      22  
      23  /*
      24  ** stnt1b_scatter_m1_s32_offset:
      25  **	mov	(x[0-9]+), #?-1
      26  **	stnt1b	z0\.s, p0, \[z1\.s, \1\]
      27  **	ret
      28  */
      29  TEST_STORE_SCATTER_ZS (stnt1b_scatter_m1_s32_offset, svint32_t, svuint32_t,
      30  		       svstnt1b_scatter_u32base_offset_s32 (p0, z1, -1, z0),
      31  		       svstnt1b_scatter_offset (p0, z1, -1, z0))
      32  
      33  /*
      34  ** stnt1b_scatter_0_s32_offset:
      35  **	stnt1b	z0\.s, p0, \[z1\.s\]
      36  **	ret
      37  */
      38  TEST_STORE_SCATTER_ZS (stnt1b_scatter_0_s32_offset, svint32_t, svuint32_t,
      39  		       svstnt1b_scatter_u32base_offset_s32 (p0, z1, 0, z0),
      40  		       svstnt1b_scatter_offset (p0, z1, 0, z0))
      41  
      42  /*
      43  ** stnt1b_scatter_5_s32_offset:
      44  **	mov	(x[0-9]+), #?5
      45  **	stnt1b	z0\.s, p0, \[z1\.s, \1\]
      46  **	ret
      47  */
      48  TEST_STORE_SCATTER_ZS (stnt1b_scatter_5_s32_offset, svint32_t, svuint32_t,
      49  		       svstnt1b_scatter_u32base_offset_s32 (p0, z1, 5, z0),
      50  		       svstnt1b_scatter_offset (p0, z1, 5, z0))
      51  
      52  /*
      53  ** stnt1b_scatter_31_s32_offset:
      54  **	mov	(x[0-9]+), #?31
      55  **	stnt1b	z0\.s, p0, \[z1\.s, \1\]
      56  **	ret
      57  */
      58  TEST_STORE_SCATTER_ZS (stnt1b_scatter_31_s32_offset, svint32_t, svuint32_t,
      59  		       svstnt1b_scatter_u32base_offset_s32 (p0, z1, 31, z0),
      60  		       svstnt1b_scatter_offset (p0, z1, 31, z0))
      61  
      62  /*
      63  ** stnt1b_scatter_32_s32_offset:
      64  **	mov	(x[0-9]+), #?32
      65  **	stnt1b	z0\.s, p0, \[z1\.s, \1\]
      66  **	ret
      67  */
      68  TEST_STORE_SCATTER_ZS (stnt1b_scatter_32_s32_offset, svint32_t, svuint32_t,
      69  		       svstnt1b_scatter_u32base_offset_s32 (p0, z1, 32, z0),
      70  		       svstnt1b_scatter_offset (p0, z1, 32, z0))
      71  
      72  /*
      73  ** stnt1b_scatter_x0_s32_u32offset:
      74  **	stnt1b	z0\.s, p0, \[z1\.s, x0\]
      75  **	ret
      76  */
      77  TEST_STORE_SCATTER_SZ (stnt1b_scatter_x0_s32_u32offset, svint32_t, int8_t, svuint32_t,
      78  		       svstnt1b_scatter_u32offset_s32 (p0, x0, z1, z0),
      79  		       svstnt1b_scatter_offset (p0, x0, z1, z0))
      80  
      81  /*
      82  ** stnt1b_scatter_s32_u32offset:
      83  **	stnt1b	z0\.s, p0, \[z1\.s, x0\]
      84  **	ret
      85  */
      86  TEST_STORE_SCATTER_SZ (stnt1b_scatter_s32_u32offset, svint32_t, int8_t, svuint32_t,
      87  		       svstnt1b_scatter_u32offset_s32 (p0, x0, z1, z0),
      88  		       svstnt1b_scatter_offset (p0, x0, z1, z0))