Hello to those working on RISCV,
As formerly discussed in riscv/riscv-crypto#81, we are currently implementing MC Layer of K extension for LLVM. While setting predicates property for instructions, we encountered the problem that the
Zkb feature sets are reusing part but not all instructions from
Zbc extensions, as shown in the image in the issue (the same image in attachment; asterisk “means the extensions are expected to be unchanged in the official version”).
By acknowledging that we cannot simply reuse the whole set of
Zbc instructions, this might require us to further group the instructions by modifying the definition file (
.td TableGen file) of B extension. This seems a bit invasive since it requires to rename things like
**HasStdExtZbbOrZbpOrZkb**, take instruction
ror for example.
This problem seems applies to both GCC and LLVM in a similar way and I am wondering whether this modification is acceptable, or are there any other ideas?
Qixing Xue (@ksyx)