aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAurelien Jarno <aurelien@aurel32.net>2010-06-30 20:00:31 +0200
committerDoug Goldstein <cardoe@gentoo.org>2010-07-20 17:46:02 -0500
commite3ec1bde3400ed7490b7bbe6f61617fb11f5f3ed (patch)
tree18fe252c2387f6a204fbf49ba7c6bc5a3a8b4158 /target-mips
parenttarget-ppc: fix RFI by clearing some bits of MSR (diff)
downloadqemu-kvm-e3ec1bde3400ed7490b7bbe6f61617fb11f5f3ed.tar.gz
qemu-kvm-e3ec1bde3400ed7490b7bbe6f61617fb11f5f3ed.tar.bz2
qemu-kvm-e3ec1bde3400ed7490b7bbe6f61617fb11f5f3ed.zip
target-mips: fix DINSU instructionqemu-kvm-0.12.4-gentoo-1
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Diffstat (limited to 'target-mips')
-rw-r--r--target-mips/translate.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/target-mips/translate.c b/target-mips/translate.c
index f811f50c7..43f5bb944 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);