(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
sve2/
acle/
asm/
tbx_s64.c
       1  /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
       2  
       3  #include "test_sve_acle.h"
       4  
       5  /*
       6  ** tbx_s64_tied1:
       7  **	tbx	z0\.d, z1\.d, z4\.d
       8  **	ret
       9  */
      10  TEST_DUAL_Z (tbx_s64_tied1, svint64_t, svuint64_t,
      11  	     z0 = svtbx_s64 (z0, z1, z4),
      12  	     z0 = svtbx (z0, z1, z4))
      13  
      14  /* Bad RA choice: no preferred output sequence.  */
      15  TEST_DUAL_Z (tbx_s64_tied2, svint64_t, svuint64_t,
      16  	     z0 = svtbx_s64 (z1, z0, z4),
      17  	     z0 = svtbx (z1, z0, z4))
      18  
      19  /* Bad RA choice: no preferred output sequence.  */
      20  TEST_DUAL_Z_REV (tbx_s64_tied3, svint64_t, svuint64_t,
      21  		 z0_res = svtbx_s64 (z4, z5, z0),
      22  		 z0_res = svtbx (z4, z5, z0))
      23  
      24  /*
      25  ** tbx_s64_untied:
      26  ** (
      27  **	mov	z0\.d, z1\.d
      28  **	tbx	z0\.d, z2\.d, z4\.d
      29  ** |
      30  **	tbx	z1\.d, z2\.d, z4\.d
      31  **	mov	z0\.d, z1\.d
      32  ** )
      33  **	ret
      34  */
      35  TEST_DUAL_Z (tbx_s64_untied, svint64_t, svuint64_t,
      36  	     z0 = svtbx_s64 (z1, z2, z4),
      37  	     z0 = svtbx (z1, z2, z4))