(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
sve2/
acle/
asm/
ldnt1uh_gather_u32.c
       1  /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" { target { ! ilp32 } } } } */
       2  
       3  #include "test_sve_acle.h"
       4  
       5  /*
       6  ** ldnt1uh_gather_u32_tied1:
       7  **	ldnt1h	z0\.s, p0/z, \[z0\.s\]
       8  **	ret
       9  */
      10  TEST_LOAD_GATHER_ZS (ldnt1uh_gather_u32_tied1, svuint32_t, svuint32_t,
      11  		     z0_res = svldnt1uh_gather_u32base_u32 (p0, z0),
      12  		     z0_res = svldnt1uh_gather_u32 (p0, z0))
      13  
      14  /*
      15  ** ldnt1uh_gather_u32_untied:
      16  **	ldnt1h	z0\.s, p0/z, \[z1\.s\]
      17  **	ret
      18  */
      19  TEST_LOAD_GATHER_ZS (ldnt1uh_gather_u32_untied, svuint32_t, svuint32_t,
      20  		     z0_res = svldnt1uh_gather_u32base_u32 (p0, z1),
      21  		     z0_res = svldnt1uh_gather_u32 (p0, z1))
      22  
      23  /*
      24  ** ldnt1uh_gather_x0_u32_offset:
      25  **	ldnt1h	z0\.s, p0/z, \[z0\.s, x0\]
      26  **	ret
      27  */
      28  TEST_LOAD_GATHER_ZS (ldnt1uh_gather_x0_u32_offset, svuint32_t, svuint32_t,
      29  		     z0_res = svldnt1uh_gather_u32base_offset_u32 (p0, z0, x0),
      30  		     z0_res = svldnt1uh_gather_offset_u32 (p0, z0, x0))
      31  
      32  /*
      33  ** ldnt1uh_gather_m2_u32_offset:
      34  **	mov	(x[0-9]+), #?-2
      35  **	ldnt1h	z0\.s, p0/z, \[z0\.s, \1\]
      36  **	ret
      37  */
      38  TEST_LOAD_GATHER_ZS (ldnt1uh_gather_m2_u32_offset, svuint32_t, svuint32_t,
      39  		     z0_res = svldnt1uh_gather_u32base_offset_u32 (p0, z0, -2),
      40  		     z0_res = svldnt1uh_gather_offset_u32 (p0, z0, -2))
      41  
      42  /*
      43  ** ldnt1uh_gather_0_u32_offset:
      44  **	ldnt1h	z0\.s, p0/z, \[z0\.s\]
      45  **	ret
      46  */
      47  TEST_LOAD_GATHER_ZS (ldnt1uh_gather_0_u32_offset, svuint32_t, svuint32_t,
      48  		     z0_res = svldnt1uh_gather_u32base_offset_u32 (p0, z0, 0),
      49  		     z0_res = svldnt1uh_gather_offset_u32 (p0, z0, 0))
      50  
      51  /*
      52  ** ldnt1uh_gather_5_u32_offset:
      53  **	mov	(x[0-9]+), #?5
      54  **	ldnt1h	z0\.s, p0/z, \[z0\.s, \1\]
      55  **	ret
      56  */
      57  TEST_LOAD_GATHER_ZS (ldnt1uh_gather_5_u32_offset, svuint32_t, svuint32_t,
      58  		     z0_res = svldnt1uh_gather_u32base_offset_u32 (p0, z0, 5),
      59  		     z0_res = svldnt1uh_gather_offset_u32 (p0, z0, 5))
      60  
      61  /*
      62  ** ldnt1uh_gather_6_u32_offset:
      63  **	mov	(x[0-9]+), #?6
      64  **	ldnt1h	z0\.s, p0/z, \[z0\.s, \1\]
      65  **	ret
      66  */
      67  TEST_LOAD_GATHER_ZS (ldnt1uh_gather_6_u32_offset, svuint32_t, svuint32_t,
      68  		     z0_res = svldnt1uh_gather_u32base_offset_u32 (p0, z0, 6),
      69  		     z0_res = svldnt1uh_gather_offset_u32 (p0, z0, 6))
      70  
      71  /*
      72  ** ldnt1uh_gather_62_u32_offset:
      73  **	mov	(x[0-9]+), #?62
      74  **	ldnt1h	z0\.s, p0/z, \[z0\.s, \1\]
      75  **	ret
      76  */
      77  TEST_LOAD_GATHER_ZS (ldnt1uh_gather_62_u32_offset, svuint32_t, svuint32_t,
      78  		     z0_res = svldnt1uh_gather_u32base_offset_u32 (p0, z0, 62),
      79  		     z0_res = svldnt1uh_gather_offset_u32 (p0, z0, 62))
      80  
      81  /*
      82  ** ldnt1uh_gather_64_u32_offset:
      83  **	mov	(x[0-9]+), #?64
      84  **	ldnt1h	z0\.s, p0/z, \[z0\.s, \1\]
      85  **	ret
      86  */
      87  TEST_LOAD_GATHER_ZS (ldnt1uh_gather_64_u32_offset, svuint32_t, svuint32_t,
      88  		     z0_res = svldnt1uh_gather_u32base_offset_u32 (p0, z0, 64),
      89  		     z0_res = svldnt1uh_gather_offset_u32 (p0, z0, 64))
      90  
      91  /*
      92  ** ldnt1uh_gather_x0_u32_index:
      93  **	lsl	(x[0-9]+), x0, #?1
      94  **	ldnt1h	z0\.s, p0/z, \[z0\.s, \1\]
      95  **	ret
      96  */
      97  TEST_LOAD_GATHER_ZS (ldnt1uh_gather_x0_u32_index, svuint32_t, svuint32_t,
      98  		     z0_res = svldnt1uh_gather_u32base_index_u32 (p0, z0, x0),
      99  		     z0_res = svldnt1uh_gather_index_u32 (p0, z0, x0))
     100  
     101  /*
     102  ** ldnt1uh_gather_m1_u32_index:
     103  **	mov	(x[0-9]+), #?-2
     104  **	ldnt1h	z0\.s, p0/z, \[z0\.s, \1\]
     105  **	ret
     106  */
     107  TEST_LOAD_GATHER_ZS (ldnt1uh_gather_m1_u32_index, svuint32_t, svuint32_t,
     108  		     z0_res = svldnt1uh_gather_u32base_index_u32 (p0, z0, -1),
     109  		     z0_res = svldnt1uh_gather_index_u32 (p0, z0, -1))
     110  
     111  /*
     112  ** ldnt1uh_gather_0_u32_index:
     113  **	ldnt1h	z0\.s, p0/z, \[z0\.s\]
     114  **	ret
     115  */
     116  TEST_LOAD_GATHER_ZS (ldnt1uh_gather_0_u32_index, svuint32_t, svuint32_t,
     117  		     z0_res = svldnt1uh_gather_u32base_index_u32 (p0, z0, 0),
     118  		     z0_res = svldnt1uh_gather_index_u32 (p0, z0, 0))
     119  
     120  /*
     121  ** ldnt1uh_gather_5_u32_index:
     122  **	mov	(x[0-9]+), #?10
     123  **	ldnt1h	z0\.s, p0/z, \[z0\.s, \1\]
     124  **	ret
     125  */
     126  TEST_LOAD_GATHER_ZS (ldnt1uh_gather_5_u32_index, svuint32_t, svuint32_t,
     127  		     z0_res = svldnt1uh_gather_u32base_index_u32 (p0, z0, 5),
     128  		     z0_res = svldnt1uh_gather_index_u32 (p0, z0, 5))
     129  
     130  /*
     131  ** ldnt1uh_gather_31_u32_index:
     132  **	mov	(x[0-9]+), #?62
     133  **	ldnt1h	z0\.s, p0/z, \[z0\.s, \1\]
     134  **	ret
     135  */
     136  TEST_LOAD_GATHER_ZS (ldnt1uh_gather_31_u32_index, svuint32_t, svuint32_t,
     137  		     z0_res = svldnt1uh_gather_u32base_index_u32 (p0, z0, 31),
     138  		     z0_res = svldnt1uh_gather_index_u32 (p0, z0, 31))
     139  
     140  /*
     141  ** ldnt1uh_gather_32_u32_index:
     142  **	mov	(x[0-9]+), #?64
     143  **	ldnt1h	z0\.s, p0/z, \[z0\.s, \1\]
     144  **	ret
     145  */
     146  TEST_LOAD_GATHER_ZS (ldnt1uh_gather_32_u32_index, svuint32_t, svuint32_t,
     147  		     z0_res = svldnt1uh_gather_u32base_index_u32 (p0, z0, 32),
     148  		     z0_res = svldnt1uh_gather_index_u32 (p0, z0, 32))
     149  
     150  /*
     151  ** ldnt1uh_gather_x0_u32_u32offset:
     152  **	ldnt1h	z0\.s, p0/z, \[z0\.s, x0\]
     153  **	ret
     154  */
     155  TEST_LOAD_GATHER_SZ (ldnt1uh_gather_x0_u32_u32offset, svuint32_t, uint16_t, svuint32_t,
     156  		     z0_res = svldnt1uh_gather_u32offset_u32 (p0, x0, z0),
     157  		     z0_res = svldnt1uh_gather_offset_u32 (p0, x0, z0))
     158  
     159  /*
     160  ** ldnt1uh_gather_tied1_u32_u32offset:
     161  **	ldnt1h	z0\.s, p0/z, \[z0\.s, x0\]
     162  **	ret
     163  */
     164  TEST_LOAD_GATHER_SZ (ldnt1uh_gather_tied1_u32_u32offset, svuint32_t, uint16_t, svuint32_t,
     165  		     z0_res = svldnt1uh_gather_u32offset_u32 (p0, x0, z0),
     166  		     z0_res = svldnt1uh_gather_offset_u32 (p0, x0, z0))
     167  
     168  /*
     169  ** ldnt1uh_gather_untied_u32_u32offset:
     170  **	ldnt1h	z0\.s, p0/z, \[z1\.s, x0\]
     171  **	ret
     172  */
     173  TEST_LOAD_GATHER_SZ (ldnt1uh_gather_untied_u32_u32offset, svuint32_t, uint16_t, svuint32_t,
     174  		     z0_res = svldnt1uh_gather_u32offset_u32 (p0, x0, z1),
     175  		     z0_res = svldnt1uh_gather_offset_u32 (p0, x0, z1))