diff options
author | Jiyoung Yun <jy910.yun@samsung.com> | 2016-12-27 16:46:08 +0900 |
---|---|---|
committer | Jiyoung Yun <jy910.yun@samsung.com> | 2016-12-27 16:46:08 +0900 |
commit | db20f3f1bb8595633a7e16c8900fd401a453a6b5 (patch) | |
tree | e5435159cd1bf0519276363a6fe1663d1721bed3 /src/jit/instr.cpp | |
parent | 4b4aad7217d3292650e77eec2cf4c198ea9c3b4b (diff) | |
download | coreclr-db20f3f1bb8595633a7e16c8900fd401a453a6b5.tar.gz coreclr-db20f3f1bb8595633a7e16c8900fd401a453a6b5.tar.bz2 coreclr-db20f3f1bb8595633a7e16c8900fd401a453a6b5.zip |
Imported Upstream version 1.0.0.9127upstream/1.0.0.9127
Diffstat (limited to 'src/jit/instr.cpp')
-rw-r--r-- | src/jit/instr.cpp | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/src/jit/instr.cpp b/src/jit/instr.cpp index d516e0dea4..edc4483c6b 100644 --- a/src/jit/instr.cpp +++ b/src/jit/instr.cpp @@ -149,8 +149,6 @@ const char* CodeGen::genSizeStr(emitAttr attr) nullptr, "xmmword ptr ", nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, - nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, - nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, "ymmword ptr" }; @@ -3054,7 +3052,7 @@ bool CodeGenInterface::validImmForBL(ssize_t addr) return // If we are running the altjit for NGEN, then assume we can use the "BL" instruction. // This matches the usual behavior for NGEN, since we normally do generate "BL". - (!compiler->info.compMatchedVM && (compiler->opts.eeFlags & CORJIT_FLG_PREJIT)) || + (!compiler->info.compMatchedVM && compiler->opts.jitFlags->IsSet(JitFlags::JIT_FLAG_PREJIT)) || (compiler->eeGetRelocTypeHint((void*)addr) == IMAGE_REL_BASED_THUMB_BRANCH24); } bool CodeGen::arm_Valid_Imm_For_BL(ssize_t addr) @@ -3240,7 +3238,7 @@ instruction CodeGen::ins_Move_Extend(var_types srcType, bool srcInReg) * * Parameters * srcType - source type - * aligned - whether source is 16-byte aligned if srcType is a SIMD type + * aligned - whether source is properly aligned if srcType is a SIMD type */ instruction CodeGenInterface::ins_Load(var_types srcType, bool aligned /*=false*/) { @@ -3258,8 +3256,7 @@ instruction CodeGenInterface::ins_Load(var_types srcType, bool aligned /*=false* #endif // FEATURE_SIMD if (compiler->canUseAVX()) { - // TODO-CQ: consider alignment of AVX vectors. - return INS_movupd; + return (aligned) ? INS_movapd : INS_movupd; } else { @@ -3404,7 +3401,7 @@ instruction CodeGen::ins_Copy(var_types dstType) * * Parameters * dstType - destination type - * aligned - whether destination is 16-byte aligned if dstType is a SIMD type + * aligned - whether destination is properly aligned if dstType is a SIMD type */ instruction CodeGenInterface::ins_Store(var_types dstType, bool aligned /*=false*/) { @@ -3422,8 +3419,7 @@ instruction CodeGenInterface::ins_Store(var_types dstType, bool aligned /*=false #endif // FEATURE_SIMD if (compiler->canUseAVX()) { - // TODO-CQ: consider alignment of AVX vectors. - return INS_movupd; + return (aligned) ? INS_movapd : INS_movupd; } else { |