From 09487205bb03548d260300d32595ba17ab597337 Mon Sep 17 00:00:00 2001 From: "Igor V. Kovalenko" Date: Wed, 2 Jun 2010 00:12:53 +0400 Subject: [PATCH] sparc64: fix udiv and sdiv insns - truncate second operand to 32bit Signed-off-by: Igor V. Kovalenko Signed-off-by: Blue Swirl --- target-sparc/op_helper.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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); -- 2.11.4.GIT