X86: Fix the computation of the upper part of rotate right with carry.

This commit is contained in:
Gabe Black 2009-08-05 03:00:43 -07:00
parent 4e4adcaaa8
commit bab4597fc5

View file

@ -767,7 +767,7 @@ let {{
CCFlagBits flags = ccFlagBits;
uint64_t top = flags.cf << (dataSize * 8 - shiftAmt);
if(shiftAmt > 1)
top |= psrc1 << (dataSize * 8 - shiftAmt - 1);
top |= psrc1 << (dataSize * 8 - shiftAmt + 1);
uint64_t bottom = bits(psrc1, dataSize * 8, shiftAmt);
DestReg = merge(DestReg, top | bottom, dataSize);
}