diff --git a/riscv-c-api.md b/riscv-c-api.md index c2300f6..c149681 100644 --- a/riscv-c-api.md +++ b/riscv-c-api.md @@ -318,6 +318,19 @@ __attribute__((target("arch=+v"))) int foo(void) { return 0; } __attribute__((target("arch=+zbb"))) int foo(void) { return 1; } ``` +### riscv_vector_cc + +Supported Syntaxes: +| Style | Syntax | +| ------ | ----------------------------------- | +| GNU | `__attribute__((riscv_vector_cc)))` | +| C++11 | `[[riscv::vector_cc]]` | +| C23 | `[[riscv::vector_cc]]` | + +Functions declared with this attribute will use to the standard vector calling +convention variant as defined in the RISC-V psABI, even if the function has +vector arguments or a return value. + ## Intrinsic Functions Intrinsic functions (or intrinsics or built-ins) are expanded into instruction sequences by compilers.