diff --git a/qemu/target/mips/translate.c b/qemu/target/mips/translate.c index 6e2b5895..a85b80cf 100644 --- a/qemu/target/mips/translate.c +++ b/qemu/target/mips/translate.c @@ -19444,6 +19444,16 @@ static int decode_nanomips_32_48_opc(CPUMIPSState *env, DisasContext *ctx) case NM_BC1NEZC: gen_compute_branch_cp1_nm(ctx, OPC_BC1NEZ, rt, s); break; + case NM_BPOSGE32C: + check_dspr2(ctx); + { + int32_t imm = extract32(ctx->opcode, 1, 13) | + extract32(ctx->opcode, 0, 1) << 13; + + gen_compute_branch_nm(ctx, OPC_BPOSGE32, 4, -1, -2, + imm); + } + break; default: generate_exception_end(ctx, EXCP_RI); break;