1  /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
       2  
       3  #include "test_sve_acle.h"
       4  
       5  #pragma GCC target "+sve2-bitperm"
       6  
       7  /*
       8  ** bext_u16_tied1:
       9  **	bext	z0\.h, z0\.h, z1\.h
      10  **	ret
      11  */
      12  TEST_UNIFORM_Z (bext_u16_tied1, svuint16_t,
      13  		z0 = svbext_u16 (z0, z1),
      14  		z0 = svbext (z0, z1))
      15  
      16  /*
      17  ** bext_u16_tied2:
      18  **	bext	z0\.h, z1\.h, z0\.h
      19  **	ret
      20  */
      21  TEST_UNIFORM_Z (bext_u16_tied2, svuint16_t,
      22  		z0 = svbext_u16 (z1, z0),
      23  		z0 = svbext (z1, z0))
      24  
      25  /*
      26  ** bext_u16_untied:
      27  **	bext	z0\.h, z1\.h, z2\.h
      28  **	ret
      29  */
      30  TEST_UNIFORM_Z (bext_u16_untied, svuint16_t,
      31  		z0 = svbext_u16 (z1, z2),
      32  		z0 = svbext (z1, z2))
      33  
      34  /*
      35  ** bext_w0_u16_tied1:
      36  **	mov	(z[0-9]+\.h), w0
      37  **	bext	z0\.h, z0\.h, \1
      38  **	ret
      39  */
      40  TEST_UNIFORM_ZX (bext_w0_u16_tied1, svuint16_t, uint16_t,
      41  		 z0 = svbext_n_u16 (z0, x0),
      42  		 z0 = svbext (z0, x0))
      43  
      44  /*
      45  ** bext_w0_u16_untied:
      46  **	mov	(z[0-9]+\.h), w0
      47  **	bext	z0\.h, z1\.h, \1
      48  **	ret
      49  */
      50  TEST_UNIFORM_ZX (bext_w0_u16_untied, svuint16_t, uint16_t,
      51  		 z0 = svbext_n_u16 (z1, x0),
      52  		 z0 = svbext (z1, x0))
      53  
      54  /*
      55  ** bext_11_u16_tied1:
      56  **	mov	(z[0-9]+\.h), #11
      57  **	bext	z0\.h, z0\.h, \1
      58  **	ret
      59  */
      60  TEST_UNIFORM_Z (bext_11_u16_tied1, svuint16_t,
      61  		z0 = svbext_n_u16 (z0, 11),
      62  		z0 = svbext (z0, 11))
      63  
      64  /*
      65  ** bext_11_u16_untied:
      66  **	mov	(z[0-9]+\.h), #11
      67  **	bext	z0\.h, z1\.h, \1
      68  **	ret
      69  */
      70  TEST_UNIFORM_Z (bext_11_u16_untied, svuint16_t,
      71  		z0 = svbext_n_u16 (z1, 11),
      72  		z0 = svbext (z1, 11))