summaryrefslogtreecommitdiff
path: root/src/jit
diff options
context:
space:
mode:
authorBruce Forstall <brucefo@microsoft.com>2016-04-22 13:01:25 -0700
committerBruce Forstall <brucefo@microsoft.com>2016-04-22 13:01:25 -0700
commit4bc8f0649dbcfbd070fdff10390a40dfcc9bf296 (patch)
tree25bf45c16904d2ec60aab8faf1f00e298a4d2e22 /src/jit
parentd30f727e6a768968a86207fdb94ca11cc77a9527 (diff)
parent8a9584d35e4e8e186c9e88851392eb8e0112121a (diff)
downloadcoreclr-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.cpp8
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_