On 24.10.18. 14:18, Aleksandar Markovic wrote: > From: Aleksandar Markovic <amarko...@wavecomp.com> > > Provide the placeholder and add the invocation logic for MXU > decoding engine. > > Signed-off-by: Aleksandar Markovic <amarko...@wavecomp.com> > --- > target/mips/translate.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/target/mips/translate.c b/target/mips/translate.c > index fefe9ac..128cabe 100644 > --- a/target/mips/translate.c > +++ b/target/mips/translate.c > @@ -23844,6 +23844,12 @@ static void decode_opc_special(CPUMIPSState *env, > DisasContext *ctx) > } > } > > +static void decode_opc_mxu(CPUMIPSState *env, DisasContext *ctx) > +{ > + MIPS_INVAL("decode_opc_mxu"); > + generate_exception_end(ctx, EXCP_RI); > +} > + > static void decode_opc_special2_legacy(CPUMIPSState *env, DisasContext *ctx) > { > int rs, rt, rd; > @@ -26087,6 +26093,8 @@ static void decode_opc(CPUMIPSState *env, > DisasContext *ctx) > case OPC_SPECIAL2: > if ((ctx->insn_flags & INSN_R5900) && (ctx->insn_flags & ASE_MMI)) { > decode_tx79_mmi(env, ctx); > + } else if (ctx->insn_flags & ASE_MXU) { > + decode_opc_mxu(env, ctx);
Is the best way to implement this to include processing of MUL, CLZ, CLO, SDDP instructions into decode_opc_mxu as their encodings aren't overlaid by MXU instructions considering MIPS SPECIAL2 instruction pool and MXU Instruction Set? > } else { > decode_opc_special2_legacy(env, ctx); > }