1 /* { dg-do compile } */
2 /* { dg-options "-O2 -march=rv64gc_zknh -mabi=lp64" } */
3 /* { dg-skip-if "" { *-*-* } { "-g" "-flto"} } */
4
5 #include <stdint-gcc.h>
6
7 int64_t foo1(int64_t rs1)
8 {
9 return __builtin_riscv_sha512sig0(rs1);
10 }
11
12 int64_t foo2(int64_t rs1)
13 {
14 return __builtin_riscv_sha512sig1(rs1);
15 }
16
17 int64_t foo3(int64_t rs1)
18 {
19 return __builtin_riscv_sha512sum0(rs1);
20 }
21
22 int64_t foo4(int64_t rs1)
23 {
24 return __builtin_riscv_sha512sum1(rs1);
25 }
26
27
28 /* { dg-final { scan-assembler-times "sha512sig0" 1 } } */
29 /* { dg-final { scan-assembler-times "sha512sig1" 1 } } */
30 /* { dg-final { scan-assembler-times "sha512sum0" 1 } } */
31 /* { dg-final { scan-assembler-times "sha512sum1" 1 } } */