X86: Correct how the hi portion of a product is computed.

--HG--
extra : convert_revision : 1f503e1cae0374e62e6254e8073e903adc29d067
This commit is contained in:
Gabe Black 2007-09-06 16:20:12 -07:00
parent 389abade01
commit 832ef7412b

View file

@ -463,8 +463,8 @@ let {{
uint64_t psrc2_h = op2 >> halfSize;
uint64_t psrc2_l = op2 & mask(halfSize);
uint64_t result =
((psrc1_l * psrc2_h) >> halfSize) +
((psrc1_h * psrc2_l) >> halfSize) +
((psrc1_l * psrc2_h + psrc1_h * psrc2_l +
((psrc1_l * psrc2_l) >> halfSize)) >> halfSize) +
psrc1_h * psrc2_h;
DestReg = merge(DestReg, result, dataSize);
'''