(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
sve2/
acle/
asm/
stnt1_scatter_u64.c
       1  /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */
       2  
       3  #include "test_sve_acle.h"
       4  
       5  /*
       6  ** stnt1_scatter_u64:
       7  **	stnt1d	z0\.d, p0, \[z1\.d\]
       8  **	ret
       9  */
      10  TEST_STORE_SCATTER_ZS (stnt1_scatter_u64, svuint64_t, svuint64_t,
      11  		       svstnt1_scatter_u64base_u64 (p0, z1, z0),
      12  		       svstnt1_scatter (p0, z1, z0))
      13  
      14  /*
      15  ** stnt1_scatter_x0_u64_offset:
      16  **	stnt1d	z0\.d, p0, \[z1\.d, x0\]
      17  **	ret
      18  */
      19  TEST_STORE_SCATTER_ZS (stnt1_scatter_x0_u64_offset, svuint64_t, svuint64_t,
      20  		       svstnt1_scatter_u64base_offset_u64 (p0, z1, x0, z0),
      21  		       svstnt1_scatter_offset (p0, z1, x0, z0))
      22  
      23  /*
      24  ** stnt1_scatter_m8_u64_offset:
      25  **	mov	(x[0-9]+), #?-8
      26  **	stnt1d	z0\.d, p0, \[z1\.d, \1\]
      27  **	ret
      28  */
      29  TEST_STORE_SCATTER_ZS (stnt1_scatter_m8_u64_offset, svuint64_t, svuint64_t,
      30  		       svstnt1_scatter_u64base_offset_u64 (p0, z1, -8, z0),
      31  		       svstnt1_scatter_offset (p0, z1, -8, z0))
      32  
      33  /*
      34  ** stnt1_scatter_0_u64_offset:
      35  **	stnt1d	z0\.d, p0, \[z1\.d\]
      36  **	ret
      37  */
      38  TEST_STORE_SCATTER_ZS (stnt1_scatter_0_u64_offset, svuint64_t, svuint64_t,
      39  		       svstnt1_scatter_u64base_offset_u64 (p0, z1, 0, z0),
      40  		       svstnt1_scatter_offset (p0, z1, 0, z0))
      41  
      42  /*
      43  ** stnt1_scatter_9_u64_offset:
      44  **	mov	(x[0-9]+), #?9
      45  **	stnt1d	z0\.d, p0, \[z1\.d, \1\]
      46  **	ret
      47  */
      48  TEST_STORE_SCATTER_ZS (stnt1_scatter_9_u64_offset, svuint64_t, svuint64_t,
      49  		       svstnt1_scatter_u64base_offset_u64 (p0, z1, 9, z0),
      50  		       svstnt1_scatter_offset (p0, z1, 9, z0))
      51  
      52  /*
      53  ** stnt1_scatter_10_u64_offset:
      54  **	mov	(x[0-9]+), #?10
      55  **	stnt1d	z0\.d, p0, \[z1\.d, \1\]
      56  **	ret
      57  */
      58  TEST_STORE_SCATTER_ZS (stnt1_scatter_10_u64_offset, svuint64_t, svuint64_t,
      59  		       svstnt1_scatter_u64base_offset_u64 (p0, z1, 10, z0),
      60  		       svstnt1_scatter_offset (p0, z1, 10, z0))
      61  
      62  /*
      63  ** stnt1_scatter_11_u64_offset:
      64  **	mov	(x[0-9]+), #?11
      65  **	stnt1d	z0\.d, p0, \[z1\.d, \1\]
      66  **	ret
      67  */
      68  TEST_STORE_SCATTER_ZS (stnt1_scatter_11_u64_offset, svuint64_t, svuint64_t,
      69  		       svstnt1_scatter_u64base_offset_u64 (p0, z1, 11, z0),
      70  		       svstnt1_scatter_offset (p0, z1, 11, z0))
      71  
      72  /*
      73  ** stnt1_scatter_12_u64_offset:
      74  **	mov	(x[0-9]+), #?12
      75  **	stnt1d	z0\.d, p0, \[z1\.d, \1\]
      76  **	ret
      77  */
      78  TEST_STORE_SCATTER_ZS (stnt1_scatter_12_u64_offset, svuint64_t, svuint64_t,
      79  		       svstnt1_scatter_u64base_offset_u64 (p0, z1, 12, z0),
      80  		       svstnt1_scatter_offset (p0, z1, 12, z0))
      81  
      82  /*
      83  ** stnt1_scatter_13_u64_offset:
      84  **	mov	(x[0-9]+), #?13
      85  **	stnt1d	z0\.d, p0, \[z1\.d, \1\]
      86  **	ret
      87  */
      88  TEST_STORE_SCATTER_ZS (stnt1_scatter_13_u64_offset, svuint64_t, svuint64_t,
      89  		       svstnt1_scatter_u64base_offset_u64 (p0, z1, 13, z0),
      90  		       svstnt1_scatter_offset (p0, z1, 13, z0))
      91  
      92  /*
      93  ** stnt1_scatter_14_u64_offset:
      94  **	mov	(x[0-9]+), #?14
      95  **	stnt1d	z0\.d, p0, \[z1\.d, \1\]
      96  **	ret
      97  */
      98  TEST_STORE_SCATTER_ZS (stnt1_scatter_14_u64_offset, svuint64_t, svuint64_t,
      99  		       svstnt1_scatter_u64base_offset_u64 (p0, z1, 14, z0),
     100  		       svstnt1_scatter_offset (p0, z1, 14, z0))
     101  
     102  /*
     103  ** stnt1_scatter_15_u64_offset:
     104  **	mov	(x[0-9]+), #?15
     105  **	stnt1d	z0\.d, p0, \[z1\.d, \1\]
     106  **	ret
     107  */
     108  TEST_STORE_SCATTER_ZS (stnt1_scatter_15_u64_offset, svuint64_t, svuint64_t,
     109  		       svstnt1_scatter_u64base_offset_u64 (p0, z1, 15, z0),
     110  		       svstnt1_scatter_offset (p0, z1, 15, z0))
     111  
     112  /*
     113  ** stnt1_scatter_16_u64_offset:
     114  **	mov	(x[0-9]+), #?16
     115  **	stnt1d	z0\.d, p0, \[z1\.d, \1\]
     116  **	ret
     117  */
     118  TEST_STORE_SCATTER_ZS (stnt1_scatter_16_u64_offset, svuint64_t, svuint64_t,
     119  		       svstnt1_scatter_u64base_offset_u64 (p0, z1, 16, z0),
     120  		       svstnt1_scatter_offset (p0, z1, 16, z0))
     121  
     122  /*
     123  ** stnt1_scatter_248_u64_offset:
     124  **	mov	(x[0-9]+), #?248
     125  **	stnt1d	z0\.d, p0, \[z1\.d, \1\]
     126  **	ret
     127  */
     128  TEST_STORE_SCATTER_ZS (stnt1_scatter_248_u64_offset, svuint64_t, svuint64_t,
     129  		       svstnt1_scatter_u64base_offset_u64 (p0, z1, 248, z0),
     130  		       svstnt1_scatter_offset (p0, z1, 248, z0))
     131  
     132  /*
     133  ** stnt1_scatter_256_u64_offset:
     134  **	mov	(x[0-9]+), #?256
     135  **	stnt1d	z0\.d, p0, \[z1\.d, \1\]
     136  **	ret
     137  */
     138  TEST_STORE_SCATTER_ZS (stnt1_scatter_256_u64_offset, svuint64_t, svuint64_t,
     139  		       svstnt1_scatter_u64base_offset_u64 (p0, z1, 256, z0),
     140  		       svstnt1_scatter_offset (p0, z1, 256, z0))
     141  
     142  /*
     143  ** stnt1_scatter_x0_u64_index:
     144  **	lsl	(x[0-9]+), x0, #?3
     145  **	stnt1d	z0\.d, p0, \[z1\.d, \1\]
     146  **	ret
     147  */
     148  TEST_STORE_SCATTER_ZS (stnt1_scatter_x0_u64_index, svuint64_t, svuint64_t,
     149  		       svstnt1_scatter_u64base_index_u64 (p0, z1, x0, z0),
     150  		       svstnt1_scatter_index (p0, z1, x0, z0))
     151  
     152  /*
     153  ** stnt1_scatter_m1_u64_index:
     154  **	mov	(x[0-9]+), #?-8
     155  **	stnt1d	z0\.d, p0, \[z1\.d, \1\]
     156  **	ret
     157  */
     158  TEST_STORE_SCATTER_ZS (stnt1_scatter_m1_u64_index, svuint64_t, svuint64_t,
     159  		       svstnt1_scatter_u64base_index_u64 (p0, z1, -1, z0),
     160  		       svstnt1_scatter_index (p0, z1, -1, z0))
     161  
     162  /*
     163  ** stnt1_scatter_0_u64_index:
     164  **	stnt1d	z0\.d, p0, \[z1\.d\]
     165  **	ret
     166  */
     167  TEST_STORE_SCATTER_ZS (stnt1_scatter_0_u64_index, svuint64_t, svuint64_t,
     168  		       svstnt1_scatter_u64base_index_u64 (p0, z1, 0, z0),
     169  		       svstnt1_scatter_index (p0, z1, 0, z0))
     170  
     171  /*
     172  ** stnt1_scatter_5_u64_index:
     173  **	mov	(x[0-9]+), #?40
     174  **	stnt1d	z0\.d, p0, \[z1\.d, \1\]
     175  **	ret
     176  */
     177  TEST_STORE_SCATTER_ZS (stnt1_scatter_5_u64_index, svuint64_t, svuint64_t,
     178  		       svstnt1_scatter_u64base_index_u64 (p0, z1, 5, z0),
     179  		       svstnt1_scatter_index (p0, z1, 5, z0))
     180  
     181  /*
     182  ** stnt1_scatter_31_u64_index:
     183  **	mov	(x[0-9]+), #?248
     184  **	stnt1d	z0\.d, p0, \[z1\.d, \1\]
     185  **	ret
     186  */
     187  TEST_STORE_SCATTER_ZS (stnt1_scatter_31_u64_index, svuint64_t, svuint64_t,
     188  		       svstnt1_scatter_u64base_index_u64 (p0, z1, 31, z0),
     189  		       svstnt1_scatter_index (p0, z1, 31, z0))
     190  
     191  /*
     192  ** stnt1_scatter_32_u64_index:
     193  **	mov	(x[0-9]+), #?256
     194  **	stnt1d	z0\.d, p0, \[z1\.d, \1\]
     195  **	ret
     196  */
     197  TEST_STORE_SCATTER_ZS (stnt1_scatter_32_u64_index, svuint64_t, svuint64_t,
     198  		       svstnt1_scatter_u64base_index_u64 (p0, z1, 32, z0),
     199  		       svstnt1_scatter_index (p0, z1, 32, z0))
     200  
     201  /*
     202  ** stnt1_scatter_x0_u64_s64offset:
     203  **	stnt1d	z0\.d, p0, \[z1\.d, x0\]
     204  **	ret
     205  */
     206  TEST_STORE_SCATTER_SZ (stnt1_scatter_x0_u64_s64offset, svuint64_t, uint64_t, svint64_t,
     207  		       svstnt1_scatter_s64offset_u64 (p0, x0, z1, z0),
     208  		       svstnt1_scatter_offset (p0, x0, z1, z0))
     209  
     210  /*
     211  ** stnt1_scatter_u64_s64offset:
     212  **	stnt1d	z0\.d, p0, \[z1\.d, x0\]
     213  **	ret
     214  */
     215  TEST_STORE_SCATTER_SZ (stnt1_scatter_u64_s64offset, svuint64_t, uint64_t, svint64_t,
     216  		       svstnt1_scatter_s64offset_u64 (p0, x0, z1, z0),
     217  		       svstnt1_scatter_offset (p0, x0, z1, z0))
     218  
     219  /*
     220  ** stnt1_scatter_x0_u64_u64offset:
     221  **	stnt1d	z0\.d, p0, \[z1\.d, x0\]
     222  **	ret
     223  */
     224  TEST_STORE_SCATTER_SZ (stnt1_scatter_x0_u64_u64offset, svuint64_t, uint64_t, svuint64_t,
     225  		       svstnt1_scatter_u64offset_u64 (p0, x0, z1, z0),
     226  		       svstnt1_scatter_offset (p0, x0, z1, z0))
     227  
     228  /*
     229  ** stnt1_scatter_u64_u64offset:
     230  **	stnt1d	z0\.d, p0, \[z1\.d, x0\]
     231  **	ret
     232  */
     233  TEST_STORE_SCATTER_SZ (stnt1_scatter_u64_u64offset, svuint64_t, uint64_t, svuint64_t,
     234  		       svstnt1_scatter_u64offset_u64 (p0, x0, z1, z0),
     235  		       svstnt1_scatter_offset (p0, x0, z1, z0))
     236  
     237  /*
     238  ** stnt1_scatter_x0_u64_s64index:
     239  **	lsl	(z[0-9]+\.d), z1\.d, #3
     240  **	stnt1d	z0\.d, p0, \[\1, x0\]
     241  **	ret
     242  */
     243  TEST_STORE_SCATTER_SZ (stnt1_scatter_x0_u64_s64index, svuint64_t, uint64_t, svint64_t,
     244  		       svstnt1_scatter_s64index_u64 (p0, x0, z1, z0),
     245  		       svstnt1_scatter_index (p0, x0, z1, z0))
     246  
     247  /*
     248  ** stnt1_scatter_u64_s64index:
     249  **	lsl	(z[0-9]+\.d), z1\.d, #3
     250  **	stnt1d	z0\.d, p0, \[\1, x0\]
     251  **	ret
     252  */
     253  TEST_STORE_SCATTER_SZ (stnt1_scatter_u64_s64index, svuint64_t, uint64_t, svint64_t,
     254  		       svstnt1_scatter_s64index_u64 (p0, x0, z1, z0),
     255  		       svstnt1_scatter_index (p0, x0, z1, z0))
     256  
     257  /*
     258  ** stnt1_scatter_x0_u64_u64index:
     259  **	lsl	(z[0-9]+\.d), z1\.d, #3
     260  **	stnt1d	z0\.d, p0, \[\1, x0\]
     261  **	ret
     262  */
     263  TEST_STORE_SCATTER_SZ (stnt1_scatter_x0_u64_u64index, svuint64_t, uint64_t, svuint64_t,
     264  		       svstnt1_scatter_u64index_u64 (p0, x0, z1, z0),
     265  		       svstnt1_scatter_index (p0, x0, z1, z0))
     266  
     267  /*
     268  ** stnt1_scatter_u64_u64index:
     269  **	lsl	(z[0-9]+\.d), z1\.d, #3
     270  **	stnt1d	z0\.d, p0, \[\1, x0\]
     271  **	ret
     272  */
     273  TEST_STORE_SCATTER_SZ (stnt1_scatter_u64_u64index, svuint64_t, uint64_t, svuint64_t,
     274  		       svstnt1_scatter_u64index_u64 (p0, x0, z1, z0),
     275  		       svstnt1_scatter_index (p0, x0, z1, z0))