diff --git a/execute1.vhdl b/execute1.vhdl index 32b0847..6b32cbe 100644 --- a/execute1.vhdl +++ b/execute1.vhdl @@ -507,27 +507,27 @@ begin -- rotator control signals if ( (e_in.insn_type = OP_SHR) ) then - right_shift <= '1'; + right_shift <= '1'; else - right_shift <= '0'; + right_shift <= '0'; end if; - if ( e_in.insn_type = OP_RLC ) then - rot_clear_left <= '1'; + if ( (e_in.insn_type = OP_RLC) or (e_in.insn_type = OP_RLCR) ) then + rot_clear_left <= '1'; else - rot_clear_left <= '0'; + rot_clear_left <= '0'; end if; if ( (e_in.insn_type = OP_RLC) or (e_in.insn_type = OP_RLCR) ) then - rot_clear_right <= '1'; + rot_clear_right <= '1'; else - rot_clear_right <= '0'; + rot_clear_right <= '0'; end if; if ( e_in.insn_type = OP_EXTSWSLI ) then - rot_sign_ext <= '1'; + rot_sign_ext <= '1'; else - rot_sign_ext <= '0'; + rot_sign_ext <= '0'; end if; ctrl_tmp.srr1 <= msr_copy(ctrl.msr);