[llvm] [LoopVectorizer] Add support for partial reductions (PR #92418)
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Sun Nov 24 09:07:09 PST 2024
================
@@ -2067,6 +2085,19 @@ class TargetTransformInfo::Concept {
/// \return if target want to issue a prefetch in address space \p AS.
virtual bool shouldPrefetchAddressSpace(unsigned AS) const = 0;
+ /// \return The cost of a partial reduction, which is a reduction from a
+ /// vector to another vector with fewer elements of larger size. They are
+ /// represented by the llvm.experimental.partial.reduce.add intrinsic, which
+ /// takes an accumulator and a binary operation operand that itself is fed by
+ /// two extends. An example of an operation that uses a partial reduction is a
+ /// dot product, which reduces a vector to another of 4 times larger but fewer
----------------
fhahn wrote:
```suggestion
/// dot product on AArch64, which reduces a vector to another of 4 times larger but fewer
```
I think this is specific to AArch64?
https://github.com/llvm/llvm-project/pull/92418
More information about the llvm-commits
mailing list