From 1ca30fb3de058b9498f6a6bbc646b79978ece846 Mon Sep 17 00:00:00 2001 From: Alejandro Soto Date: Mon, 17 Oct 2022 01:25:42 -0600 Subject: Break false dependency on r0 for MOV/MVN --- rtl/core/decode/data.sv | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'rtl/core/decode/data.sv') diff --git a/rtl/core/decode/data.sv b/rtl/core/decode/data.sv index cb21f5e..103fb14 100644 --- a/rtl/core/decode/data.sv +++ b/rtl/core/decode/data.sv @@ -10,7 +10,8 @@ module core_decode_data snd_shift_by_reg_if_reg, writeback, update_flags, - restore_spsr + restore_spsr, + uses_rn ); alu_op op; @@ -35,6 +36,14 @@ module core_decode_data writeback = 1; endcase + unique case(op) + `ALU_MOV, `ALU_MVN: + uses_rn = 0; + + default: + uses_rn = 1; + endcase + update_flags = insn `FIELD_DATA_S; restore_spsr = (rd == `R15) & update_flags; -- cgit v1.2.3