[llvm] [X86] Allow all legal integers to optimize smin and smax with 0 (PR #151893)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 5 12:23:01 PDT 2025


================
@@ -25077,7 +25077,7 @@ SDValue X86TargetLowering::LowerSELECT(SDValue Op, SelectionDAG &DAG) const {
     } else if (SDValue R = LowerSELECTWithCmpZero(CmpOp0, Op1, Op2, CondCode,
                                                   DL, DAG, Subtarget)) {
       return R;
-    } else if ((VT == MVT::i32 || VT == MVT::i64) && isNullConstant(Op2) &&
+    } else if (VT.isScalarInteger() && isNullConstant(Op2) &&
                Cmp.getNode()->hasOneUse() && (CmpOp0 == Op1) &&
                ((CondCode == X86::COND_S) ||                    // smin(x, 0)
                 (CondCode == X86::COND_G && hasAndNot(Op1)))) { // smax(x, 0)
----------------
topperc wrote:

Don't resolve conversations if you expect someone to read your reply.

Title shouldn't mention smax if it doesn't affect smax.

https://github.com/llvm/llvm-project/pull/151893


More information about the llvm-commits mailing list