Implement clearing-misa.C-while-PC-is-misaligned proposal
[riscv-isa-sim.git] / riscv / insns / csrrw.h
index fbccb77466a1808bd6c4bc6748f09435c71054c2..e45420b570bc52c8bd53e2aaaf893eb6db3b3607 100644 (file)
@@ -1,2 +1,5 @@
-int csr = validate_csr(insn.i_imm(), true);
-WRITE_RD(p->set_pcr(csr, RS1));
+int csr = validate_csr(insn.csr(), true);
+reg_t old = p->get_csr(csr);
+p->set_csr(csr, RS1);
+WRITE_RD(sext_xlen(old));
+serialize();