From: Aurelien Jarno Date: Wed, 30 Jun 2010 18:00:31 +0000 (+0200) Subject: target-mips: fix DINSU instruction X-Git-Tag: v0.12.5~23 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b6185fc79c10ec5b499c6cd0141f0ab4549e0489;p=thirdparty%2Fqemu.git target-mips: fix DINSU instruction Signed-off-by: Aurelien Jarno --- diff --git a/target-mips/translate.c b/target-mips/translate.c index f811f50c7ff..43f5bb94431 100644 --- a/target-mips/translate.c +++ b/target-mips/translate.c @@ -2761,7 +2761,7 @@ static void gen_bitops (DisasContext *ctx, uint32_t opc, int rt, case OPC_DINSU: if (lsb > msb) goto fail; - mask = ((1ULL << (msb - lsb + 1)) - 1) << lsb; + mask = ((1ULL << (msb - lsb + 1)) - 1) << (lsb + 32); gen_load_gpr(t0, rt); tcg_gen_andi_tl(t0, t0, ~mask); tcg_gen_shli_tl(t1, t1, lsb + 32);