COP1x opcode has been removed from the Release 6. Add a single decodetree entry for it, triggering Reserved Instruction if ever used.
Remove unreachable check_insn_opc_removed() call. Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> --- target/mips/isa-mips32r6.decode | 2 ++ target/mips/translate.c | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/target/mips/isa-mips32r6.decode b/target/mips/isa-mips32r6.decode index 259bac612ab..7b12a1bff25 100644 --- a/target/mips/isa-mips32r6.decode +++ b/target/mips/isa-mips32r6.decode @@ -16,4 +16,6 @@ LSA 000000 ..... ..... ..... 000 .. 000101 @lsa +REMOVED 010011 ----- ----- ----- ----- ------ # COP1X (COP3) + REMOVED 011100 ----- ----- ----- ----- ------ # SPECIAL2 diff --git a/target/mips/translate.c b/target/mips/translate.c index 788b5112a80..81ca1d45063 100644 --- a/target/mips/translate.c +++ b/target/mips/translate.c @@ -28874,7 +28874,6 @@ static void decode_opc(CPUMIPSState *env, DisasContext *ctx) break; case OPC_CP3: - check_insn_opc_removed(ctx, ISA_MIPS32R6); if (ctx->CP0_Config1 & (1 << CP0C1_FP)) { check_cp1_enabled(ctx); op1 = MASK_CP3(ctx->opcode); -- 2.26.2