1  /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
       2  
       3  #include "test_sve_acle.h"
       4  
       5  /*
       6  ** sli_0_u8_tied1:
       7  **	sli	z0\.b, z1\.b, #0
       8  **	ret
       9  */
      10  TEST_UNIFORM_Z (sli_0_u8_tied1, svuint8_t,
      11  		z0 = svsli_n_u8 (z0, z1, 0),
      12  		z0 = svsli (z0, z1, 0))
      13  
      14  /* Bad RA choice: no preferred output sequence.  */
      15  TEST_UNIFORM_Z (sli_0_u8_tied2, svuint8_t,
      16  		z0 = svsli_n_u8 (z1, z0, 0),
      17  		z0 = svsli (z1, z0, 0))
      18  
      19  /*
      20  ** sli_0_u8_untied:
      21  **	mov	z0\.d, z1\.d
      22  **	sli	z0\.b, z2\.b, #0
      23  **	ret
      24  */
      25  TEST_UNIFORM_Z (sli_0_u8_untied, svuint8_t,
      26  		z0 = svsli_n_u8 (z1, z2, 0),
      27  		z0 = svsli (z1, z2, 0))
      28  
      29  /*
      30  ** sli_1_u8_tied1:
      31  **	sli	z0\.b, z1\.b, #1
      32  **	ret
      33  */
      34  TEST_UNIFORM_Z (sli_1_u8_tied1, svuint8_t,
      35  		z0 = svsli_n_u8 (z0, z1, 1),
      36  		z0 = svsli (z0, z1, 1))
      37  
      38  /* Bad RA choice: no preferred output sequence.  */
      39  TEST_UNIFORM_Z (sli_1_u8_tied2, svuint8_t,
      40  		z0 = svsli_n_u8 (z1, z0, 1),
      41  		z0 = svsli (z1, z0, 1))
      42  
      43  /*
      44  ** sli_1_u8_untied:
      45  **	mov	z0\.d, z1\.d
      46  **	sli	z0\.b, z2\.b, #1
      47  **	ret
      48  */
      49  TEST_UNIFORM_Z (sli_1_u8_untied, svuint8_t,
      50  		z0 = svsli_n_u8 (z1, z2, 1),
      51  		z0 = svsli (z1, z2, 1))
      52  
      53  /*
      54  ** sli_7_u8_tied1:
      55  **	sli	z0\.b, z1\.b, #7
      56  **	ret
      57  */
      58  TEST_UNIFORM_Z (sli_7_u8_tied1, svuint8_t,
      59  		z0 = svsli_n_u8 (z0, z1, 7),
      60  		z0 = svsli (z0, z1, 7))
      61  
      62  /* Bad RA choice: no preferred output sequence.  */
      63  TEST_UNIFORM_Z (sli_7_u8_tied2, svuint8_t,
      64  		z0 = svsli_n_u8 (z1, z0, 7),
      65  		z0 = svsli (z1, z0, 7))
      66  
      67  /*
      68  ** sli_7_u8_untied:
      69  **	mov	z0\.d, z1\.d
      70  **	sli	z0\.b, z2\.b, #7
      71  **	ret
      72  */
      73  TEST_UNIFORM_Z (sli_7_u8_untied, svuint8_t,
      74  		z0 = svsli_n_u8 (z1, z2, 7),
      75  		z0 = svsli (z1, z2, 7))