@@ -1966,7 +1966,7 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
19661966 tmp = i.TempSimd128Register (0 );
19671967 // The minpd instruction doesn't propagate NaNs and +0's in its first
19681968 // operand. Perform minpd in both orders, merge the resuls, and adjust.
1969- __ Movapd (tmp, src1);
1969+ __ Movupd (tmp, src1);
19701970 __ Minpd (tmp, tmp, src);
19711971 __ Minpd (dst, src, src1);
19721972 // propagate -0's and NaNs, which may be non-canonical.
@@ -1985,7 +1985,7 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
19851985 tmp = i.TempSimd128Register (0 );
19861986 // The maxpd instruction doesn't propagate NaNs and +0's in its first
19871987 // operand. Perform maxpd in both orders, merge the resuls, and adjust.
1988- __ Movapd (tmp, src1);
1988+ __ Movupd (tmp, src1);
19891989 __ Maxpd (tmp, tmp, src);
19901990 __ Maxpd (dst, src, src1);
19911991 // Find discrepancies.
@@ -2375,7 +2375,7 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
23752375 XMMRegister dst = i.OutputSimd128Register ();
23762376 Operand src1 = i.InputOperand (1 );
23772377 // See comment above for correction of maxps.
2378- __ movaps (kScratchDoubleReg , src1);
2378+ __ vmovups (kScratchDoubleReg , src1);
23792379 __ vmaxps (kScratchDoubleReg , kScratchDoubleReg , dst);
23802380 __ vmaxps (dst, dst, src1);
23812381 __ vxorps (dst, dst, kScratchDoubleReg );
0 commit comments