Source: gcc-snapshot riscv64 intrisincs are currently broken.
% cat t.c #include <riscv_vector.h> int main() { size_t vl = __riscv_vsetvlmax_e8mf8(); return vl; } Gives: g++ -march=rv64gcv1p0 t.c t.c: In function 'int main()': t.c:5:39: error: too few arguments to function 'long unsigned int __riscv_vsetvlmax_e8mf8(void)' 5 | size_t vl = __riscv_vsetvlmax_e8mf8(); | ~~~~~~~~~~~~~~~~~~~~~~~^~ In file included from t.c:1: /usr/lib/gcc-snapshot/lib/gcc/riscv64-linux-gnu/13/include/riscv_vector.h:94:25: note: declared here 94 | #pragma riscv intrinsic "vector" | ^~~~~~~~