diff options
Diffstat (limited to 'rtl/core/decode/data.sv')
| -rw-r--r-- | rtl/core/decode/data.sv | 11 |
1 files changed, 10 insertions, 1 deletions
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; |
