aboutsummaryrefslogtreecommitdiff
path: root/opcodes-rvc
diff options
context:
space:
mode:
Diffstat (limited to 'opcodes-rvc')
-rw-r--r--opcodes-rvc11
1 files changed, 9 insertions, 2 deletions
diff --git a/opcodes-rvc b/opcodes-rvc
index af5dbff..64fc19a 100644
--- a/opcodes-rvc
+++ b/opcodes-rvc
@@ -1,5 +1,14 @@
# compressed instructions
+# 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
+
# C0 encoding space
c.addi4spn 1..0=0 15..13=0 12=ignore 11..2=ignore
c.fld 1..0=0 15..13=1 12=ignore 11..2=ignore # c.lq for RV128
@@ -21,8 +30,6 @@ c.sub 1..0=1 15..13=4 12=0 11..10=3 9..7=ignore 6..5=0 4..2=ignore
c.xor 1..0=1 15..13=4 12=0 11..10=3 9..7=ignore 6..5=1 4..2=ignore
c.or 1..0=1 15..13=4 12=0 11..10=3 9..7=ignore 6..5=2 4..2=ignore
c.and 1..0=1 15..13=4 12=0 11..10=3 9..7=ignore 6..5=3 4..2=ignore
-c.subw 1..0=1 15..13=4 12=1 11..10=3 9..7=ignore 6..5=0 4..2=ignore
-c.addw 1..0=1 15..13=4 12=1 11..10=3 9..7=ignore 6..5=1 4..2=ignore
c.j 1..0=1 15..13=5 12=ignore 11..2=ignore
c.beqz 1..0=1 15..13=6 12=ignore 11..2=ignore
c.bnez 1..0=1 15..13=7 12=ignore 11..2=ignore