[llvm] [AMDGPU] Use correct number of bits needed for div/rem shrinking (PR #80622)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 6 00:46:43 PST 2024


================
@@ -1213,7 +1213,10 @@ Value *AMDGPUCodeGenPrepareImpl::expandDivRem24(IRBuilder<> &Builder,
                                                 BinaryOperator &I, Value *Num,
                                                 Value *Den, bool IsDiv,
                                                 bool IsSigned) const {
-  int DivBits = getDivNumBits(I, Num, Den, 9, IsSigned);
+  unsigned SSBits = Num->getType()->getScalarSizeInBits();
+  // If Num bits <= 24, assume 0 signbits.
+  unsigned AtLeast = (SSBits <= 24) ? 0 : (SSBits - 24);
----------------
arsenm wrote:

Oh, I missed the increment below. I think keeping it in the same expression would be easier to see, something like (...) + IsSigned 

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


More information about the llvm-commits mailing list