RISCV Vector C Intrinsic function definitions

In order to use RISCV Vector’s C Intrinsic functions, I add the following line in my C code:


Acoording to my understanding , the RISCVVEmmiter.cpp located at : Clang/utils/TableGen/ generates riscv_vector.h file located at: llvm_build_dir/lib/clang/version/include/riscv_vector.h using the records generated from riscv_vector.td file. Also it is stated in comments at the top of RISCVVEmmiter.cp that:

//This tablegen backend is responsible for emitting riscv_vector.h which
// includes a declaration and definition of each intrinsic functions......

But when I open riscv_vector.h file, I cannot find definitions of all Intrinsic functions there. Only intrinsics for configuration instruction (vset{i}vl{i}) are defined there. Where are the definitions of other RVV C intrinsic functions. Am I missing something?


They’re mostly dynamically generated at run time by the #pragma clang riscv intrinsic vector near the top of the file.