changeset ff2321547ca3 in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=ff2321547ca3
description:
        X86: Make the cvti2f microop sign extend its integer source correctly.

        The code was using the wrong bit as the sign bit. Other similar bits of 
code
        seem to be correct.

diffstat:

 src/arch/x86/isa/microops/mediaop.isa |  3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diffs (13 lines):

diff -r c52c581277bf -r ff2321547ca3 src/arch/x86/isa/microops/mediaop.isa
--- a/src/arch/x86/isa/microops/mediaop.isa     Wed May 12 00:49:12 2010 -0700
+++ b/src/arch/x86/isa/microops/mediaop.isa     Wed May 12 00:51:35 2010 -0700
@@ -1294,7 +1294,8 @@
                 int srcLoIndex = srcStart + (i + 0) * srcSizeBits;
                 uint64_t argBits = bits(FpSrcReg1.uqw, srcHiIndex, srcLoIndex);
 
-                int64_t sArg = argBits | (0 - (argBits & (ULL(1) << 
srcHiIndex)));
+                int64_t sArg = argBits |
+                    (0 - (argBits & (ULL(1) << (srcSizeBits - 1))));
                 double arg = sArg;
 
                 if (destSize == 4) {
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to