(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
sve2/
acle/
asm/
bdep_u64.c
       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_u64_tied1:
       9  **	bdep	z0\.d, z0\.d, z1\.d
      10  **	ret
      11  */
      12  TEST_UNIFORM_Z (bdep_u64_tied1, svuint64_t,
      13  		z0 = svbdep_u64 (z0, z1),
      14  		z0 = svbdep (z0, z1))
      15  
      16  /*
      17  ** bdep_u64_tied2:
      18  **	bdep	z0\.d, z1\.d, z0\.d
      19  **	ret
      20  */
      21  TEST_UNIFORM_Z (bdep_u64_tied2, svuint64_t,
      22  		z0 = svbdep_u64 (z1, z0),
      23  		z0 = svbdep (z1, z0))
      24  
      25  /*
      26  ** bdep_u64_untied:
      27  **	bdep	z0\.d, z1\.d, z2\.d
      28  **	ret
      29  */
      30  TEST_UNIFORM_Z (bdep_u64_untied, svuint64_t,
      31  		z0 = svbdep_u64 (z1, z2),
      32  		z0 = svbdep (z1, z2))
      33  
      34  /*
      35  ** bdep_x0_u64_tied1:
      36  **	mov	(z[0-9]+\.d), x0
      37  **	bdep	z0\.d, z0\.d, \1
      38  **	ret
      39  */
      40  TEST_UNIFORM_ZX (bdep_x0_u64_tied1, svuint64_t, uint64_t,
      41  		 z0 = svbdep_n_u64 (z0, x0),
      42  		 z0 = svbdep (z0, x0))
      43  
      44  /*
      45  ** bdep_x0_u64_untied:
      46  **	mov	(z[0-9]+\.d), x0
      47  **	bdep	z0\.d, z1\.d, \1
      48  **	ret
      49  */
      50  TEST_UNIFORM_ZX (bdep_x0_u64_untied, svuint64_t, uint64_t,
      51  		 z0 = svbdep_n_u64 (z1, x0),
      52  		 z0 = svbdep (z1, x0))
      53  
      54  /*
      55  ** bdep_11_u64_tied1:
      56  **	mov	(z[0-9]+\.d), #11
      57  **	bdep	z0\.d, z0\.d, \1
      58  **	ret
      59  */
      60  TEST_UNIFORM_Z (bdep_11_u64_tied1, svuint64_t,
      61  		z0 = svbdep_n_u64 (z0, 11),
      62  		z0 = svbdep (z0, 11))
      63  
      64  /*
      65  ** bdep_11_u64_untied:
      66  **	mov	(z[0-9]+\.d), #11
      67  **	bdep	z0\.d, z1\.d, \1
      68  **	ret
      69  */
      70  TEST_UNIFORM_Z (bdep_11_u64_untied, svuint64_t,
      71  		z0 = svbdep_n_u64 (z1, 11),
      72  		z0 = svbdep (z1, 11))