diff --git a/src/coreclr/jit/compiler.h b/src/coreclr/jit/compiler.h index 4c5d397f719565..71799006676ba3 100644 --- a/src/coreclr/jit/compiler.h +++ b/src/coreclr/jit/compiler.h @@ -10468,6 +10468,7 @@ class Compiler STRESS_MODE(IF_CONVERSION_INNER_LOOPS) \ STRESS_MODE(POISON_IMPLICIT_BYREFS) \ STRESS_MODE(STORE_BLOCK_UNROLLING) \ + STRESS_MODE(SKIP_COND_NODE_LOWERING) /* Don't lower conditions to use CPU flags */ \ STRESS_MODE(THREE_OPT_LAYOUT) \ STRESS_MODE(COUNT) diff --git a/src/coreclr/jit/lower.cpp b/src/coreclr/jit/lower.cpp index df8be988ed4a11..6269ae61bf1585 100644 --- a/src/coreclr/jit/lower.cpp +++ b/src/coreclr/jit/lower.cpp @@ -4724,6 +4724,12 @@ bool Lowering::TryLowerConditionToFlagsNode(GenTree* parent, DISPTREERANGE(BlockRange(), condition); JITDUMP("\n"); + if (comp->compStressCompile(Compiler::STRESS_SKIP_COND_NODE_LOWERING, 10)) + { + JITDUMP("JitStress: skip lowering attempt\n"); + return false; + } + if (condition->OperIsCompare()) { if (!IsInvariantInRange(condition, parent))