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  ** aesd_u8_tied1:
       9  **	aesd	z0\.b, z0\.b, z1\.b
      10  **	ret
      11  */
      12  TEST_UNIFORM_Z (aesd_u8_tied1, svuint8_t,
      13  		z0 = svaesd_u8 (z0, z1),
      14  		z0 = svaesd (z0, z1))
      15  
      16  /*
      17  ** aesd_u8_tied2:
      18  **	aesd	z0\.b, z0\.b, z1\.b
      19  **	ret
      20  */
      21  TEST_UNIFORM_Z (aesd_u8_tied2, svuint8_t,
      22  		z0 = svaesd_u8 (z1, z0),
      23  		z0 = svaesd (z1, z0))
      24  
      25  /*
      26  ** aesd_u8_untied:
      27  ** (
      28  **	mov	z0\.d, z1\.d
      29  **	aesd	z0\.b, z0\.b, z2\.b
      30  ** |
      31  **	aesd	z1\.b, z0\.b, z2\.b
      32  **	mov	z0\.d, z1\.d
      33  ** |
      34  **	mov	z0\.d, z2\.d
      35  **	aesd	z0\.b, z0\.b, z1\.b
      36  ** |
      37  **	aesd	z2\.b, z0\.b, z1\.b
      38  **	mov	z0\.d, z2\.d
      39  ** )
      40  **	ret
      41  */
      42  TEST_UNIFORM_Z (aesd_u8_untied, svuint8_t,
      43  		z0 = svaesd_u8 (z1, z2),
      44  		z0 = svaesd (z1, z2))