<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/59393>59393</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[InstCombine] Failure to simplify nested selects
</td>
</tr>
<tr>
<th>Labels</th>
<td>
llvm:instcombine,
missed-optimization
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
nikic
</td>
</tr>
</table>
<pre>
https://alive2.llvm.org/ce/z/GjCXkB
```
define i32 @src(i1 %t1, i1 %t2, i32 %a, i32 %b, i32 %c) {
%s1 = select i1 %t1, i32 %a, i32 %b
%and = select i1 %t1, i1 %t2, i1 false
%s2 = select i1 %and, i32 %c, i32 %s1
ret i32 %s2
}
define i32 @tgt(i1 %t1, i1 %t2, i32 %a, i32 %b, i32 %c) {
%s1 = select i1 %t2, i32 %c, i32 %a
%s2 = select i1 %t1, i32 %s1, i32 %b
ret i32 %s2
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0U02PmzAQ_TXDxdrIHmM-Dhx2g6j6D3o1eJJ410DEmJV2f30FpdmkTXqrhMTD-M289zRjmf1xIKrAvICpEzvH0zhVg3_zXdKO7qM6xXhm0M-ADWBjg38n3IXw3u_G6QjYdATYfAI23173P95eQNYgnyGT27N-Ojr4gYTXKCCVPHWAhVcC0EQFuBcbxhUvl9DYK9xe4Q6wFJBvfcRyxEqArgVToC6Km7r3an0R7eAeMq8VKXGwgem6Jf5NtIO71XnBrH5TJ4qXQ9yiyut7IcVj_P8h4QPBdiM-cHoTLqt76f7L6GU4EldpV-rSJlSpLJdpWepUJ6cqk2WrXU5kFMnUHGxR6E6lJsuyQrqsSHyFElGhLJTSJpU7tC05nbcpyTY3RkEqqbc-XCY18cwzVabUpU6CbSnwOvOIyw3Qz37g2I196wcCXIIBxN4zk3saz9H3_tNGPw7LP1MnU7XQntr5yJDK4DnyV6voY1g36vvAcb_VNLVorA_zRCKOgn1_Dv7wIQbiSG7Ll5N5Cn9s3NHH09zuurEHbFatv15P52l8pS4CNqs1BmxWdz8DAAD__632Cys">