]> git.proxmox.com Git - qemu.git/commitdiff
target-mips: fix DINSU instruction
authorAurelien Jarno <aurelien@aurel32.net>
Wed, 30 Jun 2010 18:00:31 +0000 (20:00 +0200)
committerAurelien Jarno <aurelien@aurel32.net>
Wed, 30 Jun 2010 21:38:04 +0000 (23:38 +0200)
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
target-mips/translate.c

index f811f50c7ff78962bbc0d91e2e64e7750f69a33d..43f5bb94431c4e8a5e5486b8c8920c758a99ed20 100644 (file)
@@ -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);