From a5f329c88265a09674d47ef89db4ad2188c88636 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Sun, 31 May 2015 23:23:36 -0700 Subject: RVC v1.7 encoding --- opcodes-rvc | 55 ++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 34 insertions(+), 21 deletions(-) (limited to 'opcodes-rvc') diff --git a/opcodes-rvc b/opcodes-rvc index 720d1ba..36dcdd4 100644 --- a/opcodes-rvc +++ b/opcodes-rvc @@ -1,24 +1,37 @@ # compressed instructions -c.li 1..0=0 15..13=0 12=ignore 11..2=ignore -c.lui 1..0=0 15..13=1 12=ignore 11..2=ignore -c.addi 1..0=0 15..13=4 12=ignore 11..2=ignore -c.addiw 1..0=0 15..13=7 12=ignore 11..2=ignore -c.slli 1..0=0 15..13=6 12=ignore 11..2=ignore -c.addi4 1..0=0 15..13=5 12=ignore 11..2=ignore -c.mv 1..0=0 15..13=2 12=0 11..2=ignore -c.jalr 1..0=0 15..13=2 12=1 11..2=ignore -c.add 1..0=0 15..13=3 12=0 11..2=ignore -c.addw 1..0=0 15..13=3 12=1 11..2=ignore -c.lw 1..0=1 15..13=0 12=ignore 11..2=ignore -c.sw 1..0=1 15..13=2 12=ignore 11..2=ignore -c.ld 1..0=1 15..13=1 12=ignore 11..2=ignore -c.sd 1..0=1 15..13=3 12=ignore 11..2=ignore -c.lwsp 1..0=1 15..13=4 12=ignore 11..2=ignore -c.ldsp 1..0=1 15..13=6 12=ignore 11..2=ignore -c.swsp 1..0=1 15..13=5 12=ignore 11..2=ignore -c.sdsp 1..0=1 15..13=7 12=ignore 11..2=ignore +# 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 -c.beqz 1..0=2 15..13=1 12=ignore 11..2=ignore -c.bnez 1..0=2 15..13=3 12=ignore 11..2=ignore -c.j 1..0=2 15..13=5 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 -- cgit v1.2.3