<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/185698>185698</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Missed optimization: fold fcmp uno/ord of fptrunc into fcmp of original operand
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
dreamking60
</td>
</tr>
</table>
<pre>
```
define i1 @src(double %arg0) {
%v0 = fptrunc double %arg0 to float
%v1 = fcmp uno float %v0, 0.000000e+00
ret i1 %v1
}
define i1 @tgt(double %arg0) {
%v1 = fcmp uno double %arg0, 0.000000e+00
ret i1 %v1
}
```
alive2: https://alive2.llvm.org/ce/z/gGNd2R
godbolt: https://godbolt.org/z/hfdfYnd4o
Pattern found in: https://github.com/dtcxzyw/llvm-opt-benchmark/blob/main/bench/velox/optimized/ExprToSubfieldFilter.ll
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyEUk2P0zAU_DUvF2sr5yVNm0MOXRZzAiHgwtGOn1Ozjh05Tvfj1yOnpcCyQBRFiud9zIxHzrMdPFEH21vY3hVySccQOx1JjvfWDw0vVNBPHTT88vKDJmM9MVsyqPkce8C9DotyxAC3Mg4csGWwuwV-YPnoxBlUd8xMKS6-Z7_XshSYcUGma3V5ru7HiS3-Ap7HAL5hfMPXhwBveWbDIqWVS24FfoDdXf6-oJmG9F-aLxa_LH5t91-W_2KWdPZECNWBHVOaZqgOgAJQnM83zp3GTYgDoOgJUDwDiuHdB42fgB-GoFVw6c_mC3BpzD1Ho81Xr-tw1v5RpkTRMxMWr5n1r4yw6bioTR9GQKFT__j89AAoMp-bMKUbRb4_jjLeAwrlggIUo7Q-_2UEUJzIhUdAEaZkR_tMGlC8fZzil_B5UcaS08K6RHHjXKG7SrdVKwvqyt2uKpuqrqri2DVbo5VqkRvT7npSe9yS0m1d7euGWlkWtkOODa9KXu6w2uIGa0IyxCvT9KiUgZrTKK27OlnYeV6oK_fbpt0XTipy85puRE8PbEUBMYc9dqtctQwz1NzZOc0_xySbHHXv7TyTZheNMtmwemmC09ekZA-iZsFcI259TnWGg2Eh2sF66ViYKEqviyW67h-XkRn8uIkphm_UJ0Cx8p4BxUXYqcPvAQAA__8D7SVk">