target-mips: add missing restriction in DAUI instruction
rs cannot be the zero register, Reserved Instruction exception must be signalled for this case. Signed-off-by: Leon Alrae <leon.alrae@imgtec.com> Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
parent
3adafef2f3
commit
db77d85239
|
@ -19525,7 +19525,9 @@ static void decode_opc(CPUMIPSState *env, DisasContext *ctx)
|
||||||
#if defined(TARGET_MIPS64)
|
#if defined(TARGET_MIPS64)
|
||||||
/* OPC_DAUI */
|
/* OPC_DAUI */
|
||||||
check_mips_64(ctx);
|
check_mips_64(ctx);
|
||||||
if (rt != 0) {
|
if (rs == 0) {
|
||||||
|
generate_exception(ctx, EXCP_RI);
|
||||||
|
} else if (rt != 0) {
|
||||||
TCGv t0 = tcg_temp_new();
|
TCGv t0 = tcg_temp_new();
|
||||||
gen_load_gpr(t0, rs);
|
gen_load_gpr(t0, rs);
|
||||||
tcg_gen_addi_tl(cpu_gpr[rt], t0, imm << 16);
|
tcg_gen_addi_tl(cpu_gpr[rt], t0, imm << 16);
|
||||||
|
|
Loading…
Reference in New Issue