[SLP]Fix incorrect reordering of clustered scalars.
authorAlexey Bataev <a.bataev@outlook.com>
Fri, 6 Jan 2023 19:07:22 +0000 (11:07 -0800)
committerAlexey Bataev <a.bataev@outlook.com>
Sat, 7 Jan 2023 00:04:09 +0000 (16:04 -0800)
commit7439e1b2deba770860d0518956d6eb3e7315f63f
tree55a41ed2fb0fce01130d4b8bad7712239fd1b005
parent8304f6de94872cdcaba63039a61b8860fe367620
[SLP]Fix incorrect reordering of clustered scalars.

The new mask represents the order, not the mask itself. At first, need
to treat as the order, convert to mask and only after that reorder
gathered scalars to build correct clustered order.

Differential Revision: https://reviews.llvm.org/D141161
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
llvm/test/Transforms/SLPVectorizer/X86/reorder-clustered-node.ll [new file with mode: 0644]