Browse Source

Fix exception priority for RV32E JAL/JALR

pull/1783/head
Andrew Waterman 2 years ago
parent
commit
73bc67839a
  1. 1
      riscv/decode_macros.h
  2. 1
      riscv/insns/jal.h
  3. 1
      riscv/insns/jalr.h

1
riscv/decode_macros.h

@ -22,6 +22,7 @@
#define RS2 READ_REG(insn.rs2())
#define RS3 READ_REG(insn.rs3())
#define WRITE_RD(value) WRITE_REG(insn.rd(), value)
#define CHECK_RD() CHECK_REG(insn.rd())
/* 0 : int
* 1 : floating

1
riscv/insns/jal.h

@ -1,3 +1,4 @@
CHECK_RD();
reg_t tmp = npc;
set_pc(JUMP_TARGET);
WRITE_RD(tmp);

1
riscv/insns/jalr.h

@ -1,3 +1,4 @@
CHECK_RD();
reg_t tmp = npc;
set_pc((RS1 + insn.i_imm()) & ~reg_t(1));
WRITE_RD(tmp);

Loading…
Cancel
Save