[llvm] [LoopVectorizer] Add support for partial reductions (PR #92418)

Sam Tebbs via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 11 08:26:50 PST 2024


================
@@ -0,0 +1,1203 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 4
+; RUN: opt -passes=loop-vectorize -force-vector-interleave=1 -force-target-instruction-cost=1 -S < %s | FileCheck %s --check-prefixes=CHECK,CHECK-INTERLEAVE1
+; RUN: opt -passes=loop-vectorize -force-target-instruction-cost=1 -S < %s | FileCheck %s --check-prefixes=CHECK,CHECK-INTERLEAVED
----------------
SamTebbs33 wrote:

I can't reply directly to your comment about the lack of scalable vector types, but the reason for them being missing is because we're not maximising the vector bandwidth. The new run line that enables max bandwidth shows scalable types. Removing the sve attribute does predictable prevent vectorisation altogether (likewise when replacing sve with neon).

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


More information about the llvm-commits mailing list