mirror of
https://github.com/classilla/tenfourfox.git
synced 2024-06-11 09:29:49 +00:00
use old SSE Int32x4 load instead of missing Simd which were too difficult to backport, remove error
This commit is contained in:
parent
4c22259661
commit
eb9e474855
|
@ -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),
|
||||
|
|
Loading…
Reference in New Issue
Block a user