[clang] [llvm] [RISCV] Add support for vector registers with -fzero-call-used-regs (PR #206206)

Lucas Chollet via cfe-commits cfe-commits at lists.llvm.org
Sun Jun 28 04:14:25 PDT 2026


LucasChollet wrote:

> Not related to this but does the GPR code work with GPR pairs used f64 with Zdinx?

No yet -> #206323

> Need test with larger LMUL arguments.

Good catch, the current implementation doesn't work when LMUL > 1. I think I want to use the same approach as for GPRPair, so splitting V registers into there underlying physical regs for isUsed/IsArgumentRegister analysis.

Using this approach means that we would emit a `ClearVReg` for each physical V reg. I imagine that the pseudo expansion pass could be smart about them and merge some of these instructions by leveraging LMUL (as suggested [here](https://github.com/llvm/llvm-project/pull/206206#discussion_r3484752653)), but would that be required for landing this patch? Seems to me like an optimization that could be added later.

https://github.com/llvm/llvm-project/pull/206206


More information about the cfe-commits mailing list