-
Notifications
You must be signed in to change notification settings - Fork 1
riscv_CMOs_with_paren
- Status: Merged for 2.39
- Branch:
riscv-CMOs-with-paren
- Tracking PR: none
- Mailing List:
- PATCH v1 (without paren) (2021-12-16)
- PATCH v2 (without paren) (2022-01-11)
- PATCH v1 (effectively PATCH v2 with paren) (2022-02-09)
This patchset adds support for three recently ratified RISC-V extensions:
-
Zicbom
(Cache-Block Management Instructions) -
Zicbop
(Cache-Block Prefetch hint instructions) -
Zicboz
(Cache-Block Zero Instructions)
prefetch.[irw]
hint instructions in Zicbop
extension require new operand type which is pseudo S-type immediate with low 5-bits set to zero (32-byte aligned). So, Zicbop
changes are separate from Zicbom
/Zicboz
.
In the original RISC-V CMO document (v1.0), it had no paren in an operand.
cbo.zero a0
However, there seems a proposal to change operand of cbo.* instructions on https://github.com/riscv/riscv-CMOs/issues/47.
cbo.zero (a0)
cbo.zero 0(a0) # only zero is allowed
I proposed both options on the GNU Binutils mailing list and ...surprisingly, a patchset with paren is merged without this change is approved in riscv-CMOs
.
Some RISC-V folks including me worked to resolve the situation and the RISC-V CMO document is changed to have a paren (in v1.0.1).