Bug 1050713 - IonMonkey MIPS: Fix the branch check in branchTruncateDouble. r=nbp
authorBranislav Rankov <branislav.rankov@imgtec.com>
Fri, 22 Aug 2014 11:08:01 +0200
changeset 201643 cdfad45b2ed038d018a0434920e87599bbc8070d
parent 201642 f1b290e959ff419ea088e83f03462c3021e2f713
child 201644 c18c3ad45bef0fb312f1d25fa97ac985921ad931
push id27375
push userryanvm@gmail.com
push dateTue, 26 Aug 2014 19:56:59 +0000
treeherdermozilla-central@f9bfe115fee5 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersnbp
bugs1050713
milestone34.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1050713 - IonMonkey MIPS: Fix the branch check in branchTruncateDouble. r=nbp
js/src/jit/mips/MacroAssembler-mips.cpp
--- a/js/src/jit/mips/MacroAssembler-mips.cpp
+++ b/js/src/jit/mips/MacroAssembler-mips.cpp
@@ -100,16 +100,17 @@ void
 MacroAssemblerMIPS::branchTruncateDouble(FloatRegister src, Register dest,
                                          Label *fail)
 {
     Label test, success;
     as_truncwd(ScratchFloatReg, src);
     as_mfc1(dest, ScratchFloatReg);
 
     ma_b(dest, Imm32(INT32_MAX), fail, Assembler::Equal);
+    ma_b(dest, Imm32(INT32_MIN), fail, Assembler::Equal);
 }
 
 // Checks whether a double is representable as a 32-bit integer. If so, the
 // integer is written to the output register. Otherwise, a bailout is taken to
 // the given snapshot. This function overwrites the scratch float register.
 void
 MacroAssemblerMIPS::convertDoubleToInt32(FloatRegister src, Register dest,
                                          Label *fail, bool negativeZeroCheck)