qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] SPARC sdiv patch


From: Vince Weaver
Subject: [Qemu-devel] SPARC sdiv patch
Date: Mon, 25 Aug 2008 15:12:34 -0400 (EDT)

Hello

the SPARC v9 manual specifies the sdiv instruction as computing
   Y concated with the *lower 32 bits* of r[rs1] / lower 32 bits of r[rs2]

The current code does not ensure that only the lowest 32 bits of rs1 are used. The following patch fixes this.

This fix allows the "gcc" SPEC 2000 benchmark complete successfully.

The "udiv" helper might also need this fix.

Vince

--- target-sparc/op_helper.c.orig       2008-08-25 14:55:29.000000000 -0400
+++ target-sparc/op_helper.c    2008-08-25 15:04:51.000000000 -0400
@@ -2310,7 +2310,7 @@
     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) {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]