Browse Source
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.gdb-12-branch
committed by
Nelson Chu
11 changed files with 63 additions and 0 deletions
@ -0,0 +1,3 @@ |
|||
#as: -march=rv64g_zicbop |
|||
#source: zicbop-fail.s |
|||
#error_output: zicbop-fail.l |
|||
@ -0,0 +1,4 @@ |
|||
.*: Assembler messages: |
|||
.*: Error: improper prefetch offset \(2048\) |
|||
.*: Error: improper prefetch offset \(-2080\) |
|||
.*: Error: improper prefetch offset \(255\) |
|||
@ -0,0 +1,4 @@ |
|||
target: |
|||
prefetch.i 2048(x1) |
|||
prefetch.r -0x820(x16) |
|||
prefetch.w +0xff(x31) |
|||
@ -0,0 +1,12 @@ |
|||
#as: -march=rv64g_zicbop |
|||
#source: zicbop.s |
|||
#objdump: -dr |
|||
|
|||
.*:[ ]+file format .* |
|||
|
|||
Disassembly of section .text: |
|||
|
|||
0+000 <target>: |
|||
[ ]+[0-9a-f]+:[ ]+0200e013[ ]+prefetch\.i[ ]+32\(ra\) |
|||
[ ]+[0-9a-f]+:[ ]+80186013[ ]+prefetch\.r[ ]+-2048\(a6\) |
|||
[ ]+[0-9a-f]+:[ ]+7e3fe013[ ]+prefetch\.w[ ]+2016\(t6\) |
|||
@ -0,0 +1,4 @@ |
|||
target: |
|||
prefetch.i 0x20(x1) |
|||
prefetch.r -2048(x16) |
|||
prefetch.w +0x7e0(x31) |
|||
Loading…
Reference in new issue