[all-commits] [llvm/llvm-project] ec146c: [LV] Add support for minimum/maximum intrinsics
annamthomas via All-commits
all-commits at lists.llvm.org
Tue Jun 20 10:17:42 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: ec146cb7c0b4a162ee73463e6c7bb306b99e013b
https://github.com/llvm/llvm-project/commit/ec146cb7c0b4a162ee73463e6c7bb306b99e013b
Author: Anna Thomas <anna at azul.com>
Date: 2023-06-20 (Tue, 20 Jun 2023)
Changed paths:
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/test/Transforms/LoopVectorize/minmax_reduction.ll
Log Message:
-----------
[LV] Add support for minimum/maximum intrinsics
{mini|maxi}mum intrinsics are different from {min|max}num intrinsics in
the propagation of NaN and signed zero. Also, the minnum/maxnum
intrinsics require the presence of nsz flags to be valid reductions in
vectorizer. In this regard, we introduce a new recurrence kind and also
add support for identifying reduction patterns using these intrinsics.
The reduction intrinsics and lowering was introduced here: 26bfbec5d2.
There are tests added which show how this interacts across chains of
min/max patterns.
Differential Revision: https://reviews.llvm.org/D151482
More information about the All-commits
mailing list