[PATCH] D117432: [RISCV] Implement support for the Zicbom and Zicboz extensions

Alex Bradbury via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Jan 16 08:29:53 PST 2022


asb created this revision.
asb added reviewers: craig.topper, kito-cheng, luismarques.
Herald added subscribers: VincentWu, luke957, achieveartificialintelligence, StephenFan, vkmr, frasercrmck, evandro, apazos, sameer.abuasal, s.egerton, Jim, benna, psnobl, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, edward-jones, zzheng, jrtc27, niosHD, sabuasal, simoncook, johnrusso, rbar, hiraditya.
asb requested review of this revision.
Herald added subscribers: alextsao1999, MaskRay.
Herald added a project: LLVM.

Implements the ratified RISC-V Base Cache Management Operation ISA
Extensions: Zicbom and Zicboz, as described in
https://github.com/riscv/riscv-CMOs/blob/master/specifications/cmobase-v1.0.pdf.

Zicbop is implemented in a separate patch due to it requiring a new ASM
operand type to be defined.

The register operand to the cbo.* instructions doesn't have parentheses
in this implementation (which aligns with the choice made in the
patches to add these instructions to binutils). However, there is an
argument for putting parentheses around the register operand as is done
for the atomic memory ops.
https://github.com/riscv/riscv-CMOs/issues/47 is the upstream issue
tracking this.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D117432

Files:
  llvm/lib/Support/RISCVISAInfo.cpp
  llvm/lib/Target/RISCV/RISCV.td
  llvm/lib/Target/RISCV/RISCVInstrInfo.td
  llvm/lib/Target/RISCV/RISCVInstrInfoZicbo.td
  llvm/lib/Target/RISCV/RISCVSubtarget.h
  llvm/test/MC/RISCV/rv32zicbom-invalid.s
  llvm/test/MC/RISCV/rv32zicbom-valid.s
  llvm/test/MC/RISCV/rv32zicboz-invalid.s
  llvm/test/MC/RISCV/rv32zicboz-valid.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D117432.400388.patch
Type: text/x-patch
Size: 9397 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220116/afb730dc/attachment.bin>


More information about the llvm-commits mailing list