mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-20 18:08:24 +08:00
RISC-V: Prefetch hint instructions and operand set
This commit adds 'Zicbop' hint instructions. bfd/ChangeLog: * elfxx-riscv.c (riscv_multi_subset_supports): Add handling for new instruction class. gas/ChangeLog: * config/tc-riscv.c (riscv_ip): Add handling for new operand type 'f' (32-byte aligned pseudo S-type immediate for prefetch hints). (validate_riscv_insn): Likewise. include/ChangeLog: * opcode/riscv-opc.h (MATCH_PREFETCH_I, MASK_PREFETCH_I, MATCH_PREFETCH_R, MASK_PREFETCH_R, MATCH_PREFETCH_W, MASK_PREFETCH_W): New macros. * opcode/riscv.h (enum riscv_insn_class): Add new instruction class INSN_CLASS_ZICBOP. opcodes/ChangeLog: * riscv-dis.c (print_insn_args): Add handling for new operand type. * riscv-opc.c (riscv_opcodes): Add prefetch hint instructions.
This commit is contained in:
@ -2029,6 +2029,13 @@
|
||||
#define MASK_HSV_W 0xfe007fff
|
||||
#define MATCH_HSV_D 0x6e004073
|
||||
#define MASK_HSV_D 0xfe007fff
|
||||
/* Zicbop hint instructions. */
|
||||
#define MATCH_PREFETCH_I 0x6013
|
||||
#define MASK_PREFETCH_I 0x1f07fff
|
||||
#define MATCH_PREFETCH_R 0x106013
|
||||
#define MASK_PREFETCH_R 0x1f07fff
|
||||
#define MATCH_PREFETCH_W 0x306013
|
||||
#define MASK_PREFETCH_W 0x1f07fff
|
||||
/* Unprivileged Counter/Timers CSR addresses. */
|
||||
#define CSR_CYCLE 0xc00
|
||||
#define CSR_TIME 0xc01
|
||||
|
@ -388,6 +388,7 @@ enum riscv_insn_class
|
||||
INSN_CLASS_V,
|
||||
INSN_CLASS_ZVEF,
|
||||
INSN_CLASS_SVINVAL,
|
||||
INSN_CLASS_ZICBOP,
|
||||
};
|
||||
|
||||
/* This structure holds information for a particular instruction. */
|
||||
|
Reference in New Issue
Block a user