| Index: src/x64/lithium-codegen-x64.cc
 | 
| diff --git a/src/x64/lithium-codegen-x64.cc b/src/x64/lithium-codegen-x64.cc
 | 
| index ffe1a5291000382daced4ccefc326de2dbe9a8a8..8e1f65c771800d5e501d0e8989dc9af8b9741ca2 100644
 | 
| --- a/src/x64/lithium-codegen-x64.cc
 | 
| +++ b/src/x64/lithium-codegen-x64.cc
 | 
| @@ -2015,45 +2015,23 @@
 | 
|    XMMRegister left = ToDoubleRegister(instr->left());
 | 
|    XMMRegister right = ToDoubleRegister(instr->right());
 | 
|    XMMRegister result = ToDoubleRegister(instr->result());
 | 
| +  // All operations except MOD are computed in-place.
 | 
| +  DCHECK(instr->op() == Token::MOD || left.is(result));
 | 
|    switch (instr->op()) {
 | 
|      case Token::ADD:
 | 
| -      if (CpuFeatures::IsSupported(AVX)) {
 | 
| -        CpuFeatureScope scope(masm(), AVX);
 | 
| -        __ vaddsd(result, left, right);
 | 
| -      } else {
 | 
| -        DCHECK(result.is(left));
 | 
| -        __ addsd(left, right);
 | 
| -      }
 | 
| +      __ addsd(left, right);
 | 
|        break;
 | 
|      case Token::SUB:
 | 
| -      if (CpuFeatures::IsSupported(AVX)) {
 | 
| -        CpuFeatureScope scope(masm(), AVX);
 | 
| -        __ vsubsd(result, left, right);
 | 
| -      } else {
 | 
| -        DCHECK(result.is(left));
 | 
| -        __ subsd(left, right);
 | 
| -      }
 | 
| +       __ subsd(left, right);
 | 
|         break;
 | 
|      case Token::MUL:
 | 
| -      if (CpuFeatures::IsSupported(AVX)) {
 | 
| -        CpuFeatureScope scope(masm(), AVX);
 | 
| -        __ vmulsd(result, left, right);
 | 
| -      } else {
 | 
| -        DCHECK(result.is(left));
 | 
| -        __ mulsd(left, right);
 | 
| -      }
 | 
| +      __ mulsd(left, right);
 | 
|        break;
 | 
|      case Token::DIV:
 | 
| -      if (CpuFeatures::IsSupported(AVX)) {
 | 
| -        CpuFeatureScope scope(masm(), AVX);
 | 
| -        __ vdivsd(result, left, right);
 | 
| -      } else {
 | 
| -        DCHECK(result.is(left));
 | 
| -        __ divsd(left, right);
 | 
| -        // Don't delete this mov. It may improve performance on some CPUs,
 | 
| -        // when there is a mulsd depending on the result
 | 
| -        __ movaps(left, left);
 | 
| -      }
 | 
| +      __ divsd(left, right);
 | 
| +      // Don't delete this mov. It may improve performance on some CPUs,
 | 
| +      // when there is a mulsd depending on the result
 | 
| +      __ movaps(left, left);
 | 
|        break;
 | 
|      case Token::MOD: {
 | 
|        XMMRegister xmm_scratch = double_scratch0();
 | 
| 
 |