Index: src/a64/macro-assembler-a64.cc |
diff --git a/src/a64/macro-assembler-a64.cc b/src/a64/macro-assembler-a64.cc |
index 25edc06161dc533d02e718cc09d9fe4fc4312cda..3f9905dfd4c908e133144c3d6745220579e07f40 100644 |
--- a/src/a64/macro-assembler-a64.cc |
+++ b/src/a64/macro-assembler-a64.cc |
@@ -2225,14 +2225,19 @@ void MacroAssembler::TryConvertDoubleToInt(Register as_int, |
} |
-void MacroAssembler::JumpIfMinusZero(DoubleRegister input, |
- Label* on_negative_zero) { |
+void MacroAssembler::TestForMinusZero(DoubleRegister input) { |
UseScratchRegisterScope temps(this); |
Register temp = temps.AcquireX(); |
// Floating point -0.0 is kMinInt as an integer, so subtracting 1 (cmp) will |
// cause overflow. |
Fmov(temp, input); |
Cmp(temp, 1); |
+} |
+ |
+ |
+void MacroAssembler::JumpIfMinusZero(DoubleRegister input, |
+ Label* on_negative_zero) { |
+ TestForMinusZero(input); |
B(vs, on_negative_zero); |
} |