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