[llvm] Handle ISD::ABDS in SelectionDAG::ComputeNumSignBits (PR #175321)

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Sat Jan 10 07:58:18 PST 2026


================
@@ -4688,6 +4688,14 @@ unsigned SelectionDAG::ComputeNumSignBits(SDValue Op, const APInt &DemandedElts,
   unsigned Opcode = Op.getOpcode();
   switch (Opcode) {
   default: break;
+  case ISD::ABDS: {
+    Tmp = ComputeNumSignBits(Op.getOperand(0), DemandedElts, Depth + 1);
+    if (Tmp == 1)
+      return 1;
+    Tmp2 = ComputeNumSignBits(Op.getOperand(1), DemandedElts, Depth + 1);
+    unsigned MinBits = std::min(Tmp, Tmp2);
----------------
RKSimon wrote:

MinBits should always be 1 or more

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


More information about the llvm-commits mailing list