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  ** bdep_u8_tied1:
       9  **	bdep	z0\.b, z0\.b, z1\.b
      10  **	ret
      11  */
      12  TEST_UNIFORM_Z (bdep_u8_tied1, svuint8_t,
      13  		z0 = svbdep_u8 (z0, z1),
      14  		z0 = svbdep (z0, z1))
      15  
      16  /*
      17  ** bdep_u8_tied2:
      18  **	bdep	z0\.b, z1\.b, z0\.b
      19  **	ret
      20  */
      21  TEST_UNIFORM_Z (bdep_u8_tied2, svuint8_t,
      22  		z0 = svbdep_u8 (z1, z0),
      23  		z0 = svbdep (z1, z0))
      24  
      25  /*
      26  ** bdep_u8_untied:
      27  **	bdep	z0\.b, z1\.b, z2\.b
      28  **	ret
      29  */
      30  TEST_UNIFORM_Z (bdep_u8_untied, svuint8_t,
      31  		z0 = svbdep_u8 (z1, z2),
      32  		z0 = svbdep (z1, z2))
      33  
      34  /*
      35  ** bdep_w0_u8_tied1:
      36  **	mov	(z[0-9]+\.b), w0
      37  **	bdep	z0\.b, z0\.b, \1
      38  **	ret
      39  */
      40  TEST_UNIFORM_ZX (bdep_w0_u8_tied1, svuint8_t, uint8_t,
      41  		 z0 = svbdep_n_u8 (z0, x0),
      42  		 z0 = svbdep (z0, x0))
      43  
      44  /*
      45  ** bdep_w0_u8_untied:
      46  **	mov	(z[0-9]+\.b), w0
      47  **	bdep	z0\.b, z1\.b, \1
      48  **	ret
      49  */
      50  TEST_UNIFORM_ZX (bdep_w0_u8_untied, svuint8_t, uint8_t,
      51  		 z0 = svbdep_n_u8 (z1, x0),
      52  		 z0 = svbdep (z1, x0))
      53  
      54  /*
      55  ** bdep_11_u8_tied1:
      56  **	mov	(z[0-9]+\.b), #11
      57  **	bdep	z0\.b, z0\.b, \1
      58  **	ret
      59  */
      60  TEST_UNIFORM_Z (bdep_11_u8_tied1, svuint8_t,
      61  		z0 = svbdep_n_u8 (z0, 11),
      62  		z0 = svbdep (z0, 11))
      63  
      64  /*
      65  ** bdep_11_u8_untied:
      66  **	mov	(z[0-9]+\.b), #11
      67  **	bdep	z0\.b, z1\.b, \1
      68  **	ret
      69  */
      70  TEST_UNIFORM_Z (bdep_11_u8_untied, svuint8_t,
      71  		z0 = svbdep_n_u8 (z1, 11),
      72  		z0 = svbdep (z1, 11))