changeset 4b93003bb069 in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=4b93003bb069
description:
X86: Remove double-cast in Cvtf2i micro-op
This double cast led to rounding errors which caused
some benchmarks to get the wrong values, most notably lucas
which failed spectacularly due to CVTTSD2SI returning an
off-by-one value. equake was also broken.
diffstat:
1 file changed, 1 insertion(+), 1 deletion(-)
src/arch/x86/isa/microops/mediaop.isa | 2 +-
diffs (12 lines):
diff -r 2e67bb7c9b4c -r 4b93003bb069 src/arch/x86/isa/microops/mediaop.isa
--- a/src/arch/x86/isa/microops/mediaop.isa Mon Nov 09 10:02:55 2009 -0500
+++ b/src/arch/x86/isa/microops/mediaop.isa Tue Nov 10 11:18:23 2009 -0500
@@ -1237,7 +1237,7 @@
}
if (destSize == 4) {
- argBits = (uint32_t)(float)arg;
+ argBits = (uint32_t)arg;
} else {
argBits = (uint64_t)arg;
}
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev