blob: ce30612017307ca9db6b533d40de96107e1f31ba [file] [log] [blame] [edit]
// REQUIRES: riscv-registered-target
// RUN: %clang_cc1 -triple riscv64 -target-feature +zvknha %s -fsyntax-only -verify
#include <riscv_vector.h>
// expected-no-diagnostics
__attribute__((target("arch=+zvl128b")))
void test_zvk_features(vuint32m1_t vd, vuint32m1_t vs2, vuint32m1_t vs1, size_t vl) {
__riscv_vsha2ch_vv_u32m1(vd, vs2, vs1, vl);
}
__attribute__((target("arch=+v,+zvkn")))
vuint32m4_t testcase1(vuint32m4_t pt, vuint32m1_t rk, size_t vl)
{
return __riscv_vaesz_vs_u32m1_u32m4(pt, rk, vl);
}
__attribute__((target("arch=+v,+zvknc")))
vuint32m4_t testcase2(vuint32m4_t pt, vuint32m1_t rk, size_t vl)
{
return __riscv_vaesz_vs_u32m1_u32m4(pt, rk, vl);
}
__attribute__((target("arch=+v,+zvkned")))
vuint32m4_t testcase3(vuint32m4_t pt, vuint32m1_t rk, size_t vl)
{
return __riscv_vaesz_vs_u32m1_u32m4(pt, rk, vl);
}
__attribute__((target("arch=+v,+zvkng")))
vuint32m4_t testcase4(vuint32m4_t pt, vuint32m1_t rk, size_t vl)
{
return __riscv_vaesz_vs_u32m1_u32m4(pt, rk, vl);
}