[Top][All Lists]
[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) {
- [Qemu-devel] SPARC sdiv patch,
Vince Weaver <=