[RISCV] Implement support for the Zicbop extension
authorAlex Bradbury <asb@igalia.com>
Tue, 28 Jun 2022 10:24:21 +0000 (11:24 +0100)
committerAlex Bradbury <asb@igalia.com>
Tue, 28 Jun 2022 11:43:26 +0000 (12:43 +0100)
commit7bcfcabbd14e9cd51d150a36aee9edf4f4231724
tree70ac5ba2895170d1141a69e499af138837f4d504
parent4f40ca53cefb725aca6564585d0ec4836a79e21a
[RISCV] Implement support for the Zicbop extension

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

This is implemented in a separate patch to Zicbom and Zicboz due to it
requiring a new ASM operand type to be defined.

Differential Revision: https://reviews.llvm.org/D117433
14 files changed:
clang/test/Preprocessor/riscv-target-features.c
llvm/lib/Support/RISCVISAInfo.cpp
llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
llvm/lib/Target/RISCV/RISCV.td
llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
llvm/lib/Target/RISCV/RISCVInstrInfoZicbo.td
llvm/lib/Target/RISCV/RISCVSubtarget.h
llvm/test/CodeGen/RISCV/attributes.ll
llvm/test/MC/RISCV/attribute-arch.s
llvm/test/MC/RISCV/rv32zicbom-invalid.s
llvm/test/MC/RISCV/rv32zicbop-invalid.s [new file with mode: 0644]
llvm/test/MC/RISCV/rv32zicbop-valid.s [new file with mode: 0644]
llvm/test/MC/RISCV/rv32zicboz-invalid.s