<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/63472>63472</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[InstCombine] Add of select and zext/sext of the select condition not simplified
</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>
```llvm
define i64 @src0(i1 %c) {
%tmp0 = select i1 %c, i64 64, i64 1
%ext = zext i1 %c to i64
%tmp1 = add i64 %tmp0, %ext
ret i64 %tmp1
}
define i64 @tgt0(i1 %c) {
%tmp0 = select i1 %c, i64 65, i64 1
ret i64 %tmp0
}
```
Some more variants: https://alive2.llvm.org/ce/z/bmtPuH
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykUsGOmzAQ_ZrhYm1kxtgsBw7ZRai9VeoXGHtIpgUcYbNq9-srINkmbW-VkBjZb96b53k2Rj5NRDXoF9BNZpd0DnM98Xd2WRf8zxqM3L9heBtBNiCPnnqeSLApBBQyzk4CPnMuALUDrASULztQrEdpvEgBqhGRBnJJfABfNwZT3Kr8rol-pK3nfS2uHSKFFfdInW8w6_0-zi63Mu4kN_BM6Q5wVYKyuRb_sJVO6b9s6b9sPc4g_5zh9s73I30NI4kxzCTe7Mx2ShHUUZxTuqwFYAvY2oHfCA_reg5hPgG2jgDbd8C2G9OX5VPma-UrVdmM6tw8lxrNszbZudZVJ31Z9absC5sXqtRaSaOVrgzqSrmMa5SopEGVKyyVOTjs0FWl73xeGUkEhaTR8vChnnGMC9VGFSVmg-1oiFu0ELf4qCNPMbkwdjwRIAK-AuLIMZJ_CpfEI7_bxGFa73STzfXa9tQtpwiFHDim-FsqcRq24H6eYnq9cupGHL0Xob_txU5-SxFgG9cwhV6kM91uXZg8r4JiCklEHi8D90w-W-ahfnznE6fz0h1cGAHbzc3-e7rM4Ru5VWAzHwHbzf-vAAAA__8lZPg8">