summaryrefslogtreecommitdiff
path: root/rtl/core
diff options
context:
space:
mode:
Diffstat (limited to 'rtl/core')
-rw-r--r--rtl/core/control/select.sv4
1 files changed, 3 insertions, 1 deletions
diff --git a/rtl/core/control/select.sv b/rtl/core/control/select.sv
index 1ea2c31..0ab7bb2 100644
--- a/rtl/core/control/select.sv
+++ b/rtl/core/control/select.sv
@@ -29,7 +29,9 @@ module core_control_select
if(next_cycle.issue) begin
ra = dec.data.rn;
rb = dec.snd.r;
- end else if(next_cycle.transfer) begin
+ end else if(next_cycle.rd_indirect_shift)
+ rb = r_shift;
+ else if(next_cycle.transfer) begin
if(ldst_next)
// final_rd viene de dec.ldst.rd
rb = pop_valid ? popped : final_rd;