Reviewers: Paul Lind, Hannes Payer, danno, kisg, kilvadyb, palfia,
Description:
Fixed some soft-float bugs for MIPS and ARM.
TEST=cctest/test-api/ExternalUnsignedIntArray
BUG=
Please review this at https://codereview.chromium.org/12982008/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/arm/lithium-codegen-arm.cc
M src/mips/lithium-codegen-mips.cc
Index: src/arm/lithium-codegen-arm.cc
diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc
index
041aa3f0cddd8e0c10959065844a3b7425a48dcc..97ffea444a36d620d52b99f9f7c3f6f2c44c8689
100644
--- a/src/arm/lithium-codegen-arm.cc
+++ b/src/arm/lithium-codegen-arm.cc
@@ -4976,6 +4976,7 @@ void LCodeGen::DoDeferredNumberTagI(LInstruction*
instr,
__ vcvt_f64_u32(dbl_scratch, flt_scratch);
} else {
Label no_leading_zero, done;
+ __ mov(sfpd_hi, src);
__ tst(src, Operand(0x80000000));
__ b(ne, &no_leading_zero);
@@ -4985,7 +4986,7 @@ void LCodeGen::DoDeferredNumberTagI(LInstruction*
instr,
__ bind(&no_leading_zero);
GenerateUInt2Double(masm(), sfpd_hi, sfpd_lo, r9, 0);
- __ b(&done);
+ __ bind(&done);
}
}
Index: src/mips/lithium-codegen-mips.cc
diff --git a/src/mips/lithium-codegen-mips.cc
b/src/mips/lithium-codegen-mips.cc
index
9fa5f798002bcdc7e949f925e87355e0b99d65b7..7e3d3d836e25193eaa8aeaefb49c6c9c194e26aa
100644
--- a/src/mips/lithium-codegen-mips.cc
+++ b/src/mips/lithium-codegen-mips.cc
@@ -4653,15 +4653,15 @@ void LCodeGen::DoDeferredNumberTagI(LInstruction*
instr,
} else {
Label no_leading_zero, done;
__ And(at, src, Operand(0x80000000));
- __ Branch(&no_leading_zero, ne, at, Operand(zero_reg));
-
+ __ Branch(USE_DELAY_SLOT, &no_leading_zero, ne, at,
Operand(zero_reg));
+ __ mov(sfpd_hi, src);
// Integer has one leading zeros.
GenerateUInt2Double(masm(), sfpd_hi, sfpd_lo, t0, 1);
__ Branch(&done);
__ bind(&no_leading_zero);
GenerateUInt2Double(masm(), sfpd_hi, sfpd_lo, t0, 0);
- __ Branch(&done);
+ __ bind(&done);
}
}
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.