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

    <tr>
        <th>Summary</th>
        <td>
            [InstCombine] reduce extractelt of select-of-constants
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

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

<pre>
    ```ll
define i8 @src(i1 %b) {
  %s = select i1 %b, <3 x i8> <i8 -1, i8 34, i8 23>, <3 x i8> <i8 1, i8 2, i8 4>
  %e = extractelement <3 x i8> %s, i64 2
  ret i8 %e
}

define i8 @tgt(i1 %b) {
  %r = select i1 %b, i8 23, i8 4
  ret i8 %r
}
```

https://alive2.llvm.org/ce/z/Nx7Ffg

This pattern appears (via bogus SLP transforms?) in the example from issue #58552.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx9UtuOmzAQ_RrzYgWBzfWBh92kkSpVVaX2B4wZgyuDkW3StF_fgZDNdldbycZzn3NmaG33uyFFcjvGkOREkqcOlJ6A6oqSLPFOElbplBKWt4TVlJTPtzC6mjwl_EQ9GJCBvkQd0Xrk9Io1CP-0KljskK4OFHi2C4yj94PoezDb32wNffSFrS9cgxMyYPcRpvCmDILbcosMi-yZDsLGCwvcTKQ87cJ76qEP_6PuPqB-I3ZH_a6xe9v4Pv7XOIYQZk_4E2FnPMLoC7DYmMsYW9ejRQJ-_uD9ei3Pqn-d-mPQns4iBHATFfMMwuGSWHXRgra2Xzz9_uUbxblNXlk3Ypfzyk1PNAyAExXjbIAqZ0eqvV9w0IznVZ6zOIImLYqSVzWviqhreFfzWkRBBwMNyZ8_Tz4c7djiBEl-QsrdIuGxo0Ct2sd1sOogLYaLKfhocab5l3Cvw7C0sbQjKivt_TnMzv7EfFQ3bLjgc16VBY-GphasU6qVXdpVqpQ8LRJUalnnWVenvIqMaMH4FShhbIJfN3ooI9hINyxhLE0TvBlPilhJ1XJIoZCyZG3X4v8Ao9DmZQuRazZI7dJ7dBrtg384hfe6n2Cby1pfLGGwrnE2CFyM7ocQbe2bDf5fODcCHQ">