[SLP]Allow masked gathers only if allowed by target.
authorAlexey Bataev <a.bataev@outlook.com>
Mon, 3 May 2021 14:23:29 +0000 (07:23 -0700)
committerAlexey Bataev <a.bataev@outlook.com>
Mon, 3 May 2021 15:06:20 +0000 (08:06 -0700)
commitfd18547e0721983dcb273670d16341921f831e50
tree160666f94bfe724c9c823f9b28d37c0a06dee5dd
parent27b651ca473ba33999888cc302efb5f856ec7cea
[SLP]Allow masked gathers only if allowed by target.

Need to check if target allows/supports masked gathers before trying to
estimate its cost, otherwise we may fail to vectorize some of the
patterns because of too pessimistic cost model.

Part of D57059.

Differential Revision: https://reviews.llvm.org/D101297
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
llvm/test/Transforms/SLPVectorizer/X86/tiny-tree.ll