diff options
author | Simon Hausmann <simon.hausmann@qt.io> | 2017-01-30 15:11:12 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2017-01-31 20:45:43 +0000 |
commit | a159d6d43da100c5a4acb183589fa4554b33a474 (patch) | |
tree | 36d8e001a6b195c589b83193f74241fb9faf09bd /src/qml/jit/qv4isel_masm.cpp | |
parent | da5618556d921aecb86bd89cf0bcffb878b0e564 (diff) |
Remove platform ifdefs for ISE::convertTypeToDouble
Change-Id: I75db85fbd601d4790a3cb9af483474a976d00e86
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/qml/jit/qv4isel_masm.cpp')
-rw-r--r-- | src/qml/jit/qv4isel_masm.cpp | 18 |
1 files changed, 2 insertions, 16 deletions
diff --git a/src/qml/jit/qv4isel_masm.cpp b/src/qml/jit/qv4isel_masm.cpp index b3b9ddb120..a3ab123dfd 100644 --- a/src/qml/jit/qv4isel_masm.cpp +++ b/src/qml/jit/qv4isel_masm.cpp @@ -962,15 +962,7 @@ void InstructionSelection<JITAssembler>::convertTypeToDouble(IR::Expr *source, I // not an int, check if it's NOT a double: isNoInt.link(_as); -#ifdef QV4_USE_64_BIT_VALUE_ENCODING - _as->rshift32(TrustedImm32(Value::IsDoubleTag_Shift), JITTargetPlatform::ScratchRegister); - Jump isDbl = _as->branch32(RelationalCondition::NotEqual, JITTargetPlatform::ScratchRegister, - TrustedImm32(0)); -#else - _as->and32(TrustedImm32(Value::NotDouble_Mask), JITTargetPlatform::ScratchRegister); - Jump isDbl = _as->branch32(RelationalCondition::NotEqual, JITTargetPlatform::ScratchRegister, - TrustedImm32(Value::NotDouble_Mask)); -#endif + Jump isDbl = _as->generateIsDoubleCheck(JITTargetPlatform::ScratchRegister); generateRuntimeCall(_as, target, toDouble, PointerToValue(source)); Jump noDoubleDone = _as->jump(); @@ -980,13 +972,7 @@ void InstructionSelection<JITAssembler>::convertTypeToDouble(IR::Expr *source, I Pointer addr2 = _as->loadAddress(JITTargetPlatform::ScratchRegister, source); IR::Temp *targetTemp = target->asTemp(); if (!targetTemp || targetTemp->kind == IR::Temp::StackSlot) { -#if Q_PROCESSOR_WORDSIZE == 8 - _as->load64(addr2, JITTargetPlatform::ScratchRegister); - _as->store64(JITTargetPlatform::ScratchRegister, _as->loadAddress(JITTargetPlatform::ReturnValueRegister, target)); -#else - _as->loadDouble(addr2, JITTargetPlatform::FPGpr0); - _as->storeDouble(JITTargetPlatform::FPGpr0, _as->loadAddress(JITTargetPlatform::ReturnValueRegister, target)); -#endif + _as->memcopyValue(target, addr2, JITTargetPlatform::FPGpr0, JITTargetPlatform::ReturnValueRegister); } else { _as->loadDouble(addr2, (FPRegisterID) targetTemp->index); } |