diff --git a/src/coreclr/jit/morph.cpp b/src/coreclr/jit/morph.cpp index 0794b5ca8efa6d..b75173d3c19b59 100644 --- a/src/coreclr/jit/morph.cpp +++ b/src/coreclr/jit/morph.cpp @@ -14091,7 +14091,8 @@ GenTree* Compiler::fgMorphSmpOp(GenTree* tree, MorphAddrContext* mac) } // Fold "cmp & 1" to just "cmp" - if (tree->OperIs(GT_AND) && tree->TypeIs(TYP_INT) && op1->OperIsCompare() && op2->IsIntegralConst(1)) + if (tree->OperIs(GT_AND) && tree->TypeIs(TYP_INT) && op1->OperIsCompare() && op2->IsIntegralConst(1) && + !gtIsActiveCSE_Candidate(tree) && !gtIsActiveCSE_Candidate(op2)) { DEBUG_DESTROY_NODE(op2); DEBUG_DESTROY_NODE(tree);