Skip to content

riscv_CMOs_with_paren

Tsukasa OI edited this page Jul 16, 2022 · 1 revision

Extension: Zicbom, Zicbop and Zicboz

Feature Description

General

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.

With or Without Paren

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).

Clone this wiki locally