HanKuanChen wrote: No. As you said, SLP assumes that VL consists of InsertElement and comes from the same source. In addition, `getElementIndex` is widely used to vectorize InsertElement, but it does not support PoisonValue. https://github.com/llvm/llvm-project/pull/146921