@@ -1966,7 +1966,7 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
1966
1966
tmp = i.TempSimd128Register (0 );
1967
1967
// The minpd instruction doesn't propagate NaNs and +0's in its first
1968
1968
// operand. Perform minpd in both orders, merge the resuls, and adjust.
1969
- __ Movapd (tmp, src1);
1969
+ __ Movupd (tmp, src1);
1970
1970
__ Minpd (tmp, tmp, src);
1971
1971
__ Minpd (dst, src, src1);
1972
1972
// propagate -0's and NaNs, which may be non-canonical.
@@ -1985,7 +1985,7 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
1985
1985
tmp = i.TempSimd128Register (0 );
1986
1986
// The maxpd instruction doesn't propagate NaNs and +0's in its first
1987
1987
// operand. Perform maxpd in both orders, merge the resuls, and adjust.
1988
- __ Movapd (tmp, src1);
1988
+ __ Movupd (tmp, src1);
1989
1989
__ Maxpd (tmp, tmp, src);
1990
1990
__ Maxpd (dst, src, src1);
1991
1991
// Find discrepancies.
@@ -2375,7 +2375,7 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
2375
2375
XMMRegister dst = i.OutputSimd128Register ();
2376
2376
Operand src1 = i.InputOperand (1 );
2377
2377
// See comment above for correction of maxps.
2378
- __ movaps (kScratchDoubleReg , src1);
2378
+ __ vmovups (kScratchDoubleReg , src1);
2379
2379
__ vmaxps (kScratchDoubleReg , kScratchDoubleReg , dst);
2380
2380
__ vmaxps (dst, dst, src1);
2381
2381
__ vxorps (dst, dst, kScratchDoubleReg );
0 commit comments