aboutsummaryrefslogtreecommitdiff
path: root/riscv/insns/c_addi.h
diff options
context:
space:
mode:
authorAndrew Waterman <waterman@s141.Millennium.Berkeley.EDU>2011-04-24 16:35:13 -0700
committerAndrew Waterman <waterman@s141.Millennium.Berkeley.EDU>2011-04-24 16:35:13 -0700
commitd5518cd4d9804498204ce8e79ac04870f383966e (patch)
tree6a06d9c8e7bb805d16effd6b56d8343bb2018a4c /riscv/insns/c_addi.h
parentc0cd05e70b496598033134acd5e038502d3763f0 (diff)
downloadspike-d5518cd4d9804498204ce8e79ac04870f383966e.zip
spike-d5518cd4d9804498204ce8e79ac04870f383966e.tar.gz
spike-d5518cd4d9804498204ce8e79ac04870f383966e.tar.bz2
[xcc,sim,opcodes] added more RVC instructions
Diffstat (limited to 'riscv/insns/c_addi.h')
-rw-r--r--riscv/insns/c_addi.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/riscv/insns/c_addi.h b/riscv/insns/c_addi.h
index 4a5a0af..c716f69 100644
--- a/riscv/insns/c_addi.h
+++ b/riscv/insns/c_addi.h
@@ -1,2 +1,10 @@
require_rvc;
-CRD = sext_xprlen(CRS2 + CIMM6);
+if(CRD_REGNUM == 0)
+{
+ reg_t temp = npc;
+ npc = CRS1;
+ if(CIMM6 & 0x20)
+ RA = temp;
+}
+else
+ CRD = sext_xprlen(CRS2 + CIMM6);