forked from riscv/riscv-opcodes
-
Notifications
You must be signed in to change notification settings - Fork 0
/
opcodes-rvc-pseudo
26 lines (22 loc) · 1.2 KB
/
opcodes-rvc-pseudo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# these aren't really pseudo-ops, but they overlay other encodings,
# so they are here to prevent parse_opcodes from barfing
@c.nop 1..0=1 15..13=0 12=0 11..7=0 6..2=0
@c.addi16sp 1..0=1 15..13=3 12=ignore 11..7=2 6..2=ignore
@c.jr 1..0=2 15..13=4 12=0 11..7=ignore 6..2=0
@c.jalr 1..0=2 15..13=4 12=1 11..7=ignore 6..2=0
@c.ebreak 1..0=2 15..13=4 12=1 11..7=0 6..2=0
# RV32C
@c.srli.rv32 1..0=1 15..13=4 12=0 11..10=0 9..2=ignore
@c.srai.rv32 1..0=1 15..13=4 12=0 11..10=1 9..2=ignore
@c.slli.rv32 1..0=2 15..13=0 12=0 11..2=ignore
# RV64C
@c.ld 1..0=0 15..13=3 12=ignore 11..2=ignore # c.flw for RV32
@c.sd 1..0=0 15..13=7 12=ignore 11..2=ignore # c.fsw for RV32
@c.addiw 1..0=1 15..13=1 12=ignore 11..2=ignore # c.jal for RV32
@c.ldsp 1..0=2 15..13=3 12=ignore 11..2=ignore # c.flwsp for RV32
@c.sdsp 1..0=2 15..13=7 12=ignore 11..2=ignore # c.fswsp for RV32
# RV128C
@c.lq 1..0=0 15..13=1 12=ignore 11..2=ignore # c.fld for RV32/64
@c.sq 1..0=0 15..13=5 12=ignore 11..2=ignore # c.fsd for RV32/64
@c.lqsp 1..0=2 15..13=1 12=ignore 11..2=ignore # c.fldsp for RV32/64
@c.sqsp 1..0=2 15..13=5 12=ignore 11..2=ignore # c.fsdsp for RV32/64