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.


Reply via email to