[llvm] [GlobalISel] Add G_SUB for computeNumSignBits (PR #158384)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 25 00:55:05 PDT 2025
================
@@ -1959,6 +1959,41 @@ unsigned GISelValueTracking::computeNumSignBits(Register R,
break;
}
+ case TargetOpcode::G_SUB: {
+ Register Src2 = MI.getOperand(2).getReg();
+ unsigned Src2NumSignBits =
+ computeNumSignBits(Src2, DemandedElts, Depth + 1);
+ if (Src2NumSignBits == 1)
+ return 1; // Early out.
+
+ // Handle NEG.
+ Register Src1 = MI.getOperand(1).getReg();
+ KnownBits Known1 = getKnownBits(Src1, DemandedElts, Depth);
+ if (Known1.isZero()) {
----------------
arsenm wrote:
I don't think this neg special case is tested
https://github.com/llvm/llvm-project/pull/158384
More information about the llvm-commits
mailing list