use old SSE Int32x4 load instead of missing Simd which were too difficult to backport, remove error

This commit is contained in:
Riccardo Mottola 2018-10-26 18:55:41 +02:00
parent 4c22259661
commit eb9e474855

View File

@ -27,7 +27,6 @@ static const double TO_DOUBLE_HIGH_SCALE = 0x100000000;
void
MacroAssemblerX86::convertUInt64ToDouble(Register64 src, Register temp, FloatRegister dest)
{
#error check TenFourFox issue 526 and bug 1499198. may be safest to just always use the SSE2 routine
// SUBPD needs SSE2, HADDPD needs SSE3.
if (!HasSSE3()) {
convertUInt32ToDouble(src.high, dest);
@ -71,7 +70,8 @@ MacroAssemblerX86::convertUInt64ToDouble(Register64 src, Register temp, FloatReg
0x0,
};
loadConstantSimd128Int(SimdConstant::CreateX4(CST1), ScratchSimd128Reg);
//loadConstantSimd128Int(SimdConstant::CreateX4(CST1), ScratchSimd128Reg);
loadConstantInt32x4(SimdConstant::CreateX4(CST1), ScratchSimd128Reg);
vpunpckldq(ScratchSimd128Reg, dest128, dest128);
// Subtract a constant C2 from dest, for each 64-bit part:
@ -89,7 +89,8 @@ MacroAssemblerX86::convertUInt64ToDouble(Register64 src, Register temp, FloatReg
0x45300000,
};
loadConstantSimd128Int(SimdConstant::CreateX4(CST2), ScratchSimd128Reg);
//loadConstantSimd128Int(SimdConstant::CreateX4(CST2), ScratchSimd128Reg);
loadConstantInt32x4(SimdConstant::CreateX4(CST2), ScratchSimd128Reg);
vsubpd(ScratchSimd128Reg, dest128, dest128);
// Add HI(dest) and LO(dest) in double and store it into LO(dest),