(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
sve2/
acle/
asm/
stnt1w_scatter_s64.c
       1  /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */
       2  
       3  #include "test_sve_acle.h"
       4  
       5  /*
       6  ** stnt1w_scatter_s64:
       7  **	stnt1w	z0\.d, p0, \[z1\.d\]
       8  **	ret
       9  */
      10  TEST_STORE_SCATTER_ZS (stnt1w_scatter_s64, svint64_t, svuint64_t,
      11  		       svstnt1w_scatter_u64base_s64 (p0, z1, z0),
      12  		       svstnt1w_scatter (p0, z1, z0))
      13  
      14  /*
      15  ** stnt1w_scatter_x0_s64_offset:
      16  **	stnt1w	z0\.d, p0, \[z1\.d, x0\]
      17  **	ret
      18  */
      19  TEST_STORE_SCATTER_ZS (stnt1w_scatter_x0_s64_offset, svint64_t, svuint64_t,
      20  		       svstnt1w_scatter_u64base_offset_s64 (p0, z1, x0, z0),
      21  		       svstnt1w_scatter_offset (p0, z1, x0, z0))
      22  
      23  /*
      24  ** stnt1w_scatter_m4_s64_offset:
      25  **	mov	(x[0-9]+), #?-4
      26  **	stnt1w	z0\.d, p0, \[z1\.d, \1\]
      27  **	ret
      28  */
      29  TEST_STORE_SCATTER_ZS (stnt1w_scatter_m4_s64_offset, svint64_t, svuint64_t,
      30  		       svstnt1w_scatter_u64base_offset_s64 (p0, z1, -4, z0),
      31  		       svstnt1w_scatter_offset (p0, z1, -4, z0))
      32  
      33  /*
      34  ** stnt1w_scatter_0_s64_offset:
      35  **	stnt1w	z0\.d, p0, \[z1\.d\]
      36  **	ret
      37  */
      38  TEST_STORE_SCATTER_ZS (stnt1w_scatter_0_s64_offset, svint64_t, svuint64_t,
      39  		       svstnt1w_scatter_u64base_offset_s64 (p0, z1, 0, z0),
      40  		       svstnt1w_scatter_offset (p0, z1, 0, z0))
      41  
      42  /*
      43  ** stnt1w_scatter_5_s64_offset:
      44  **	mov	(x[0-9]+), #?5
      45  **	stnt1w	z0\.d, p0, \[z1\.d, \1\]
      46  **	ret
      47  */
      48  TEST_STORE_SCATTER_ZS (stnt1w_scatter_5_s64_offset, svint64_t, svuint64_t,
      49  		       svstnt1w_scatter_u64base_offset_s64 (p0, z1, 5, z0),
      50  		       svstnt1w_scatter_offset (p0, z1, 5, z0))
      51  
      52  /*
      53  ** stnt1w_scatter_6_s64_offset:
      54  **	mov	(x[0-9]+), #?6
      55  **	stnt1w	z0\.d, p0, \[z1\.d, \1\]
      56  **	ret
      57  */
      58  TEST_STORE_SCATTER_ZS (stnt1w_scatter_6_s64_offset, svint64_t, svuint64_t,
      59  		       svstnt1w_scatter_u64base_offset_s64 (p0, z1, 6, z0),
      60  		       svstnt1w_scatter_offset (p0, z1, 6, z0))
      61  
      62  /*
      63  ** stnt1w_scatter_7_s64_offset:
      64  **	mov	(x[0-9]+), #?7
      65  **	stnt1w	z0\.d, p0, \[z1\.d, \1\]
      66  **	ret
      67  */
      68  TEST_STORE_SCATTER_ZS (stnt1w_scatter_7_s64_offset, svint64_t, svuint64_t,
      69  		       svstnt1w_scatter_u64base_offset_s64 (p0, z1, 7, z0),
      70  		       svstnt1w_scatter_offset (p0, z1, 7, z0))
      71  
      72  /*
      73  ** stnt1w_scatter_8_s64_offset:
      74  **	mov	(x[0-9]+), #?8
      75  **	stnt1w	z0\.d, p0, \[z1\.d, \1\]
      76  **	ret
      77  */
      78  TEST_STORE_SCATTER_ZS (stnt1w_scatter_8_s64_offset, svint64_t, svuint64_t,
      79  		       svstnt1w_scatter_u64base_offset_s64 (p0, z1, 8, z0),
      80  		       svstnt1w_scatter_offset (p0, z1, 8, z0))
      81  
      82  /*
      83  ** stnt1w_scatter_124_s64_offset:
      84  **	mov	(x[0-9]+), #?124
      85  **	stnt1w	z0\.d, p0, \[z1\.d, \1\]
      86  **	ret
      87  */
      88  TEST_STORE_SCATTER_ZS (stnt1w_scatter_124_s64_offset, svint64_t, svuint64_t,
      89  		       svstnt1w_scatter_u64base_offset_s64 (p0, z1, 124, z0),
      90  		       svstnt1w_scatter_offset (p0, z1, 124, z0))
      91  
      92  /*
      93  ** stnt1w_scatter_128_s64_offset:
      94  **	mov	(x[0-9]+), #?128
      95  **	stnt1w	z0\.d, p0, \[z1\.d, \1\]
      96  **	ret
      97  */
      98  TEST_STORE_SCATTER_ZS (stnt1w_scatter_128_s64_offset, svint64_t, svuint64_t,
      99  		       svstnt1w_scatter_u64base_offset_s64 (p0, z1, 128, z0),
     100  		       svstnt1w_scatter_offset (p0, z1, 128, z0))
     101  
     102  /*
     103  ** stnt1w_scatter_x0_s64_index:
     104  **	lsl	(x[0-9]+), x0, #?2
     105  **	stnt1w	z0\.d, p0, \[z1\.d, \1\]
     106  **	ret
     107  */
     108  TEST_STORE_SCATTER_ZS (stnt1w_scatter_x0_s64_index, svint64_t, svuint64_t,
     109  		       svstnt1w_scatter_u64base_index_s64 (p0, z1, x0, z0),
     110  		       svstnt1w_scatter_index (p0, z1, x0, z0))
     111  
     112  /*
     113  ** stnt1w_scatter_m1_s64_index:
     114  **	mov	(x[0-9]+), #?-4
     115  **	stnt1w	z0\.d, p0, \[z1\.d, \1\]
     116  **	ret
     117  */
     118  TEST_STORE_SCATTER_ZS (stnt1w_scatter_m1_s64_index, svint64_t, svuint64_t,
     119  		       svstnt1w_scatter_u64base_index_s64 (p0, z1, -1, z0),
     120  		       svstnt1w_scatter_index (p0, z1, -1, z0))
     121  
     122  /*
     123  ** stnt1w_scatter_0_s64_index:
     124  **	stnt1w	z0\.d, p0, \[z1\.d\]
     125  **	ret
     126  */
     127  TEST_STORE_SCATTER_ZS (stnt1w_scatter_0_s64_index, svint64_t, svuint64_t,
     128  		       svstnt1w_scatter_u64base_index_s64 (p0, z1, 0, z0),
     129  		       svstnt1w_scatter_index (p0, z1, 0, z0))
     130  
     131  /*
     132  ** stnt1w_scatter_5_s64_index:
     133  **	mov	(x[0-9]+), #?20
     134  **	stnt1w	z0\.d, p0, \[z1\.d, \1\]
     135  **	ret
     136  */
     137  TEST_STORE_SCATTER_ZS (stnt1w_scatter_5_s64_index, svint64_t, svuint64_t,
     138  		       svstnt1w_scatter_u64base_index_s64 (p0, z1, 5, z0),
     139  		       svstnt1w_scatter_index (p0, z1, 5, z0))
     140  
     141  /*
     142  ** stnt1w_scatter_31_s64_index:
     143  **	mov	(x[0-9]+), #?124
     144  **	stnt1w	z0\.d, p0, \[z1\.d, \1\]
     145  **	ret
     146  */
     147  TEST_STORE_SCATTER_ZS (stnt1w_scatter_31_s64_index, svint64_t, svuint64_t,
     148  		       svstnt1w_scatter_u64base_index_s64 (p0, z1, 31, z0),
     149  		       svstnt1w_scatter_index (p0, z1, 31, z0))
     150  
     151  /*
     152  ** stnt1w_scatter_32_s64_index:
     153  **	mov	(x[0-9]+), #?128
     154  **	stnt1w	z0\.d, p0, \[z1\.d, \1\]
     155  **	ret
     156  */
     157  TEST_STORE_SCATTER_ZS (stnt1w_scatter_32_s64_index, svint64_t, svuint64_t,
     158  		       svstnt1w_scatter_u64base_index_s64 (p0, z1, 32, z0),
     159  		       svstnt1w_scatter_index (p0, z1, 32, z0))
     160  
     161  /*
     162  ** stnt1w_scatter_x0_s64_s64offset:
     163  **	stnt1w	z0\.d, p0, \[z1\.d, x0\]
     164  **	ret
     165  */
     166  TEST_STORE_SCATTER_SZ (stnt1w_scatter_x0_s64_s64offset, svint64_t, int32_t, svint64_t,
     167  		       svstnt1w_scatter_s64offset_s64 (p0, x0, z1, z0),
     168  		       svstnt1w_scatter_offset (p0, x0, z1, z0))
     169  
     170  /*
     171  ** stnt1w_scatter_s64_s64offset:
     172  **	stnt1w	z0\.d, p0, \[z1\.d, x0\]
     173  **	ret
     174  */
     175  TEST_STORE_SCATTER_SZ (stnt1w_scatter_s64_s64offset, svint64_t, int32_t, svint64_t,
     176  		       svstnt1w_scatter_s64offset_s64 (p0, x0, z1, z0),
     177  		       svstnt1w_scatter_offset (p0, x0, z1, z0))
     178  
     179  /*
     180  ** stnt1w_scatter_x0_s64_u64offset:
     181  **	stnt1w	z0\.d, p0, \[z1\.d, x0\]
     182  **	ret
     183  */
     184  TEST_STORE_SCATTER_SZ (stnt1w_scatter_x0_s64_u64offset, svint64_t, int32_t, svuint64_t,
     185  		       svstnt1w_scatter_u64offset_s64 (p0, x0, z1, z0),
     186  		       svstnt1w_scatter_offset (p0, x0, z1, z0))
     187  
     188  /*
     189  ** stnt1w_scatter_s64_u64offset:
     190  **	stnt1w	z0\.d, p0, \[z1\.d, x0\]
     191  **	ret
     192  */
     193  TEST_STORE_SCATTER_SZ (stnt1w_scatter_s64_u64offset, svint64_t, int32_t, svuint64_t,
     194  		       svstnt1w_scatter_u64offset_s64 (p0, x0, z1, z0),
     195  		       svstnt1w_scatter_offset (p0, x0, z1, z0))
     196  
     197  /*
     198  ** stnt1w_scatter_x0_s64_s64index:
     199  **	lsl	(z[0-9]+\.d), z1\.d, #2
     200  **	stnt1w	z0\.d, p0, \[\1, x0\]
     201  **	ret
     202  */
     203  TEST_STORE_SCATTER_SZ (stnt1w_scatter_x0_s64_s64index, svint64_t, int32_t, svint64_t,
     204  		       svstnt1w_scatter_s64index_s64 (p0, x0, z1, z0),
     205  		       svstnt1w_scatter_index (p0, x0, z1, z0))
     206  
     207  /*
     208  ** stnt1w_scatter_s64_s64index:
     209  **	lsl	(z[0-9]+\.d), z1\.d, #2
     210  **	stnt1w	z0\.d, p0, \[\1, x0\]
     211  **	ret
     212  */
     213  TEST_STORE_SCATTER_SZ (stnt1w_scatter_s64_s64index, svint64_t, int32_t, svint64_t,
     214  		       svstnt1w_scatter_s64index_s64 (p0, x0, z1, z0),
     215  		       svstnt1w_scatter_index (p0, x0, z1, z0))
     216  
     217  /*
     218  ** stnt1w_scatter_x0_s64_u64index:
     219  **	lsl	(z[0-9]+\.d), z1\.d, #2
     220  **	stnt1w	z0\.d, p0, \[\1, x0\]
     221  **	ret
     222  */
     223  TEST_STORE_SCATTER_SZ (stnt1w_scatter_x0_s64_u64index, svint64_t, int32_t, svuint64_t,
     224  		       svstnt1w_scatter_u64index_s64 (p0, x0, z1, z0),
     225  		       svstnt1w_scatter_index (p0, x0, z1, z0))
     226  
     227  /*
     228  ** stnt1w_scatter_s64_u64index:
     229  **	lsl	(z[0-9]+\.d), z1\.d, #2
     230  **	stnt1w	z0\.d, p0, \[\1, x0\]
     231  **	ret
     232  */
     233  TEST_STORE_SCATTER_SZ (stnt1w_scatter_s64_u64index, svint64_t, int32_t, svuint64_t,
     234  		       svstnt1w_scatter_u64index_s64 (p0, x0, z1, z0),
     235  		       svstnt1w_scatter_index (p0, x0, z1, z0))