[llvm] Add LoopVectorizer support for `llvm.vector.partial.reduce.fadd` (PR #163975)

Sam Tebbs via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 6 06:20:29 PST 2025


================
@@ -5766,6 +5766,14 @@ InstructionCost AArch64TTIImpl::getPartialReductionCost(
       return Cost;
   }
 
+  // f16 -> f32 is natively supported for fdot
+  if (ST->isSVEorStreamingSVEAvailable() && ST->hasSVE2p1() &&
----------------
SamTebbs33 wrote:

According to the manual, this FDOT requires SME2 or SVE2p1, so I think it should be guarded behind `ST->hasSME2() || ST->hasSVE2p1()` instead of `ST->isSVEorStreamingSVEAvailable() && ST->hasSVE2p1()`. Can we do the same for f8 -> f16?

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


More information about the llvm-commits mailing list