diff --git a/target/sparc/translate.c b/target/sparc/translate.c index 399a8ac8dd844de9dc53848950558a2d048976f4..109997684a78aabe41cec47bec6b5645d71862bb 100644 --- a/target/sparc/translate.c +++ b/target/sparc/translate.c @@ -3298,7 +3298,7 @@ static void disas_sparc_insn(DisasContext * dc, unsigned int insn) rs1 = GET_FIELD_SP(insn, 14, 18); if (IS_IMM) { - rs2 = GET_FIELD_SP(insn, 0, 6); + rs2 = GET_FIELD_SP(insn, 0, 7); if (rs1 == 0) { tcg_gen_movi_i32(trap, (rs2 & mask) + TT_TRAP); /* Signal that the trap value is fully constant. */