diff --git a/qemu/target-mips/translate.c b/qemu/target-mips/translate.c index 56c6b9a5..1cf89cec 100644 --- a/qemu/target-mips/translate.c +++ b/qemu/target-mips/translate.c @@ -4002,9 +4002,12 @@ static void gen_loongson_multimedia(DisasContext *ctx, int rd, int rs, int rt) LMI_DIRECT(XOR_CP2, xor, xor); LMI_DIRECT(NOR_CP2, nor, nor); LMI_DIRECT(AND_CP2, and, and); - LMI_DIRECT(PANDN, pandn, andc); LMI_DIRECT(OR, or, or); + case OPC_PANDN: + tcg_gen_andc_i64(tcg_ctx, t0, t1, t0); + break; + case OPC_PINSRH_0: tcg_gen_deposit_i64(tcg_ctx, t0, t0, t1, 0, 16); break;