From: Igor V. Kovalenko Date: Tue, 1 Jun 2010 20:12:53 +0000 (+0400) Subject: sparc64: fix udiv and sdiv insns X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=09487205bb03548d260300d32595ba17ab597337;p=qemu.git sparc64: fix udiv and sdiv insns - truncate second operand to 32bit Signed-off-by: Igor V. Kovalenko Signed-off-by: Blue Swirl --- diff --git a/target-sparc/op_helper.c b/target-sparc/op_helper.c index 470c710755..be3c1e051b 100644 --- a/target-sparc/op_helper.c +++ b/target-sparc/op_helper.c @@ -3306,7 +3306,7 @@ target_ulong helper_udiv(target_ulong a, target_ulong b) uint32_t x1; x0 = (a & 0xffffffff) | ((int64_t) (env->y) << 32); - x1 = b; + x1 = (b & 0xffffffff); if (x1 == 0) { raise_exception(TT_DIV_ZERO); @@ -3328,7 +3328,7 @@ target_ulong helper_sdiv(target_ulong a, target_ulong b) int32_t x1; x0 = (a & 0xffffffff) | ((int64_t) (env->y) << 32); - x1 = b; + x1 = (b & 0xffffffff); if (x1 == 0) { raise_exception(TT_DIV_ZERO);