From: Andrew Waterman Date: Mon, 27 Dec 2010 22:28:45 +0000 (-0800) Subject: [sim] cleaned up handling of link register X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=53e36319bc38b17d1cc98037322391f0606e8239;p=riscv-isa-sim.git [sim] cleaned up handling of link register --- diff --git a/riscv/decode.h b/riscv/decode.h index 903eef5..189e184 100644 --- a/riscv/decode.h +++ b/riscv/decode.h @@ -173,6 +173,7 @@ private: #define RS1 R[insn.rtype.rs1] #define RS2 R[insn.rtype.rs2] #define RD do_writeback(R,insn.rtype.rd) +#define RA do_writeback(R,1) #define FRS1 FR[insn.ftype.rs1] #define FRS2 FR[insn.ftype.rs2] #define FRS3 FR[insn.ftype.rs3] diff --git a/riscv/insns/jal.h b/riscv/insns/jal.h index 7a70307..bca7241 100644 --- a/riscv/insns/jal.h +++ b/riscv/insns/jal.h @@ -1,2 +1,2 @@ -R[1] = npc; +RA = npc; npc = JUMP_TARGET;