Commit c4aaba92 authored by Jovanovic, Petar's avatar Jovanovic, Petar Committed by Aurelien Jarno
Browse files

target-mips: Make repl_ph to sign extend to target-long



The immediate value is 9bits, should sign-extend to 16bits. The return value to
register should sign-extend to target_long, as Richard says, removing an
unnecessary cast works fun.

Signed-off-by: default avatarDongxue Zhang <elta.era@gmail.com>
Signed-off-by: default avatarAurelien Jarno <aurelien@aurel32.net>
parent fe65a1fa
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -13769,9 +13769,10 @@ static void gen_mipsdsp_bitinsn(CPUMIPSState *env, DisasContext *ctx,
            check_dsp(ctx);
            {
                imm = (ctx->opcode >> 16) & 0x03FF;
                imm = (int16_t)(imm << 6) >> 6;
                tcg_gen_movi_tl(cpu_gpr[ret], \
                                (target_long)((int32_t)imm << 16 | \
                                (uint32_t)(uint16_t)imm));
                                (uint16_t)imm));
            }
            break;
        case OPC_REPLV_PH: