RISC-V: Cache management instructions
authorTsukasa OI <research_trasio@irq.a4lg.com>
Tue, 11 Jan 2022 10:14:02 +0000 (19:14 +0900)
committerNelson Chu <nelson.chu@sifive.com>
Fri, 18 Mar 2022 07:32:22 +0000 (15:32 +0800)
commit41d6ac5da655a2e78109848f2db47e53552fd61a
tree2d6c789b0169492700e80edbde84342c9c4bb68c
parent3b374308d3006407b9571e573e4ccce4e904a4c4
RISC-V: Cache management instructions

This commit adds 'Zicbom' / 'Zicboz' instructions.

bfd/ChangeLog:

* elfxx-riscv.c (riscv_multi_subset_supports): Add handling for
new instruction classes.

include/ChangeLog:

* opcode/riscv-opc.h (MATCH_CBO_CLEAN, MASK_CBO_CLEAN,
MATCH_CBO_FLUSH, MASK_CBO_FLUSH, MATCH_CBO_INVAL,
MASK_CBO_INVAL, MATCH_CBO_ZERO, MASK_CBO_ZERO): New macros.
* opcode/riscv.h (enum riscv_insn_class): Add new instruction
classes INSN_CLASS_ZICBOM and INSN_CLASS_ZICBOZ.

opcodes/ChangeLog:

* riscv-opc.c (riscv_opcodes): Add cache-block management
instructions.
14 files changed:
bfd/elfxx-riscv.c
gas/testsuite/gas/riscv/zicbom-fail.d [new file with mode: 0644]
gas/testsuite/gas/riscv/zicbom-fail.l [new file with mode: 0644]
gas/testsuite/gas/riscv/zicbom-fail.s [new file with mode: 0644]
gas/testsuite/gas/riscv/zicbom.d [new file with mode: 0644]
gas/testsuite/gas/riscv/zicbom.s [new file with mode: 0644]
gas/testsuite/gas/riscv/zicboz-fail.d [new file with mode: 0644]
gas/testsuite/gas/riscv/zicboz-fail.l [new file with mode: 0644]
gas/testsuite/gas/riscv/zicboz-fail.s [new file with mode: 0644]
gas/testsuite/gas/riscv/zicboz.d [new file with mode: 0644]
gas/testsuite/gas/riscv/zicboz.s [new file with mode: 0644]
include/opcode/riscv-opc.h
include/opcode/riscv.h
opcodes/riscv-opc.c