[Vectorize] Fix vectorization, scalarization and folding of llvm.is.fpclass
authorJay Foad <jay.foad@amd.com>
Fri, 21 Apr 2023 13:11:31 +0000 (14:11 +0100)
committerJay Foad <jay.foad@amd.com>
Mon, 24 Apr 2023 12:42:08 +0000 (13:42 +0100)
commit593e25ffae4a1d67acf61c485220886ffbb0b3e7
tree80f6653734f8b629755e0d8dea07ccb7793419e6
parent3237497d01e8b34039f2b0d160077f09765a0e29
[Vectorize] Fix vectorization, scalarization and folding of llvm.is.fpclass

llvm.is.fpclass is different from other vectorizable intrinsics in that
it is overloaded on an argument type, not on the return type.

Differential Revision: https://reviews.llvm.org/D148905
llvm/include/llvm/Analysis/VectorUtils.h
llvm/lib/Analysis/VectorUtils.cpp
llvm/lib/Transforms/Scalar/Scalarizer.cpp
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
llvm/test/Transforms/InstSimplify/is_fpclass.ll [new file with mode: 0644]
llvm/test/Transforms/LoopVectorize/is_fpclass.ll
llvm/test/Transforms/SLPVectorizer/is_fpclass.ll
llvm/test/Transforms/Scalarizer/intrinsics.ll