[llvm] [AArch64][SelectionDAG] Fix UDOT regression (PR #144907)

Matthew Devereau via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 19 11:27:14 PDT 2025


================
@@ -16865,14 +16865,13 @@ bool AArch64TargetLowering::optimizeExtendOrTruncateConversion(
     if (SrcWidth * 4 <= DstWidth) {
       if (all_of(I->users(), [&](auto *U) {
             auto *SingleUser = cast<Instruction>(&*U);
-            return (
-                match(SingleUser, m_c_Mul(m_Specific(I), m_SExt(m_Value()))) ||
-                (match(SingleUser,
-                       m_Intrinsic<
-                           Intrinsic::experimental_vector_partial_reduce_add>(
-                           m_Value(), m_Specific(I))) &&
-                 !shouldExpandPartialReductionIntrinsic(
-                     cast<IntrinsicInst>(SingleUser))));
+            bool IsMul =
----------------
MDevereau wrote:

I'd forgotten about the early return. That's just as clear to me and keeps the behaviour the same, thanks!

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


More information about the llvm-commits mailing list