summaryrefslogtreecommitdiff
path: root/src/jit/gentree.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/jit/gentree.cpp')
-rw-r--r--src/jit/gentree.cpp11
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