mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-16 14:45:06 +08:00
RISC-V: Add T-Head CMO vendor extension
T-Head has a range of vendor-specific instructions. Therefore it makes sense to group them into smaller chunks in form of vendor extensions. This patch adds the XTheadCmo extension, a collection of T-Head specific cache management operations. The 'th' prefix and the "XTheadCmo" extension are documented in a PR for the RISC-V toolchain conventions ([1]). In total XTheadCmo introduces the following 21 instructions: * DCACHE.{C,CI,I}ALL * DCACHE.{C,CI,I}{PA,VA,SW} rs1 * DCACHE.C{PAL1,VAL1} rs1 * ICACHE.I{ALL,ALLS} * ICACHE.I{PA,VA} rs1 * L2CACHE.{C,CI,I}ALL Contrary to Zicbom, the XTheadCmo instructions don't have a constant displacement, therefore we have a different syntax for the arguments. To clarify this is intended behaviour, there is a set of negative test for Zicbom-style arguments in x-thead-cmo-fail.s. [1] https://github.com/riscv-non-isa/riscv-toolchain-conventions/pull/19 v2: - Add missing DECLARE_INSN() list - Fix ordering Co-developed-by: Lifang Xia <lifang_xia@linux.alibaba.com> Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
This commit is contained in:

committed by
Philipp Tomsich

parent
fb1737381d
commit
a9ba8bc2d3
@ -398,6 +398,7 @@ enum riscv_insn_class
|
||||
INSN_CLASS_ZICBOP,
|
||||
INSN_CLASS_ZICBOZ,
|
||||
INSN_CLASS_H,
|
||||
INSN_CLASS_XTHEADCMO,
|
||||
};
|
||||
|
||||
/* This structure holds information for a particular instruction. */
|
||||
|
Reference in New Issue
Block a user