target/mips: Convert Rel6 LLD/SCD opcodes to decodetree

LLD/SCD opcodes have been removed from the Release 6.

Add a single decodetree entry for the opcodes, triggering
Reserved Instruction if ever used.

Remove unreachable check_insn_opc_removed() calls.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20201208203704.243704-13-f4bug@amsat.org>
This commit is contained in:
Philippe Mathieu-Daudé 2020-11-26 11:56:39 +01:00
parent 13a839cf48
commit 1ff668dde2
2 changed files with 3 additions and 2 deletions

View File

@ -22,3 +22,6 @@ REMOVED 011010 ----- ----- ---------------- # LDL
REMOVED 011011 ----- ----- ---------------- # LDR REMOVED 011011 ----- ----- ---------------- # LDR
REMOVED 101100 ----- ----- ---------------- # SDL REMOVED 101100 ----- ----- ---------------- # SDL
REMOVED 101101 ----- ----- ---------------- # SDR REMOVED 101101 ----- ----- ---------------- # SDR
REMOVED 110100 ----- ----- ---------------- # LLD
REMOVED 111100 ----- ----- ---------------- # SCD

View File

@ -28870,7 +28870,6 @@ static bool decode_opc_legacy(CPUMIPSState *env, DisasContext *ctx)
if (ctx->insn_flags & INSN_R5900) { if (ctx->insn_flags & INSN_R5900) {
check_insn_opc_user_only(ctx, INSN_R5900); check_insn_opc_user_only(ctx, INSN_R5900);
} }
check_insn_opc_removed(ctx, ISA_MIPS_R6);
/* fall through */ /* fall through */
case OPC_LDL: case OPC_LDL:
case OPC_LDR: case OPC_LDR:
@ -28888,7 +28887,6 @@ static bool decode_opc_legacy(CPUMIPSState *env, DisasContext *ctx)
gen_st(ctx, op, rt, rs, imm); gen_st(ctx, op, rt, rs, imm);
break; break;
case OPC_SCD: case OPC_SCD:
check_insn_opc_removed(ctx, ISA_MIPS_R6);
check_insn(ctx, ISA_MIPS3); check_insn(ctx, ISA_MIPS3);
if (ctx->insn_flags & INSN_R5900) { if (ctx->insn_flags & INSN_R5900) {
check_insn_opc_user_only(ctx, INSN_R5900); check_insn_opc_user_only(ctx, INSN_R5900);