Version 3.16.14
Performance and stability improvements on all platforms.
git-svn-id: http://v8.googlecode.com/svn/trunk@13610 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/x64/macro-assembler-x64.cc b/src/x64/macro-assembler-x64.cc
index bdedb18..f6561e1 100644
--- a/src/x64/macro-assembler-x64.cc
+++ b/src/x64/macro-assembler-x64.cc
@@ -2911,23 +2911,14 @@
}
-static double kUint32Bias =
- static_cast<double>(static_cast<uint32_t>(0xFFFFFFFF)) + 1;
-
-
void MacroAssembler::LoadUint32(XMMRegister dst,
Register src,
XMMRegister scratch) {
- Label done;
- cmpl(src, Immediate(0));
- movq(kScratchRegister,
- reinterpret_cast<int64_t>(&kUint32Bias),
- RelocInfo::NONE64);
- movsd(scratch, Operand(kScratchRegister, 0));
- cvtlsi2sd(dst, src);
- j(not_sign, &done, Label::kNear);
- addsd(dst, scratch);
- bind(&done);
+ if (FLAG_debug_code) {
+ cmpq(src, Immediate(0xffffffff));
+ Assert(below_equal, "input GPR is expected to have upper32 cleared");
+ }
+ cvtqsi2sd(dst, src);
}