[all-commits] [llvm/llvm-project] c195ae: [SLPVectorizer][X86][AMDGPU] Remove fcmp+select to...
topperc via All-commits
all-commits at lists.llvm.org
Thu Sep 10 11:50:10 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: c195ae2f003261f2c25f569b07ae556dee57f17d
https://github.com/llvm/llvm-project/commit/c195ae2f003261f2c25f569b07ae556dee57f17d
Author: Craig Topper <craig.topper at intel.com>
Date: 2020-09-10 (Thu, 10 Sep 2020)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AMDGPU/horizontal-store.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
Log Message:
-----------
[SLPVectorizer][X86][AMDGPU] Remove fcmp+select to fmin/fmax reduction support.
Previously we could match fcmp+select to a reduction if the fcmp had
the nonans fast math flag. But if the select had the nonans fast
math flag, InstCombine would turn it into a fminnum/fmaxnum intrinsic
before SLP gets to it. Seems fairly likely that if one of the
fcmp+select pair have the fast math flag, they both would.
My plan is to start vectorizing the fmaxnum/fminnum version soon,
but I wanted to get this code out as it had some of the strangest
fast math flag behaviors.
More information about the All-commits
mailing list