diff options
Diffstat (limited to 'src/jit/gentree.cpp')
-rw-r--r-- | src/jit/gentree.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/jit/gentree.cpp b/src/jit/gentree.cpp index a2156d035e..25e9e102e7 100644 --- a/src/jit/gentree.cpp +++ b/src/jit/gentree.cpp @@ -5249,6 +5249,13 @@ unsigned Compiler::gtSetEvalOrder(GenTree* tree) // so if possible it was set above. tryToSwap = false; } + else if ((oper == GT_INTRINSIC) && + Compiler::IsIntrinsicImplementedByUserCall(tree->AsIntrinsic()->gtIntrinsicId)) + { + // We do not swap operand execution order for intrinsics that are implemented by user calls + // because of trickiness around ensuring the execution order does not change during rationalization. + tryToSwap = false; + } else { if (tree->gtFlags & GTF_REVERSE_OPS) @@ -11162,7 +11169,7 @@ void Compiler::gtDispLeaf(GenTree* tree, IndentStack* indentStack) } else { - printf("%d", jitGetILoffs(tree->gtStmt.gtStmtILoffsx)); + printf("0x%x", jitGetILoffs(tree->gtStmt.gtStmtILoffsx)); } break; @@ -17083,4 +17090,4 @@ regNumber GenTree::ExtractTempReg(regMaskTP mask /* = (regMaskTP)-1 */) return genRegNumFromMask(tempRegMask); } -#endif // !LEGACY_BACKEND
\ No newline at end of file +#endif // !LEGACY_BACKEND |