The following example is problematic:
The RISC-V Extension RVC is the combination of Zca, Zcd and Zcf. As there is no way to import instructions from other InstructionSets or something similar this inevitably leads to code duplication when you want to provide all of these.
Adding a feature that allows InstructionSets to import single instructions or even whole InstructionSets would solve this issue in an elegant way.
One case of this can be seen with the current Zc implementation vs. the current RVC implementation in the RISCV_ISA_CoreDSL repository.
The following example is problematic: The RISC-V Extension RVC is the combination of Zca, Zcd and Zcf. As there is no way to import instructions from other InstructionSets or something similar this inevitably leads to code duplication when you want to provide all of these.
Adding a feature that allows InstructionSets to import single instructions or even whole InstructionSets would solve this issue in an elegant way.
One case of this can be seen with the current Zc implementation vs. the current RVC implementation in the RISCV_ISA_CoreDSL repository.