<div dir="ltr"><div>Hey list,</div><div><br></div><div>I don't have bugzilla (reasons - incidentally is there anyone working on a more sane way to report bugs yet?).</div><div><br></div><div>Between LLVM 13 rc2 and trunk I've got some new fun fail in the SLP vectorizer. I'll attach the repro below (I could repro it with opt --slp-vectorizer test.ll) - fails with:</div><div><br></div><div style="margin-left:40px">Assertion failed: !isa<PHINode>(I) && !isVectorLikeInstWithConstOps(I) && "phi nodes/insertelements/extractelements/extractvalues don't need to " "be scheduled", file ..\lib\Transforms\Vectorize\SLPVectorizer.cpp, line 6096</div><div><br></div><div>Anyone know what has changed in the short time from 13 -> trunk that'd cause this?</div><div><br></div><div style="margin-left:40px">define void @test([4 x float]* nocapture %o, [2 x float]* nocapture nonnull readonly dereferenceable(8) %a, [2 x float]* nocapture nonnull readonly dereferenceable(8) %b, i32 signext %component) {<br>entry:<br>  %0 = bitcast [2 x float]* %a to <2 x float>*<br>  %1 = load <2 x float>, <2 x float>* %0, align 1<br>  %2 = bitcast [2 x float]* %b to <2 x float>*<br>  %3 = load <2 x float>, <2 x float>* %2, align 1<br>  %4 = trunc i32 %component to i8<br>  %5 = shufflevector <2 x float> %1, <2 x float> %3, <8 x i32> <i32 0, i32 1, i32 undef, i32 undef, i32 2, i32 3, i32 undef, i32 undef><br>  %6 = extractelement <8 x float> %5, i8 %4<br>  %7 = insertelement <4 x float> undef, float %6, i64 0<br>  %8 = extractelement <2 x float> %3, i32 1<br>  %9 = insertelement <4 x float> %7, float %8, i64 1<br>  %10 = extractelement <2 x float> %1, i32 1<br>  %11 = insertelement <4 x float> %9, float %10, i64 2<br>  %12 = insertelement <4 x float> %11, float %6, i64 3<br>  %13 = bitcast [4 x float]* %o to <4 x float>*<br>  store <4 x float> %12, <4 x float>* %13, align 1<br>  ret void<br>}<br></div><div><br></div><div>Thanks for any help,</div><div>-Neil.<br></div><div><br>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><table style="border-collapse:collapse;border-spacing:0px;color:rgb(90,90,91);font-size:13px;margin:0px 0px 20px;padding:0px" width="100%" cellspacing="0" cellpadding="0" border="0"><tbody style="margin:0px;padding:0px"><tr style="margin:0px;padding:0px"><td style="border-collapse:collapse;font-size:0px;line-height:1.5em;padding:0px 0px 20px;vertical-align:top" align="left"><table style="border-collapse:collapse;border-spacing:0px;margin:0px;padding:0px" cellspacing="0" cellpadding="0" border="0" align="left"><tbody style="margin:0px;padding:0px"><tr style="margin:0px;padding:0px"><td style="border-collapse:collapse;font-size:1.12em;line-height:1.5em;padding:0px;vertical-align:top;width:64px"><img style="border:medium none currentcolor;border-radius:0px;display:block;font-size:13px;height:auto;line-height:100%;margin:0px;max-width:100%;outline-style:none;outline-width:medium;padding:20px 0px 0px;width:100%" alt="" src="https://unity3d.com/profiles/unity3d/themes/unity/images/ui/other/unity-logo-dark-email.png" width="64" height="auto"></td></tr></tbody></table></td></tr><tr style="margin:0px;padding:0px"><td style="border-collapse:collapse;font-size:0px;line-height:1.5em;padding:0px;vertical-align:top" align="left"><div style="color:rgb(0,0,0);font-family:Roboto,Arial;font-size:14px;font-weight:600;line-height:15px;margin:0px;padding:0px">Neil Henning</div></td></tr><tr style="margin:0px;padding:0px"><td style="border-collapse:collapse;font-size:0px;line-height:1.5em;padding:0px;vertical-align:top" align="left"><div style="color:rgb(0,0,0);font-family:Roboto,Arial;font-size:14px;line-height:15px;margin:0px;padding:0px 0px 10px">Senior Software Engineer Compiler</div></td></tr><tr style="margin:0px;padding:0px"><td style="border-collapse:collapse;font-size:0px;line-height:1.5em;padding:0px;vertical-align:top" align="left"><div style="color:rgb(0,0,0);font-family:Roboto,Arial;font-size:12px;line-height:15px;margin:0px;padding:0px"><a href="http://unity.com" target="_blank">unity.com</a></div></td></tr></tbody></table></div></div></div></div>