In the CC_RISCV_FastCC calling convention uses temporary registers to pass arguments. When this calling convention is used, all memory arguments are still implicitly passed via the stack even when bounded variadic/memory arguments are enabled.
However, the current implementation incorrectly clobbers a temporary register to hold the bounded variadic/memory arguments buffer when calling another function with fastcc.
In the
CC_RISCV_FastCCcalling convention uses temporary registers to pass arguments. When this calling convention is used, all memory arguments are still implicitly passed via the stack even when bounded variadic/memory arguments are enabled.However, the current implementation incorrectly clobbers a temporary register to hold the bounded variadic/memory arguments buffer when calling another function with fastcc.