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

Reply via email to