(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
riscv/
zknh-sha512-32.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -march=rv32gc_zknh -mabi=ilp32" } */
       3  /* { dg-skip-if "" { *-*-* } { "-g" "-flto"} } */
       4  
       5  #include <stdint-gcc.h>
       6  
       7  int32_t foo1(int32_t rs1, int32_t rs2)
       8  {
       9      return __builtin_riscv_sha512sig0h(rs1,rs2);
      10  }
      11  
      12  int32_t foo2(int32_t rs1, int32_t rs2)
      13  {
      14      return __builtin_riscv_sha512sig0l(rs1,rs2);
      15  }
      16  
      17  int32_t foo3(int32_t rs1, int32_t rs2)
      18  {
      19      return __builtin_riscv_sha512sig1h(rs1,rs2);
      20  }
      21  
      22  int32_t foo4(int32_t rs1, int32_t rs2)
      23  {
      24      return __builtin_riscv_sha512sig1l(rs1,rs2);
      25  }
      26  
      27  int32_t foo5(int32_t rs1, int32_t rs2)
      28  {
      29      return __builtin_riscv_sha512sum0r(rs1,rs2);
      30  }
      31  
      32  int32_t foo6(int32_t rs1, int32_t rs2)
      33  {
      34      return __builtin_riscv_sha512sum1r(rs1,rs2);
      35  }
      36  
      37  /* { dg-final { scan-assembler-times "sha512sig0h" 1 } } */
      38  /* { dg-final { scan-assembler-times "sha512sig0l" 1 } } */
      39  /* { dg-final { scan-assembler-times "sha512sig1h" 1 } } */
      40  /* { dg-final { scan-assembler-times "sha512sig1l" 1 } } */
      41  /* { dg-final { scan-assembler-times "sha512sum0r" 1 } } */
      42  /* { dg-final { scan-assembler-times "sha512sum1r" 1 } } */