diff --git a/src/coreclr/jit/compiler.h b/src/coreclr/jit/compiler.h index 096a9e4fb1120d..d209cb52a66ffe 100644 --- a/src/coreclr/jit/compiler.h +++ b/src/coreclr/jit/compiler.h @@ -10403,6 +10403,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 a551d629341a22..94aec677b0d6f1 100644 --- a/src/coreclr/jit/lower.cpp +++ b/src/coreclr/jit/lower.cpp @@ -4641,6 +4641,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))