aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/compiler
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@me.com>2013-10-01 14:53:05 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-10-03 07:07:14 +0200
commitb5198ce221c67c9772b3a205fd3823a9c516a9ec (patch)
treed37deb8eff65bdcccc693ecf515577d4e265f223 /src/qml/compiler
parentf4b38392898dfac6be8fa6a7874138a5eb49a32c (diff)
V4 JIT: implement convertUInt32ToDouble on ARMv7.
Change-Id: I11caf07a8776bb2c6527639f22d47103f4ca1cef Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/compiler')
-rw-r--r--src/qml/compiler/qv4isel_masm.cpp4
-rw-r--r--src/qml/compiler/qv4isel_masm_p.h18
2 files changed, 0 insertions, 22 deletions
diff --git a/src/qml/compiler/qv4isel_masm.cpp b/src/qml/compiler/qv4isel_masm.cpp
index 5ee539648e..020bdb3777 100644
--- a/src/qml/compiler/qv4isel_masm.cpp
+++ b/src/qml/compiler/qv4isel_masm.cpp
@@ -1935,12 +1935,8 @@ Assembler::Jump InstructionSelection::genTryDoubleConversion(V4IR::Expr *src,
dest);
return Assembler::Jump();
case V4IR::UInt32Type:
-#if CPU(X86_64) || CPU(X86)
_as->convertUInt32ToDouble(_as->toUInt32Register(src, Assembler::ScratchRegister),
dest, Assembler::ReturnValueRegister);
-#else
- Q_ASSERT(!"Not supported on this platform!");
-#endif
return Assembler::Jump();
case V4IR::BoolType:
// TODO?
diff --git a/src/qml/compiler/qv4isel_masm_p.h b/src/qml/compiler/qv4isel_masm_p.h
index 8235e6e62c..0ee363ff02 100644
--- a/src/qml/compiler/qv4isel_masm_p.h
+++ b/src/qml/compiler/qv4isel_masm_p.h
@@ -1200,7 +1200,6 @@ public:
void storeUInt32(RegisterID reg, Pointer addr)
{
// The UInt32 representation in QV4::Value is really convoluted. See also toUInt32Register.
-#if CPU(X86_64) | CPU(X86)
Jump intRange = branch32(GreaterThanOrEqual, reg, TrustedImm32(0));
convertUInt32ToDouble(reg, FPGpr0, ReturnValueRegister);
storeDouble(FPGpr0, addr);
@@ -1208,11 +1207,6 @@ public:
intRange.link(this);
storeInt32(reg, addr);
done.link(this);
-#else
- Q_ASSERT(!"Not tested on this platform!");
- Q_UNUSED(reg)
- Q_UNUSED(addr)
-#endif
}
void storeUInt32(RegisterID reg, V4IR::Temp *target)
@@ -1472,25 +1466,13 @@ private:
void convertUIntToDouble(V4IR::Temp *source, V4IR::Temp *target)
{
if (target->kind == V4IR::Temp::PhysicalRegister) {
-#if CPU(X86_64) || CPU(X86)
_as->convertUInt32ToDouble(_as->toInt32Register(source, Assembler::ScratchRegister),
(Assembler::FPRegisterID) target->index,
Assembler::ScratchRegister);
-#else
- Q_ASSERT(!"Not supported on this platform!");
- Q_UNUSED(source)
- Q_UNUSED(target)
-#endif
} else if (target->kind == V4IR::Temp::StackSlot) {
-#if CPU(X86_64) || CPU(X86)
_as->convertUInt32ToDouble(_as->toUInt32Register(source, Assembler::ScratchRegister),
Assembler::FPGpr0, Assembler::ScratchRegister);
_as->storeDouble(Assembler::FPGpr0, _as->stackSlotPointer(target));
-#else
- Q_ASSERT(!"Not supported on this platform!");
- Q_UNUSED(source)
- Q_UNUSED(target)
-#endif
} else {
Q_UNIMPLEMENTED();
}