// REQUIRES: riscv-registered-target // RUN: %clang_cc1 -triple riscv64 -target-feature +zvknha %s -fsyntax-only -verify #include // 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); }