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