Index: src/ia32/builtins-ia32.cc |
diff --git a/src/ia32/builtins-ia32.cc b/src/ia32/builtins-ia32.cc |
index e1ed68b23e7dbee7adacb76ea17591dd155d318f..9ff101ccbf117344611733422f3599fa0b7d89e2 100644 |
--- a/src/ia32/builtins-ia32.cc |
+++ b/src/ia32/builtins-ia32.cc |
@@ -1668,8 +1668,10 @@ void Builtins::Generate_MathMaxMin(MacroAssembler* masm, MathMaxMinKind kind) { |
// Left and right hand side are equal, check for -0 vs. +0. |
__ bind(&compare_equal); |
+ __ Push(edi); // Preserve function in edi. |
__ movmskpd(edi, reg); |
__ test(edi, Immediate(1)); |
+ __ Pop(edi); |
__ j(not_zero, &compare_swap); |
__ bind(&done_compare); |