always @(*)
case (insn[6:5])
`SHIFT_LSL: begin
+ /* meaningless */
is_rot = 1'b0;
is_arith = 1'b0;
end
if(!insn[4] && shift_amt[4:0] == 5'b0) begin /* RRX x.x */
res = {cflag_in, operand[31:1]};
cflag_out = operand[0];
- else
+ end else begin
res = rshift_res;
cflag_out = rshift_cout;
end
wire [32:0] stage1, stage2, stage3, stage4, stage5;
- wire pushbits = is_arith & operand[31];
+ wire pushbits = is_arith & oper[31];
/* do a barrel shift */
assign stage1 = amt[5] ? {is_rot ? oper : {32{pushbits}}, oper[31]} : {oper, carryin};