<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/72524>72524</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Assertion `I >= 0 && I < (NumOpElts * 2) && "Out-of-bounds shuffle mask element"' failed. 
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            loopoptim,
            llvm:SLPVectorizer,
            llvm:crash
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
            alexey-bataev
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          danilaml
      </td>
    </tr>
</table>

<pre>
    Doesn't look like the issue in https://github.com/llvm/llvm-project/issues/68647 was fully fixed. I was able to reproduce the assertion (bisected to the same commit) with the following IR:
```llvm
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128-ni:1-p2:32:8:8:32-ni:2"
target triple = "x86_64-unknown-linux-gnu"

define void @test() {
bb:
 br label %bb1

bb1:                                              ; preds = %bb10, %bb
  %phi = phi i32 [ 0, %bb10 ], [ 0, %bb ]
  %phi2 = phi i32 [ 0, %bb10 ], [ 0, %bb ]
  %phi3 = phi i32 [ 0, %bb10 ], [ 0, %bb ]
  %phi4 = phi i32 [ 0, %bb10 ], [ 0, %bb ]
  %phi5 = phi i32 [ 0, %bb10 ], [ 0, %bb ]
  %phi6 = phi i32 [ 0, %bb10 ], [ 0, %bb ]
  %phi7 = phi i32 [ 0, %bb10 ], [ 0, %bb ]
  %phi8 = phi i32 [ 0, %bb10 ], [ 0, %bb ]
  switch i32 0, label %bb16 [
    i32 0, label %bb14
    i32 1, label %bb11
  ]

bb9: ; No predecessors!
  br label %bb11

bb10: ; No predecessors!
  br label %bb1

bb11: ; preds = %bb9, %bb1
  %phi12 = phi i32 [ 0, %bb9 ], [ %phi7, %bb1 ]
  %phi13 = phi i32 [ 0, %bb9 ], [ undef, %bb1 ]
  ret void

bb14: ; preds = %bb25, %bb1
  ret void

bb15: ; preds = %bb25
  ret void

bb16: ; preds = %bb25, %bb1
  %phi17 = phi i32 [ %phi, %bb1 ], [ 0, %bb25 ]
  %phi18 = phi i32 [ %phi2, %bb1 ], [ 0, %bb25 ]
 %phi19 = phi i32 [ %phi3, %bb1 ], [ 0, %bb25 ]
  %phi20 = phi i32 [ %phi4, %bb1 ], [ 0, %bb25 ]
  %phi21 = phi i32 [ %phi5, %bb1 ], [ 0, %bb25 ]
 %phi22 = phi i32 [ %phi6, %bb1 ], [ 0, %bb25 ]
  %phi23 = phi i32 [ %phi7, %bb1 ], [ 0, %bb25 ]
  %phi24 = phi i32 [ %phi8, %bb1 ], [ 0, %bb25 ]
 ret void

bb25:                                             ; No predecessors!
  switch i32 0, label %bb16 [
    i32 0, label %bb14
 i32 1, label %bb15
  ]
}
```
run with `opt -passes=slp-vectorizer -slp-threshold=-99999`.

Godbolt link: https://godbolt.org/z/8hao8foqv
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysV02PozgT_jXOxSKyy2DgkEN6Mnk10quZ1Y6015UBE7xtMItNf8yvX9mQdOertekNSsCuKj8uF1WVJ8JateukXKHkAQEILV_ka1QIJ-QTAkDJZiFG15hhVYlOadHqRWGq19XGSNshSB3WxjxirR4ldo3EytpRYtXhxrneIrZGsEWw3SnXjMWyNC2CrdZP-0fUD-YvWToE27DSItjyjMcpfhYW16PWr7hWL7Ja4m9BJAotsTN4kP1gqrGcdhXWysEp02EEWaGsLJ2svJlXWtFKXJq2VQ5Bjp-Va4K8NlqbZ9Xt8LffvaNkg8gacTJ9gpNB5MSwkw5XwgktXs3oMGIbjABk1CK2llEPKUFszSDc_JQeT_2Ix-EWqcOAQobYmkIW1RmZR10Q8f1yHkc_g1h5cdTDXpHNXwaTDvy7eu-tG1Sv5d7Tl4z_yeNo7B4789xFWnXjS7TrxsOq6V7JWnUSPxlVYRQTJ61DkPmgofRhMimKQ6hwMWAtCqkxgqQo6HskP2VrfNOF2APuB1nZ2WuPSRB8mYbznn7SNyqY-KdigFHygN8MKcEo2YTpkTxIj0DgLijsLijxXVCSu6Dwu6Ckd0HJ_iOKfVaubMLiYPA-YblftzfEl23iYz091dODu_s99wWQ-wLwOf3dhLSWpbTWDBbBYc1JAZ1WELkZ4QSA7gFOyip_C-FxtOlHJZG_j_b8jt-Azl8d_agyjsDGrpL1ZahButCPTk4WXzkZJOdHuwKRXIf4eCG_Ye85Eue1MClOznyWyZBcCOt5Sczt7Ca0GSy_AsY-4xqQK2jxp9DoFbTkEweF88yem92nXDtP7csF8e_Qzpv_3PxuQrucrpDc-kP8cce5V0O92E2T826abk6I2TQdxm5icogT0zsc9Z4DWsQ2VvfRkyydGdQvOeDIz10zSNsYXSG2iXJ_IU6W7wP1P1MVRjusVffoA3ZCXyft0gw7BNtfCLZZI0xWm7-fFtWKVTnLxUKuaEoIjTOSkkWzqihP81ikTApWFhDLuOA1ySnLOY1ZXi7UCggwSimnCVBKljQueCmhynJeU0E5iolshdJLz0X93ovAkVcpJBAvQtzszNu1Mb3pnWo9o4MvXuL5K1v__P9vfxyCcaosB2GbmeUPq8DHi3FnUUy0ss6-7euU03K1fmPZnHzDiH31aUswAo6AYy_xeZl9H9sf_VftLEawxhD442SCAH6MLjJ1VJixqyy2zVjXWuJW2EcstWxl54KXKa6F0p73L8ZBrz7_byIE658AAAD__5ZgT_Y">