================ @@ -864,6 +864,16 @@ unsigned GISelValueTracking::computeNumSignBits(Register R, return TyBits - 1; // Every always-zero bit is a sign bit. break; } + case TargetOpcode::G_ASHR: { + Register Src1 = MI.getOperand(1).getReg(); + Register Src2 = MI.getOperand(2).getReg(); + LLT SrcTy = MRI.getType(Src1); + FirstAnswer = computeNumSignBits(Src1, DemandedElts, Depth + 1); + if (auto C = getIConstantSplatVal(Src2, MRI)) + FirstAnswer = std::max<uint64_t>(FirstAnswer + C->getZExtValue(), ---------------- jayfoad wrote:
```suggestion FirstAnswer = std::min<uint64_t>(FirstAnswer + C->getZExtValue(), ``` https://github.com/llvm/llvm-project/pull/139503 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits