diff options
author | Bruce Forstall <brucefo@microsoft.com> | 2016-04-22 13:01:25 -0700 |
---|---|---|
committer | Bruce Forstall <brucefo@microsoft.com> | 2016-04-22 13:01:25 -0700 |
commit | 4bc8f0649dbcfbd070fdff10390a40dfcc9bf296 (patch) | |
tree | 25bf45c16904d2ec60aab8faf1f00e298a4d2e22 /src/jit | |
parent | d30f727e6a768968a86207fdb94ca11cc77a9527 (diff) | |
parent | 8a9584d35e4e8e186c9e88851392eb8e0112121a (diff) | |
download | coreclr-4bc8f0649dbcfbd070fdff10390a40dfcc9bf296.tar.gz coreclr-4bc8f0649dbcfbd070fdff10390a40dfcc9bf296.tar.bz2 coreclr-4bc8f0649dbcfbd070fdff10390a40dfcc9bf296.zip |
Merge pull request #4498 from BruceForstall/Fix3570
Fix #3570: RyuJIT x86: Float/Double mismatch in CodeGen::genStoreInd()
Diffstat (limited to 'src/jit')
-rw-r--r-- | src/jit/importer.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/jit/importer.cpp b/src/jit/importer.cpp index f738bfec53..975607f7da 100644 --- a/src/jit/importer.cpp +++ b/src/jit/importer.cpp @@ -2621,12 +2621,12 @@ GenTreePtr Compiler::impImplicitIorI4Cast(GenTreePtr tree, GenTreePtr Compiler::impImplicitR4orR8Cast(GenTreePtr tree, var_types dstTyp) { -#ifdef _TARGET_64BIT_ +#ifndef LEGACY_BACKEND if (varTypeIsFloating(tree) && varTypeIsFloating(dstTyp) && (dstTyp != tree->gtType)) { tree = gtNewCastNode(dstTyp, tree, dstTyp); } -#endif // _TARGET_64BIT_ +#endif // !LEGACY_BACKEND return tree; } @@ -9818,7 +9818,7 @@ ARR_LD_POST_VERIFY: { arrayElem = typeInfo::nativeInt(); } -#endif // _TARGET_64_BIT +#endif // _TARGET_64BIT_ Verify(tiArray.IsNullObjRef() || typeInfo::AreEquivalent(verGetArrayElemType(tiArray), arrayElem), "bad array"); @@ -9887,7 +9887,6 @@ ARR_LD_POST_VERIFY: } else { - // On Amd64 add an explicit cast between float and double op2 = impImplicitR4orR8Cast(op2, op1->TypeGet()); op1 = gtNewAssignNode(op1, op2); } @@ -10822,7 +10821,6 @@ STIND_POST_VERIFY: impBashVarAddrsToI(op1, op2); - // On Amd64 add an explicit cast between float and double op2 = impImplicitR4orR8Cast(op2, lclTyp); #ifdef _TARGET_64BIT_ |