<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">