[llvm] [SelectionDAG] Fix incorrect fold condition in foldSetCCWithFunnelShift. (PR #137637)

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Fri May 9 01:35:41 PDT 2025


================
@@ -4462,11 +4462,14 @@ static SDValue foldSetCCWithFunnelShift(EVT VT, SDValue N0, SDValue N1,
 
   unsigned BitWidth = N0.getScalarValueSizeInBits();
   auto *ShAmtC = isConstOrConstSplat(N0.getOperand(2));
-  if (!ShAmtC || ShAmtC->getAPIntValue().uge(BitWidth))
+  if (!ShAmtC)
+    return SDValue();
+
+  uint64_t ShAmt = ShAmtC->getAPIntValue().urem(BitWidth);
----------------
RKSimon wrote:

urem(uint64_t) returns a uint64_t

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


More information about the llvm-commits mailing list