On 12/9/24 1:56 AM, Kito Cheng wrote:
This patch set implements the proposal from riscv-c-api-doc[1].
It adds two constraints and one modifier with the goal of improving the user
experience for `.insn`, making it easier for users to experiment with new ISA
extensions.
A quick summary of this patch set:
- Add R constraint for even-odd pairs of general-purpose registers.
- Add cr and cf constraints for RVC-compatible registers.
- Add N modifier for the raw encoding of a register.
The c constraint and N modifier were already in use before, but only internally.
Therefore, I believe it is safe to rename them for broader use.
[1] https://github.com/riscv-non-isa/riscv-c-api-doc/pull/92
Kito Cheng (5):
RISC-V: Rename constraint c0* to k0*
RISC-V: Add cr and cf constraint
RISC-V Rename internal operand modifier N to n
RISC-V: Implment N modifier for printing the register number rather
than the register name
RISC-V: Add new constraint R for register even-odd pairs
If this had been posted a month ago it would be a no-brainer OK.
My worry at this stage is about renaming the existing constraints/output
modifiers and the possibility missing a case where they need to be changed.
I won't object as I think the risk is relatively slow, but I really wish
we'd done this a month ago or didn't do the renaming of existing
constraints and output modifiers.
jeff