@@ -1968,7 +1968,7 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
19681968 tmp = i.TempSimd128Register (0 );
19691969 // The minpd instruction doesn't propagate NaNs and +0's in its first
19701970 // operand. Perform minpd in both orders, merge the resuls, and adjust.
1971- __ Movapd (tmp, src1);
1971+ __ Movupd (tmp, src1);
19721972 __ Minpd (tmp, tmp, src);
19731973 __ Minpd (dst, src, src1);
19741974 // propagate -0's and NaNs, which may be non-canonical.
@@ -1987,7 +1987,7 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
19871987 tmp = i.TempSimd128Register (0 );
19881988 // The maxpd instruction doesn't propagate NaNs and +0's in its first
19891989 // operand. Perform maxpd in both orders, merge the resuls, and adjust.
1990- __ Movapd (tmp, src1);
1990+ __ Movupd (tmp, src1);
19911991 __ Maxpd (tmp, tmp, src);
19921992 __ Maxpd (dst, src, src1);
19931993 // Find discrepancies.
@@ -2383,7 +2383,7 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
23832383 XMMRegister dst = i.OutputSimd128Register ();
23842384 Operand src1 = i.InputOperand (1 );
23852385 // See comment above for correction of maxps.
2386- __ movaps (kScratchDoubleReg , src1);
2386+ __ vmovups (kScratchDoubleReg , src1);
23872387 __ vmaxps (kScratchDoubleReg , kScratchDoubleReg , dst);
23882388 __ vmaxps (dst, dst, src1);
23892389 __ vxorps (dst, dst, kScratchDoubleReg );
0 commit comments