[SLP] Vectorize jumbled stores.
authorAlexey Bataev <a.bataev@hotmail.com>
Thu, 31 Oct 2019 13:46:27 +0000 (09:46 -0400)
committerAlexey Bataev <a.bataev@hotmail.com>
Thu, 31 Oct 2019 20:02:25 +0000 (16:02 -0400)
commit70ad617dd645a38abe501d2929172bc842914132
treeab9ca552c02e22b6afac29140286ec1329d96a44
parent2d6d651e8cb62fc5f17782c37dcad0b7bf18a4e6
[SLP] Vectorize jumbled stores.

Summary:
Patch adds support for vectorization of the jumbled stores. The value
operands are vectorized and then shuffled in the right order before
store.

Reviewers: RKSimon, spatel, hfinkel, mkuper

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D43339
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
llvm/test/Transforms/SLPVectorizer/X86/jumbled_store_crash.ll [new file with mode: 0644]
llvm/test/Transforms/SLPVectorizer/X86/store-jumbled.ll
llvm/test/Transforms/SLPVectorizer/X86/stores_vectorize.ll