summaryrefslogtreecommitdiff
path: root/src/jit
diff options
context:
space:
mode:
authorBruce Forstall <brucefo@microsoft.com>2016-05-02 17:58:01 -0700
committerBruce Forstall <brucefo@microsoft.com>2016-05-03 07:56:08 -0700
commit2175553aca9e492c39a00be26f8aad20549dda7a (patch)
tree333a06af48cf9c47487bf7cfee1aed5ac4a01961 /src/jit
parent7dd56b48bd99a776e8e7dd3638f59191c5013e9b (diff)
downloadcoreclr-2175553aca9e492c39a00be26f8aad20549dda7a.tar.gz
coreclr-2175553aca9e492c39a00be26f8aad20549dda7a.tar.bz2
coreclr-2175553aca9e492c39a00be26f8aad20549dda7a.zip
Convert signed int=>long cast SBCG to NYI
This causes many tests that fail with silent bad codegen to pass with NYI fallback. Many tests are removed from the issues.targets failing tests exclusion list, but added to the ryujit_x86_no_fallback_issues.targets exclusion list.
Diffstat (limited to 'src/jit')
-rw-r--r--src/jit/lower.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/jit/lower.cpp b/src/jit/lower.cpp
index c09eff4737..b742f0197b 100644
--- a/src/jit/lower.cpp
+++ b/src/jit/lower.cpp
@@ -342,9 +342,16 @@ void Lowering::DecomposeNode(GenTreePtr* pTree, Compiler::fgWalkData* data)
switch (tree->AsCast()->CastFromType())
{
case TYP_INT:
- loResult = tree->gtGetOp1();
- hiResult = new (comp, GT_CNS_INT) GenTreeIntCon(TYP_INT, 0);
- comp->fgSnipNode(curStmt, tree);
+ if (tree->gtFlags & GTF_UNSIGNED)
+ {
+ loResult = tree->gtGetOp1();
+ hiResult = new (comp, GT_CNS_INT) GenTreeIntCon(TYP_INT, 0);
+ comp->fgSnipNode(curStmt, tree);
+ }
+ else
+ {
+ NYI("Lowering of signed cast TYP_INT->TYP_LONG");
+ }
break;
default:
NYI("Unimplemented type for Lowering of cast to TYP_LONG");