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

Sander de Smalen via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 12 07:57:41 PST 2025


================
@@ -0,0 +1,2740 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --check-globals none --version 6
+; RUN: opt -passes=loop-vectorize -force-vector-interleave=1 -enable-epilogue-vectorization=false -mattr=+sve2p1,+dotprod -S < %s | FileCheck %s --check-prefixes=CHECK-INTERLEAVE1
+; RUN: opt -passes=loop-vectorize -enable-epilogue-vectorization=false -mattr=+sve2p1,+dotprod -S < %s | FileCheck %s --check-prefixes=CHECK-INTERLEAVED
+; RUN: opt -passes=loop-vectorize -force-vector-interleave=1 -vectorizer-maximize-bandwidth -enable-epilogue-vectorization=false -mattr=+sve2p1,+dotprod -S < %s | FileCheck %s --check-prefixes=CHECK-MAXBW
----------------
sdesmalen-arm wrote:

A few things:
* Can you reorder the options, so that it's clear what the difference is between the RUN lines?
* For testing interleaving, is it worth doing that for only *one* of the tests? You can set it using the `llvm.loop.interleave.count` loop attribute.
* maximize vector bandwidth is now the default for AArch64, unless explicitly disabled, so you can remove the RUN line that explicitly enables it.

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


More information about the llvm-commits mailing list