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