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