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.
This commit is contained in:
@@ -1294,7 +1294,8 @@ let {{
|
||||
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) {
|
||||
|
||||
Reference in New Issue
Block a user