Index: src/full-codegen/ppc/full-codegen-ppc.cc |
diff --git a/src/full-codegen/ppc/full-codegen-ppc.cc b/src/full-codegen/ppc/full-codegen-ppc.cc |
index 0abae3d6271892fc18a4ede5d3e7087740b0ca9b..6d7cf8bd459d519e54cf32716929f1a851bbe2a9 100644 |
--- a/src/full-codegen/ppc/full-codegen-ppc.cc |
+++ b/src/full-codegen/ppc/full-codegen-ppc.cc |
@@ -3162,22 +3162,7 @@ void FullCodeGenerator::EmitIsMinusZero(CallRuntime* expr) { |
&if_false, &fall_through); |
__ CheckMap(r3, r4, Heap::kHeapNumberMapRootIndex, if_false, DO_SMI_CHECK); |
-#if V8_TARGET_ARCH_PPC64 |
- __ LoadP(r4, FieldMemOperand(r3, HeapNumber::kValueOffset)); |
- __ li(r5, Operand(1)); |
- __ rotrdi(r5, r5, 1); // r5 = 0x80000000_00000000 |
- __ cmp(r4, r5); |
-#else |
- __ lwz(r5, FieldMemOperand(r3, HeapNumber::kExponentOffset)); |
- __ lwz(r4, FieldMemOperand(r3, HeapNumber::kMantissaOffset)); |
- Label skip; |
- __ lis(r0, Operand(SIGN_EXT_IMM16(0x8000))); |
- __ cmp(r5, r0); |
- __ bne(&skip); |
- __ cmpi(r4, Operand::Zero()); |
- __ bind(&skip); |
-#endif |
- |
+ __ TestHeapNumberIsMinusZero(r3, r4, r5); |
PrepareForBailoutBeforeSplit(expr, true, if_true, if_false); |
Split(eq, if_true, if_false, fall_through); |