1  /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
       2  
       3  #include "test_sve_acle.h"
       4  
       5  /*
       6  ** tbx_s8_tied1:
       7  **	tbx	z0\.b, z1\.b, z4\.b
       8  **	ret
       9  */
      10  TEST_DUAL_Z (tbx_s8_tied1, svint8_t, svuint8_t,
      11  	     z0 = svtbx_s8 (z0, z1, z4),
      12  	     z0 = svtbx (z0, z1, z4))
      13  
      14  /* Bad RA choice: no preferred output sequence.  */
      15  TEST_DUAL_Z (tbx_s8_tied2, svint8_t, svuint8_t,
      16  	     z0 = svtbx_s8 (z1, z0, z4),
      17  	     z0 = svtbx (z1, z0, z4))
      18  
      19  /* Bad RA choice: no preferred output sequence.  */
      20  TEST_DUAL_Z_REV (tbx_s8_tied3, svint8_t, svuint8_t,
      21  		 z0_res = svtbx_s8 (z4, z5, z0),
      22  		 z0_res = svtbx (z4, z5, z0))
      23  
      24  /*
      25  ** tbx_s8_untied:
      26  ** (
      27  **	mov	z0\.d, z1\.d
      28  **	tbx	z0\.b, z2\.b, z4\.b
      29  ** |
      30  **	tbx	z1\.b, z2\.b, z4\.b
      31  **	mov	z0\.d, z1\.d
      32  ** )
      33  **	ret
      34  */
      35  TEST_DUAL_Z (tbx_s8_untied, svint8_t, svuint8_t,
      36  	     z0 = svtbx_s8 (z1, z2, z4),
      37  	     z0 = svtbx (z1, z2, z4))