(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
riscv/
zknd64.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -march=rv64gc_zknd -mabi=lp64" } */
       3  /* { dg-skip-if "" { *-*-* } { "-g" "-flto"} } */
       4  
       5  #include <stdint-gcc.h>
       6  
       7  int64_t foo1(int64_t rs1, int64_t rs2)
       8  {
       9      return __builtin_riscv_aes64ds(rs1,rs2);
      10  }
      11  
      12  int64_t foo2(int64_t rs1, int64_t rs2)
      13  {
      14      return __builtin_riscv_aes64dsm(rs1,rs2);
      15  }
      16  
      17  int64_t foo3(int64_t rs1, int rnum)
      18  {
      19      return __builtin_riscv_aes64ks1i(rs1,rnum);
      20  }
      21  
      22  int64_t foo4(int64_t rs1, int64_t rs2)
      23  {
      24      return __builtin_riscv_aes64ks2(rs1,rs2);
      25  }
      26  
      27  int64_t foo5(int64_t rs1)
      28  {
      29      return __builtin_riscv_aes64im(rs1);
      30  }
      31  
      32  /* { dg-final { scan-assembler-times "aes64ds\t" 1 } } */
      33  /* { dg-final { scan-assembler-times "aes64dsm" 1 } } */
      34  /* { dg-final { scan-assembler-times "aes64ks1i" 1 } } */
      35  /* { dg-final { scan-assembler-times "aes64ks2" 1 } } */
      36  /* { dg-final { scan-assembler-times "aes64im" 1 } } */