diff options
author | Mikhail Skvortcov <m.skvortcov@partner.samsung.com> | 2017-01-26 19:50:28 +0300 |
---|---|---|
committer | Mikhail Skvortcov <m.skvortcov@partner.samsung.com> | 2017-02-09 11:21:12 +0300 |
commit | 85f00fa9f2bf2ee4a083686cb1a59447b8dd0f74 (patch) | |
tree | 86c26dbcf5aa2c9ed0a75d8dedc6ea7dbc8dd434 /src/jit/instr.cpp | |
parent | 076116be7b5e7890760778020604c698377a83e2 (diff) | |
download | coreclr-85f00fa9f2bf2ee4a083686cb1a59447b8dd0f74.tar.gz coreclr-85f00fa9f2bf2ee4a083686cb1a59447b8dd0f74.tar.bz2 coreclr-85f00fa9f2bf2ee4a083686cb1a59447b8dd0f74.zip |
RyuJIT/ARM32: enable DecomposeLongs phase
Diffstat (limited to 'src/jit/instr.cpp')
-rw-r--r-- | src/jit/instr.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/jit/instr.cpp b/src/jit/instr.cpp index 7332ba6c71..5cb2ccd6f4 100644 --- a/src/jit/instr.cpp +++ b/src/jit/instr.cpp @@ -2326,7 +2326,7 @@ void CodeGen::inst_RV_TT(instruction ins, #if CPU_LOAD_STORE_ARCH if (ins == INS_mov) { -#if defined(_TARGET_ARM_) +#if defined(_TARGET_ARM_) && CPU_LONG_USES_REGPAIR if (tree->TypeGet() != TYP_LONG) { ins = ins_Move_Extend(tree->TypeGet(), (tree->gtFlags & GTF_REG_VAL) != 0); @@ -2341,7 +2341,7 @@ void CodeGen::inst_RV_TT(instruction ins, ins = ins_Move_Extend(TYP_INT, (tree->gtFlags & GTF_REG_VAL) != 0 && genRegPairHi(tree->gtRegPair) != REG_STK); } -#elif defined(_TARGET_ARM64_) +#elif defined(_TARGET_ARM_) || defined(_TARGET_ARM64_) ins = ins_Move_Extend(tree->TypeGet(), (tree->gtFlags & GTF_REG_VAL) != 0); #else NYI("CodeGen::inst_RV_TT with INS_mov"); @@ -2485,9 +2485,11 @@ AGAIN: default: regNumber regTmp; #ifndef LEGACY_BACKEND +#if CPU_LONG_USES_REGPAIR if (tree->TypeGet() == TYP_LONG) regTmp = (offs == 0) ? genRegPairLo(tree->gtRegPair) : genRegPairHi(tree->gtRegPair); else +#endif // CPU_LONG_USES_REGPAIR regTmp = tree->gtRegNum; #else // LEGACY_BACKEND if (varTypeIsFloating(tree)) @@ -2575,6 +2577,7 @@ AGAIN: inst_RV_IV(ins, reg, tree->gtIntCon.gtIconVal, emitActualTypeSize(tree->TypeGet()), flags); break; +#if CPU_LONG_USES_REGPAIR case GT_CNS_LNG: assert(size == EA_4BYTE || size == EA_8BYTE); @@ -2609,6 +2612,7 @@ AGAIN: inst_RV_IV(ins, reg, constVal, size, flags); break; +#endif // CPU_LONG_USES_REGPAIR case GT_COMMA: tree = tree->gtOp.gtOp2; |