Do the +4 in a single place. This shouldn't cause any difference
in behaviour as these are sequential variable assignments.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
if stall_in = '0' then
v.nia := r_int.nia_next;
- v_int.nia_next := std_logic_vector(unsigned(r_int.nia_next) + 4);
end if;
if e_in.redirect = '1' then
v.nia := e_in.redirect_nia;
- v_int.nia_next := std_logic_vector(unsigned(e_in.redirect_nia) + 4);
end if;
if rst = '1' then
v.nia := RESET_ADDRESS;
- v_int.nia_next := std_logic_vector(unsigned(RESET_ADDRESS) + 4);
end if;
+ v_int.nia_next := std_logic_vector(unsigned(v.nia) + 4);
+
-- Update registers
rin <= v;
rin_int <= v_int;