[llvm] [SelectionDAG][AMDGPU] Fold mul24 with an AND operand whose low bits are zero (PR #224537)

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 22 01:56:59 PDT 2026


================
@@ -826,6 +826,11 @@ SDValue TargetLowering::SimplifyMultipleUseDemandedBits(
     LHSKnown = DAG.computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
     RHSKnown = DAG.computeKnownBits(Op.getOperand(1), DemandedElts, Depth + 1);
 
+    // If either operand is known zero for every demanded bit, the result is
+    // zero.
+    if (DemandedBits.isSubsetOf(LHSKnown.Zero | RHSKnown.Zero))
+      return DAG.getConstant(0, SDLoc(Op), VT);
----------------
RKSimon wrote:

Why isn't the general SimplifyDemandedBits catching this?

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


More information about the llvm-commits mailing list