| Index: src/x64/code-stubs-x64.cc
 | 
| diff --git a/src/x64/code-stubs-x64.cc b/src/x64/code-stubs-x64.cc
 | 
| index af09c369b0182504a099cdb6661e557a2acbc326..76fcc88cbfad2b30df277c6ae50859fce69f8921 100644
 | 
| --- a/src/x64/code-stubs-x64.cc
 | 
| +++ b/src/x64/code-stubs-x64.cc
 | 
| @@ -266,7 +266,7 @@ void ToBooleanStub::Generate(MacroAssembler* masm) {
 | 
|    __ j(not_equal, &true_result);
 | 
|    // HeapNumber => false iff +0, -0, or NaN.
 | 
|    // These three cases set the zero flag when compared to zero using ucomisd.
 | 
| -  __ xorpd(xmm0, xmm0);
 | 
| +  __ xorps(xmm0, xmm0);
 | 
|    __ ucomisd(xmm0, FieldOperand(rax, HeapNumber::kValueOffset));
 | 
|    __ j(zero, &false_result);
 | 
|    // Fall through to |true_result|.
 | 
| @@ -1602,7 +1602,7 @@ void MathPowStub::Generate(MacroAssembler* masm) {
 | 
|    __ bind(&no_neg);
 | 
|  
 | 
|    // Load xmm1 with 1.
 | 
| -  __ movsd(xmm1, xmm3);
 | 
| +  __ movaps(xmm1, xmm3);
 | 
|    NearLabel while_true;
 | 
|    NearLabel no_multiply;
 | 
|  
 | 
| @@ -1620,8 +1620,8 @@ void MathPowStub::Generate(MacroAssembler* masm) {
 | 
|    __ j(positive, &allocate_return);
 | 
|    // Special case if xmm1 has reached infinity.
 | 
|    __ divsd(xmm3, xmm1);
 | 
| -  __ movsd(xmm1, xmm3);
 | 
| -  __ xorpd(xmm0, xmm0);
 | 
| +  __ movaps(xmm1, xmm3);
 | 
| +  __ xorps(xmm0, xmm0);
 | 
|    __ ucomisd(xmm0, xmm1);
 | 
|    __ j(equal, &call_runtime);
 | 
|  
 | 
| @@ -1669,11 +1669,11 @@ void MathPowStub::Generate(MacroAssembler* masm) {
 | 
|  
 | 
|    // Calculates reciprocal of square root.
 | 
|    // sqrtsd returns -0 when input is -0.  ECMA spec requires +0.
 | 
| -  __ xorpd(xmm1, xmm1);
 | 
| +  __ xorps(xmm1, xmm1);
 | 
|    __ addsd(xmm1, xmm0);
 | 
|    __ sqrtsd(xmm1, xmm1);
 | 
|    __ divsd(xmm3, xmm1);
 | 
| -  __ movsd(xmm1, xmm3);
 | 
| +  __ movaps(xmm1, xmm3);
 | 
|    __ jmp(&allocate_return);
 | 
|  
 | 
|    // Test for 0.5.
 | 
| @@ -1686,8 +1686,8 @@ void MathPowStub::Generate(MacroAssembler* masm) {
 | 
|    __ j(not_equal, &call_runtime);
 | 
|    // Calculates square root.
 | 
|    // sqrtsd returns -0 when input is -0.  ECMA spec requires +0.
 | 
| -  __ xorpd(xmm1, xmm1);
 | 
| -  __ addsd(xmm1, xmm0);
 | 
| +  __ xorps(xmm1, xmm1);
 | 
| +  __ addsd(xmm1, xmm0);  // Convert -0 to 0.
 | 
|    __ sqrtsd(xmm1, xmm1);
 | 
|  
 | 
|    __ bind(&allocate_return);
 | 
| 
 |