diff options
Diffstat (limited to 'riscv/insns/csrrw.h')
-rw-r--r-- | riscv/insns/csrrw.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/riscv/insns/csrrw.h b/riscv/insns/csrrw.h index 94793e2..3d1ea32 100644 --- a/riscv/insns/csrrw.h +++ b/riscv/insns/csrrw.h @@ -1,2 +1,4 @@ int csr = validate_csr(insn.csr(), true); -WRITE_RD(sext_xprlen(p->set_pcr(csr, RS1))); +reg_t old = p->get_pcr(csr); +p->set_pcr(csr, RS1); +WRITE_RD(sext_xprlen(old)); |