(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
sve2/
acle/
asm/
pmullt_pair_u64.c
       1  /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
       2  
       3  #include "test_sve_acle.h"
       4  
       5  #pragma GCC target "+sve2-aes"
       6  
       7  /*
       8  ** pmullt_pair_u64_tied1:
       9  **	pmullt	z0\.q, z0\.d, z1\.d
      10  **	ret
      11  */
      12  TEST_UNIFORM_Z (pmullt_pair_u64_tied1, svuint64_t,
      13  		z0 = svpmullt_pair_u64 (z0, z1),
      14  		z0 = svpmullt_pair (z0, z1))
      15  
      16  /*
      17  ** pmullt_pair_u64_tied2:
      18  **	pmullt	z0\.q, z1\.d, z0\.d
      19  **	ret
      20  */
      21  TEST_UNIFORM_Z (pmullt_pair_u64_tied2, svuint64_t,
      22  		z0 = svpmullt_pair_u64 (z1, z0),
      23  		z0 = svpmullt_pair (z1, z0))
      24  
      25  /*
      26  ** pmullt_pair_u64_untied:
      27  **	pmullt	z0\.q, z1\.d, z2\.d
      28  **	ret
      29  */
      30  TEST_UNIFORM_Z (pmullt_pair_u64_untied, svuint64_t,
      31  		z0 = svpmullt_pair_u64 (z1, z2),
      32  		z0 = svpmullt_pair (z1, z2))
      33  
      34  /*
      35  ** pmullt_pair_x0_u64_tied1:
      36  **	mov	(z[0-9]+\.d), x0
      37  **	pmullt	z0\.q, z0\.d, \1
      38  **	ret
      39  */
      40  TEST_UNIFORM_ZX (pmullt_pair_x0_u64_tied1, svuint64_t, uint64_t,
      41  		 z0 = svpmullt_pair_n_u64 (z0, x0),
      42  		 z0 = svpmullt_pair (z0, x0))
      43  
      44  /*
      45  ** pmullt_pair_x0_u64_untied:
      46  **	mov	(z[0-9]+\.d), x0
      47  **	pmullt	z0\.q, z1\.d, \1
      48  **	ret
      49  */
      50  TEST_UNIFORM_ZX (pmullt_pair_x0_u64_untied, svuint64_t, uint64_t,
      51  		 z0 = svpmullt_pair_n_u64 (z1, x0),
      52  		 z0 = svpmullt_pair (z1, x0))
      53  
      54  /*
      55  ** pmullt_pair_11_u64_tied1:
      56  **	mov	(z[0-9]+\.d), #11
      57  **	pmullt	z0\.q, z0\.d, \1
      58  **	ret
      59  */
      60  TEST_UNIFORM_Z (pmullt_pair_11_u64_tied1, svuint64_t,
      61  		z0 = svpmullt_pair_n_u64 (z0, 11),
      62  		z0 = svpmullt_pair (z0, 11))
      63  
      64  /*
      65  ** pmullt_pair_11_u64_untied:
      66  **	mov	(z[0-9]+\.d), #11
      67  **	pmullt	z0\.q, z1\.d, \1
      68  **	ret
      69  */
      70  TEST_UNIFORM_Z (pmullt_pair_11_u64_untied, svuint64_t,
      71  		z0 = svpmullt_pair_n_u64 (z1, 11),
      72  		z0 = svpmullt_pair (z1, 11))