Index: src/ia32/stub-cache-ia32.cc |
diff --git a/src/ia32/stub-cache-ia32.cc b/src/ia32/stub-cache-ia32.cc |
index 80fbc78e5b588a9b4cc45b5dff4eb440a61c8876..9786cffe8660219f989e972c5abaf8994474d4ba 100644 |
--- a/src/ia32/stub-cache-ia32.cc |
+++ b/src/ia32/stub-cache-ia32.cc |
@@ -879,7 +879,7 @@ void StoreStubCompiler::GenerateStoreTransition(MacroAssembler* masm, |
miss_label, DONT_DO_SMI_CHECK); |
if (CpuFeatures::IsSupported(SSE2)) { |
CpuFeatureScope use_sse2(masm, SSE2); |
- __ movdbl(xmm0, FieldOperand(value_reg, HeapNumber::kValueOffset)); |
+ __ movsd(xmm0, FieldOperand(value_reg, HeapNumber::kValueOffset)); |
} else { |
__ fld_d(FieldOperand(value_reg, HeapNumber::kValueOffset)); |
} |
@@ -887,7 +887,7 @@ void StoreStubCompiler::GenerateStoreTransition(MacroAssembler* masm, |
__ bind(&do_store); |
if (CpuFeatures::IsSupported(SSE2)) { |
CpuFeatureScope use_sse2(masm, SSE2); |
- __ movdbl(FieldOperand(storage_reg, HeapNumber::kValueOffset), xmm0); |
+ __ movsd(FieldOperand(storage_reg, HeapNumber::kValueOffset), xmm0); |
} else { |
__ fstp_d(FieldOperand(storage_reg, HeapNumber::kValueOffset)); |
} |
@@ -1057,14 +1057,14 @@ void StoreStubCompiler::GenerateStoreField(MacroAssembler* masm, |
miss_label, DONT_DO_SMI_CHECK); |
if (CpuFeatures::IsSupported(SSE2)) { |
CpuFeatureScope use_sse2(masm, SSE2); |
- __ movdbl(xmm0, FieldOperand(value_reg, HeapNumber::kValueOffset)); |
+ __ movsd(xmm0, FieldOperand(value_reg, HeapNumber::kValueOffset)); |
} else { |
__ fld_d(FieldOperand(value_reg, HeapNumber::kValueOffset)); |
} |
__ bind(&do_store); |
if (CpuFeatures::IsSupported(SSE2)) { |
CpuFeatureScope use_sse2(masm, SSE2); |
- __ movdbl(FieldOperand(scratch1, HeapNumber::kValueOffset), xmm0); |
+ __ movsd(FieldOperand(scratch1, HeapNumber::kValueOffset), xmm0); |
} else { |
__ fstp_d(FieldOperand(scratch1, HeapNumber::kValueOffset)); |
} |
@@ -2397,7 +2397,7 @@ Handle<Code> CallStubCompiler::CompileMathFloorCall( |
// Check if the argument is a heap number and load its value into xmm0. |
Label slow; |
__ CheckMap(eax, factory()->heap_number_map(), &slow, DONT_DO_SMI_CHECK); |
- __ movdbl(xmm0, FieldOperand(eax, HeapNumber::kValueOffset)); |
+ __ movsd(xmm0, FieldOperand(eax, HeapNumber::kValueOffset)); |
// Check if the argument is strictly positive. Note this also |
// discards NaN. |
@@ -2447,7 +2447,7 @@ Handle<Code> CallStubCompiler::CompileMathFloorCall( |
// Return a new heap number. |
__ AllocateHeapNumber(eax, ebx, edx, &slow); |
- __ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm0); |
+ __ movsd(FieldOperand(eax, HeapNumber::kValueOffset), xmm0); |
__ ret(2 * kPointerSize); |
// Return the argument (when it's an already round heap number). |