<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/139050>139050</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Missing masked loop vectorization due to optimization in InstrCombine
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
thevar1able
</td>
</tr>
</table>
<pre>
Loop vectorization that worked on `clang-19` stopped on `clang-20`.
Minimal repro:
https://godbolt.org/z/Yd4KjG9Yo
https://godbolt.org/z/cP5jeeo5Y
I bisected the regression to [this PR](https://github.com/llvm/llvm-project/pull/116073). Looks like wrapping inside `select(...)` confuses LoopVectorizer.
Backreference: https://github.com/ClickHouse/ClickHouse/pull/77352#issuecomment-2852255156
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUkstu3SAQhp8Gb1AsGIwvCy9ykduoiRR1USlLwBObHAwW4BM1T1_ZSVQplap2ZTPDDP9886uU7OQReyKviLwp1JbnEPs841lFrrTDQofxZ38XwkrPaHKI9lVlGzzNs8r0JcQTjjR4SmpmnPLTBe9IzWjKYV0_ZYCRmpWEXRJ2eW-9XZSjEdcYiNhDc85r2n9hIDBMYdTB5TLEicDwSmB4HKtvz1-6x_APd82DfEYM8vHttVuqbUKTcaR5RhpxipjSMUWgRF7l2Sb68J3IGwLtp942z5suTVgIDM6dPz4XawzPaDKBYd2cIzBwXrNGEOhKehfCKVFnT0hfolpX6ydqfbIj7jQSuqOwLcuSwIHLBP-0JUx75frjnTPGd1hXypwiPmFEb5CIS_oXidfOmtPXsCX8fHiX2TRCAgFhU9rQhGVBny-glQBSclkXYy_GTnSqwJ43VV13opJtMfcGDBMtr2rNleadUMBF3TXKcNaBqnVhe2AgmWQta0UjmvKpbk1VacZ1NQrWVqRiuCjryp3fvqzi0NBz0THJCqc0unQ4EcDjCz2yBGA3ZuwP6HqbEqmYsymn322yzQ77e5vSDnpRafek-9Oy44b7wsOa7fIRs57e-pTjdVi09Vhs0fX_7YBDado98DbKuYdfAQAA__-gDBPk">