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