Commit 7621a90da8e4c8367cb44df25dfcb4e89986fed0

Authored by blueswir1
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) {
... ...