From 7621a90da8e4c8367cb44df25dfcb4e89986fed0 Mon Sep 17 00:00:00 2001 From: blueswir1 Date: Mon, 25 Aug 2008 19:43:53 +0000 Subject: Fix udiv and sdiv on Sparc64 (Vince Weaver) git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5085 c046a42c-6fe2-441c-8c8c-71466251a162 --- target-sparc/op_helper.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'target-sparc') diff --git a/target-sparc/op_helper.c b/target-sparc/op_helper.c index 03fe53f..8c2551f 100644 --- a/target-sparc/op_helper.c +++ b/target-sparc/op_helper.c @@ -2288,7 +2288,7 @@ target_ulong helper_udiv(target_ulong a, target_ulong b) uint64_t x0; uint32_t x1; - x0 = a | ((uint64_t) (env->y) << 32); + x0 = (a & 0xffffffff) | ((int64_t) (env->y) << 32); x1 = b; if (x1 == 0) { @@ -2310,7 +2310,7 @@ target_ulong helper_sdiv(target_ulong a, target_ulong b) int64_t x0; int32_t x1; - x0 = a | ((int64_t) (env->y) << 32); + x0 = (a & 0xffffffff) | ((int64_t) (env->y) << 32); x1 = b; if (x1 == 0) { -- cgit v1.1