target/mips: Add a placeholder for R5900 MMI2 instruction subclass

Backports commit 6c1e48d38a2d26cca2d2b00f331a4ac7dbfae3ca from qemu
This commit is contained in:
Fredrik Noring 2018-11-10 11:52:44 -05:00 committed by Lioncash
parent 63d9f0c6b7
commit 13d02e9aad
No known key found for this signature in database
GPG Key ID: 4E3C3CC1031BA9C7

View File

@ -24641,6 +24641,42 @@ static void decode_tx79_mmi1(CPUMIPSState *env, DisasContext *ctx)
}
}
static void decode_tx79_mmi2(CPUMIPSState *env, DisasContext *ctx)
{
uint32_t opc = MASK_TX79_MMI2(ctx->opcode);
switch (opc) {
case TX79_MMI2_PMADDW: /* TODO: TX79_MMI2_PMADDW */
case TX79_MMI2_PSLLVW: /* TODO: TX79_MMI2_PSLLVW */
case TX79_MMI2_PSRLVW: /* TODO: TX79_MMI2_PSRLVW */
case TX79_MMI2_PMSUBW: /* TODO: TX79_MMI2_PMSUBW */
case TX79_MMI2_PMFHI: /* TODO: TX79_MMI2_PMFHI */
case TX79_MMI2_PMFLO: /* TODO: TX79_MMI2_PMFLO */
case TX79_MMI2_PINTH: /* TODO: TX79_MMI2_PINTH */
case TX79_MMI2_PMULTW: /* TODO: TX79_MMI2_PMULTW */
case TX79_MMI2_PDIVW: /* TODO: TX79_MMI2_PDIVW */
case TX79_MMI2_PCPYLD: /* TODO: TX79_MMI2_PCPYLD */
case TX79_MMI2_PMADDH: /* TODO: TX79_MMI2_PMADDH */
case TX79_MMI2_PHMADH: /* TODO: TX79_MMI2_PHMADH */
case TX79_MMI2_PAND: /* TODO: TX79_MMI2_PAND */
case TX79_MMI2_PXOR: /* TODO: TX79_MMI2_PXOR */
case TX79_MMI2_PMSUBH: /* TODO: TX79_MMI2_PMSUBH */
case TX79_MMI2_PHMSBH: /* TODO: TX79_MMI2_PHMSBH */
case TX79_MMI2_PEXEH: /* TODO: TX79_MMI2_PEXEH */
case TX79_MMI2_PREVH: /* TODO: TX79_MMI2_PREVH */
case TX79_MMI2_PMULTH: /* TODO: TX79_MMI2_PMULTH */
case TX79_MMI2_PDIVBW: /* TODO: TX79_MMI2_PDIVBW */
case TX79_MMI2_PEXEW: /* TODO: TX79_MMI2_PEXEW */
case TX79_MMI2_PROT3W: /* TODO: TX79_MMI2_PROT3W */
generate_exception_end(ctx, EXCP_RI); /* TODO: TX79_MMI_CLASS_MMI2 */
break;
default:
MIPS_INVAL("TX79 MMI class MMI2");
generate_exception_end(ctx, EXCP_RI);
break;
}
}
static void decode_tx79_mmi(CPUMIPSState *env, DisasContext *ctx)
{
uint32_t opc = MASK_TX79_MMI(ctx->opcode);
@ -24652,10 +24688,12 @@ static void decode_tx79_mmi(CPUMIPSState *env, DisasContext *ctx)
case TX79_MMI_CLASS_MMI1:
decode_tx79_mmi1(env, ctx);
break;
case TX79_MMI_CLASS_MMI2:
decode_tx79_mmi2(env, ctx);
break;
case TX79_MMI_MADD: /* TODO: TX79_MMI_MADD */
case TX79_MMI_MADDU: /* TODO: TX79_MMI_MADDU */
case TX79_MMI_PLZCW: /* TODO: TX79_MMI_PLZCW */
case TX79_MMI_CLASS_MMI2: /* TODO: TX79_MMI_CLASS_MMI2 */
case TX79_MMI_MFHI1: /* TODO: TX79_MMI_MFHI1 */
case TX79_MMI_MTHI1: /* TODO: TX79_MMI_MTHI1 */
case TX79_MMI_MFLO1: /* TODO: TX79_MMI_MFLO1 */