diff options
author | Bruce Forstall <brucefo@microsoft.com> | 2016-05-02 17:58:01 -0700 |
---|---|---|
committer | Bruce Forstall <brucefo@microsoft.com> | 2016-05-03 07:56:08 -0700 |
commit | 2175553aca9e492c39a00be26f8aad20549dda7a (patch) | |
tree | 333a06af48cf9c47487bf7cfee1aed5ac4a01961 /src/jit | |
parent | 7dd56b48bd99a776e8e7dd3638f59191c5013e9b (diff) | |
download | coreclr-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.cpp | 13 |
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"); |