[RISCV] Implement "B" bit-manipulation extension and WCH vendor-proprietary "XW" extension#7859
[RISCV] Implement "B" bit-manipulation extension and WCH vendor-proprietary "XW" extension#7859ArcaneNibble wants to merge 7 commits into
Conversation
These indicate to the linker that a relaxation _may_ be performed. This is an optimization which is not required. Silences log warnings.
These are single-bit bit-manipulation instructions.
These instructions assist with address-related computations.
These are "basic" bit-manipulation instructions which have a straightforward lifting to LLIL.
This includes a hardware-accelerated memory copy and custom compressed byte/halfword load/store instructions.
|
I added two follow-up commits on top of the original PR (after rebasing) - they can be found in the test_pr_7859 branch:
I also created two binaries so I could test/observe the lifting output for the new instruction support. The |
|
Your commits (with some changes) have been added in |
|
fwiw |
This PR implements support for the RISC-V
Bbit manipulation instructions, which are broken up intoZba,Zbb, andZbssub-features.If acceptable for upstream, it also implements proprietary opcodes from Nanjing Qinheng Microelectronics which are used in their microcontroller products. This is currently not able to be auto-detected from
.riscv.attributesand must be manually selected.Also fixes #7809