projects
/
riscv-isa-sim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
New RV64C proposal
[riscv-isa-sim.git]
/
riscv
/
insns
/
c_addi.h
diff --git
a/riscv/insns/c_addi.h
b/riscv/insns/c_addi.h
index ad278f14d310bd2a9c0ea186c8a8ac923d86643c..cea2a1812e3fe8aaa2729489e153864cb40951f6 100644
(file)
--- a/
riscv/insns/c_addi.h
+++ b/
riscv/insns/c_addi.h
@@
-1,2
+1,7
@@
require_extension('C');
require_extension('C');
-WRITE_RD(sext_xlen(RVC_RS2 + insn.rvc_imm()));
+if (insn.rvc_rd() == 0) { // c.addi16sp
+ WRITE_REG(X_SP, sext_xlen(RVC_SP + insn.rvc_addi16sp_imm()));
+} else {
+ require(insn.rvc_imm() != 0);
+ WRITE_RD(sext_xlen(RVC_RS1 + insn.rvc_imm()));
+}