1  /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
       2  
       3  #include "test_sve_acle.h"
       4  
       5  /*
       6  ** adrd_u32base_s32index:
       7  **	adr	z0\.s, \[z0\.s, z1\.s, lsl 3\]
       8  **	ret
       9  */
      10  TEST_ADR (adrd_u32base_s32index, svuint32_t, svint32_t,
      11  	  z0 = svadrd_u32base_s32index (z0, z1),
      12  	  z0 = svadrd_index (z0, z1))
      13  
      14  /*
      15  ** adrd_u32base_u32index:
      16  **	adr	z0\.s, \[z0\.s, z1\.s, lsl 3\]
      17  **	ret
      18  */
      19  TEST_ADR (adrd_u32base_u32index, svuint32_t, svuint32_t,
      20  	  z0 = svadrd_u32base_u32index (z0, z1),
      21  	  z0 = svadrd_index (z0, z1))
      22  
      23  /*
      24  ** adrd_u64base_s64index:
      25  **	adr	z0\.d, \[z0\.d, z1\.d, lsl 3\]
      26  **	ret
      27  */
      28  TEST_ADR (adrd_u64base_s64index, svuint64_t, svint64_t,
      29  	  z0 = svadrd_u64base_s64index (z0, z1),
      30  	  z0 = svadrd_index (z0, z1))
      31  
      32  /*
      33  ** adrd_ext_u64base_s64index:
      34  **	adr	z0\.d, \[z0\.d, z1\.d, sxtw 3\]
      35  **	ret
      36  */
      37  TEST_ADR (adrd_ext_u64base_s64index, svuint64_t, svint64_t,
      38  	  z0 = svadrd_u64base_s64index (z0, svextw_s64_x (svptrue_b64 (), z1)),
      39  	  z0 = svadrd_index (z0, svextw_x (svptrue_b64 (), z1)))
      40  
      41  /*
      42  ** adrd_u64base_u64index:
      43  **	adr	z0\.d, \[z0\.d, z1\.d, lsl 3\]
      44  **	ret
      45  */
      46  TEST_ADR (adrd_u64base_u64index, svuint64_t, svuint64_t,
      47  	  z0 = svadrd_u64base_u64index (z0, z1),
      48  	  z0 = svadrd_index (z0, z1))
      49  
      50  /*
      51  ** adrd_ext_u64base_u64index:
      52  **	adr	z0\.d, \[z0\.d, z1\.d, uxtw 3\]
      53  **	ret
      54  */
      55  TEST_ADR (adrd_ext_u64base_u64index, svuint64_t, svuint64_t,
      56  	  z0 = svadrd_u64base_u64index (z0, svextw_u64_x (svptrue_b64 (), z1)),
      57  	  z0 = svadrd_index (z0, svextw_x (svptrue_b64 (), z1)))