1  
       2  /* { dg-do compile } */
       3  /* { dg-options "-march=armv8-a+aes" } */
       4  
       5  #include "arm_neon.h"
       6  
       7  uint8x16_t
       8  test_vaeseq_u8 (uint8x16_t data, uint8x16_t key)
       9  {
      10    return vaeseq_u8 (data, key);
      11  }
      12  
      13  /* { dg-final { scan-assembler-times "aese\\tv\[0-9\]+\.16b, v\[0-9\]+\.16b" 1 } } */
      14  
      15  uint8x16_t
      16  test_vaesdq_u8 (uint8x16_t data, uint8x16_t key)
      17  {
      18    return vaesdq_u8 (data, key);
      19  }
      20  
      21  /* { dg-final { scan-assembler-times "aesd\\tv\[0-9\]+\.16b, v\[0-9\]+\.16b" 1 } } */
      22  
      23  uint8x16_t
      24  test_vaesmcq_u8 (uint8x16_t data)
      25  {
      26    return vaesmcq_u8 (data);
      27  }
      28  
      29  /* { dg-final { scan-assembler-times "aesmc\\tv\[0-9\]+\.16b, v\[0-9\]+\.16b" 1 } } */
      30  
      31  uint8x16_t
      32  test_vaesimcq_u8 (uint8x16_t data)
      33  {
      34    return vaesimcq_u8 (data);
      35  }
      36  
      37  /* { dg-final { scan-assembler-times "aesimc\\tv\[0-9\]+\.16b, v\[0-9\]+\.16b" 1 } } */
      38  
      39