Commit 7621a90da8e4c8367cb44df25dfcb4e89986fed0
1 parent
6676f424
Fix udiv and sdiv on Sparc64 (Vince Weaver)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5085 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
2 additions
and
2 deletions
target-sparc/op_helper.c
... | ... | @@ -2288,7 +2288,7 @@ target_ulong helper_udiv(target_ulong a, target_ulong b) |
2288 | 2288 | uint64_t x0; |
2289 | 2289 | uint32_t x1; |
2290 | 2290 | |
2291 | - x0 = a | ((uint64_t) (env->y) << 32); | |
2291 | + x0 = (a & 0xffffffff) | ((int64_t) (env->y) << 32); | |
2292 | 2292 | x1 = b; |
2293 | 2293 | |
2294 | 2294 | if (x1 == 0) { |
... | ... | @@ -2310,7 +2310,7 @@ target_ulong helper_sdiv(target_ulong a, target_ulong b) |
2310 | 2310 | int64_t x0; |
2311 | 2311 | int32_t x1; |
2312 | 2312 | |
2313 | - x0 = a | ((int64_t) (env->y) << 32); | |
2313 | + x0 = (a & 0xffffffff) | ((int64_t) (env->y) << 32); | |
2314 | 2314 | x1 = b; |
2315 | 2315 | |
2316 | 2316 | if (x1 == 0) { | ... | ... |