summaryrefslogtreecommitdiff
path: root/opcodes-rvc
blob: 36dcdd4be523489d2e8a8233904815ed6fb109ca (plain)
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
27
28
29
30
31
32
33
34
35
36
37
# compressed instructions

# C0 encoding space
c.mv      1..0=0 15..13=0 12=0      11..2=ignore
c.add     1..0=0 15..13=0 12=1      11..2=ignore # c.ebreak when rd=0, rs2=0
c.srai    1..0=0 15..13=1 12=ignore 11..2=ignore
c.sw      1..0=0 15..13=2 12=ignore 11..2=ignore
c.sd      1..0=0 15..13=3 12=ignore 11..2=ignore
c.sub     1..0=0 15..13=4 12=0      11..2=ignore
c.addw    1..0=0 15..13=4 12=1      11..2=ignore
c.add3    1..0=0 15..13=5 12..7=ignore 6..5=0 4..2=ignore
c.sub3    1..0=0 15..13=5 12..7=ignore 6..5=1 4..2=ignore
c.or3     1..0=0 15..13=5 12..7=ignore 6..5=2 4..2=ignore
c.and3    1..0=0 15..13=5 12..7=ignore 6..5=3 4..2=ignore
c.lw      1..0=0 15..13=6 12=ignore 11..2=ignore
c.ld      1..0=0 15..13=7 12=ignore 11..2=ignore


# C1 encoding space
c.slli     1..0=1 15..13=0 12=ignore 11..2=ignore
c.srli     1..0=1 15..13=1 12=ignore 11..2=ignore
c.swsp     1..0=1 15..13=2 12=ignore 11..2=ignore
c.sdsp     1..0=1 15..13=3 12=ignore 11..2=ignore
c.slliw    1..0=1 15..13=4 12=ignore 11..2=ignore
c.addi4spn 1..0=1 15..13=5 12=ignore 11..2=ignore
c.lwsp     1..0=1 15..13=6 12=ignore 11..2=ignore
c.ldsp     1..0=1 15..13=7 12=ignore 11..2=ignore

# C2 encoding space
c.j        1..0=2 15..13=0 12=ignore 11..2=ignore
c.jal      1..0=2 15..13=1 12=ignore 11..2=ignore
c.beqz     1..0=2 15..13=2 12=ignore 11..2=ignore
c.bnez     1..0=2 15..13=3 12=ignore 11..2=ignore
c.li       1..0=2 15..13=4 12=ignore 11..2=ignore # c.jr when simm=0
c.lui      1..0=2 15..13=5 12=ignore 11..2=ignore # c.jalr when simm=0
c.addi     1..0=2 15..13=6 12=ignore 11..2=ignore # c.addi16sp when rd=0
c.addiw    1..0=2 15..13=7 12=ignore 11..2=ignore