Currently compiler does not support mixing of shuffled nodes
+ gather/buildvector of the remaining scalar values. It may reduce total
number of instructions and improve performance of the gather/buildvector sequences.
Part of D110978
| Paths 
 |  Differential  D146167  
[SLP]Introduce shuffle of the nodes + gather/vectorbuild  of the remaining scalars. ClosedPublic Authored by ABataev on Mar 15 2023, 2:14 PM. 
Details Summary Currently compiler does not support mixing of shuffled nodes number of instructions and improve performance of the gather/buildvector sequences. Part of D110978 
Diff Detail 
 Event TimelineThis revision is now accepted and ready to land.Mar 16 2023, 6:10 PM This revision was landed with ongoing or failed builds.Mar 17 2023, 11:21 AM Closed by commit rG0ad87ffdcc23: [SLP]Introduce shuffle of the nodes + gather/vectorbuild  of the remaining… (authored by ABataev).  ·  Explain Why This revision was automatically updated to reflect the committed changes. 
Revision Contents 
 
 
Diff 505621 llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
 
 llvm/test/Transforms/SLPVectorizer/X86/c-ray.ll
 llvm/test/Transforms/SLPVectorizer/X86/commutativity.ll
 llvm/test/Transforms/SLPVectorizer/X86/crash_clear_undefs.ll
 llvm/test/Transforms/SLPVectorizer/X86/crash_netbsd_decompress.ll
 llvm/test/Transforms/SLPVectorizer/X86/crash_smallpt.ll
 llvm/test/Transforms/SLPVectorizer/X86/cse.ll
 llvm/test/Transforms/SLPVectorizer/X86/jumbled-load-multiuse.ll
 llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
 llvm/test/Transforms/SLPVectorizer/X86/matched-shuffled-entries.ll
 llvm/test/Transforms/SLPVectorizer/X86/memory-runtime-checks.ll
 llvm/test/Transforms/SLPVectorizer/X86/operandorder.ll
 llvm/test/Transforms/SLPVectorizer/X86/phi.ll
 llvm/test/Transforms/SLPVectorizer/X86/pr35497.ll
 llvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
 llvm/test/Transforms/SLPVectorizer/X86/reduction2.ll
 llvm/test/Transforms/SLPVectorizer/X86/reorder-clustered-node.ll
 llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather.ll
 llvm/test/Transforms/SLPVectorizer/X86/root-trunc-extract-reuse.ll
 llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||