<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/121786>121786</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[InstCombine] Commuted pattern is not handled
</td>
</tr>
<tr>
<th>Labels</th>
<td>
llvm:instcombine,
missed-optimization
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
dtcxzyw
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
dtcxzyw
</td>
</tr>
</table>
<pre>
https://godbolt.org/z/Wfqeo3rhK
```
define double @t1(i32 %x) {
%cmp = icmp sgt i32 %x, 2
%cst = sitofp i32 %x to double
%sel = select i1 %cmp, double %cst, double 2.000000e+00
ret double %sel
}
define double @t2(i32 %x) {
%cmp = icmp sle i32 %x, 2
%cst = sitofp i32 %x to double
%sel = select i1 %cmp, double 2.000000e+00, double %cst
ret double %sel
}
```
```
define double @t1(i32 %x) {
%sel1 = call i32 @llvm.smax.i32(i32 %x, i32 2)
%sel = uitofp nneg i32 %sel1 to double
ret double %sel
}
define double @t2(i32 %x) {
%cmp = icmp slt i32 %x, 3
%cst = sitofp i32 %x to double
%sel = select i1 %cmp, double 2.000000e+00, double %cst
ret double %sel
}
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy0lN2OozwMhq_GnESDgtNAe8BBpxXSp-8C9jgQF7IKhCVmdmaufgVl_lfa1WqmqviJXl77sS2bGF07EJWgbwHRcnP_-PATEEGfEzNzF6ZyO0zqYB_KjnmMoI6AFWDVBlsHz2mYWsDqEbD6dvlBQU3d_yCPkMvtL4-WLm4gYcNcexKwk5wB7p1CAajvAQ8CiluQR7G8N_0oQJ2FWx5iy-JFdxL4rIq8qqLjcBmfNYLDFuZJGMlfheSpYeGyLcbi9pTQavfqAFO5_gjwVsrVaSJ-JY_kF8TivFx_x4d_y-fpI98n472j-cD9B7xXffynnl79sjXLxnh_hdlJ7-_6NPbmPnXqbblOqwQBD-8p52s5hoHap5qs3m_L8mW9ejuL6itm8fOaldhS2YM6mITKrFB5Vhy0zJKulAovurB7Y3OljSZtFUmF--aSq0I2-8SVKFHLTOZZLnd6n2a10ju5O9SyUHVzaWAnqTfOp2sPw9QmLsaZygyzYp8n3tTk47ZVFgmooxsiN6Gv3UDLgsETIPYuRrI3YWTXu0fDLgzb8pnK5bObem7jMikucnyJxY79urP-GyKfNk99FqfQ9zOTFaNhpmkQLoohsOjMYD3ZZJ78-w3muJvrtAk9YLUmer3djFP4Tg0DVitYBKw2trsSfwUAAP__H16APQ">