<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/88222>88222</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            add disable condition in `instCombine` pass
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          ESI-SYD
      </td>
    </tr>
</table>

<pre>
    ### Describe the bug

We may need to disable [instCombine](https://github.com/intel/llvm/blob/c821dc934dc7934b0209b5d3f88a280bbaa7145c/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp#L1703) when function is marked with attribute like `strictfp` to avoid unexpected simplification.
In a case, 
```llvm
  %21 = fpext float %15 to double, !dbg !20
  %22 = fpext float %19 to double, !dbg !21
  %23 = fdiv double %21, %22, !dbg !22
  %24 = fptrunc double %23 to float, !dbg !23
```
will be simplified to after this pass.
```llvm
 %16 = fdiv float %10, %14, !dbg !20
```

### To reproduce
Unzip the attachment, [repro.zip](https://github.com/intel/llvm/files/14913127/repro.zip)
apply llvm optimization with
`opt -O3 repro.ll -S -o output.ll`

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUVE2PpDYQ_TXmUmpkFx8NBw4702lppEg5zEZRjv4oGmcNRtjM7Myvjwydns5oN1IkBDL2q3rvuapkCPYyEXWsemDVKZNrHPzS_fL8dHj-85Qpb946hsX-wImCXqwiiAOBWi-Mnxj_sr__IBjlG0xEBqIHY4NUjoBVD3YK8dGPyk7EqhPDZohxDqz4wvDM8HyxcVhVrv3I8GynSI7h2bmXtFTOK4Zn3aAwui1Ko49tUSqOvFWVKfqmkdhwpaQ8irLSH0BnE-7rIqfQ-2UMDM9PdzT-tXqUIYZczzPD4ldx5AXDFl4HmqBfJx2tn8AGGOXyjQy82jiAjHGxao0Ezn4jYDUPcbE69jOreVIvX7w1sE70fSYdyUCw4-xsb7VM8fLdsqcJJGgZiOEjXL2s-f5sOrZfAAwrFMCKE_QzfY_QOy9j-iuqzWq_KrfHQGHUJX2Q34Pxh-D2p2BxDy52sLEv18M7nx1SIX7C4j22vCaOyzrpe3iRcm9UPsGLTz7sy1frHCi62bjXmOwjLRAHG2CWIeQ_tzDJrT90fHjArzJE-WP_PvG4vm8N8dXDQvPizapp3_t9erfz1h8yRqmHkaZdYvWwnczf7fx_u6C3jlIFi7IVhcAjw_NHLGz3xHKe3RskBPg52tG-b6W2FexNi58jHH4rdtK5c3B4hoMHv8Z5jblzN6GZ6QrTFq3MqBNHgam9jlU2dMrUJLiWpCpdS0OmUcdalW0rhNaKVGY75FjyUnCOHKsqb3TdHwWpXineKGlYyWmU1uWJa-6XS2ZDWKlrGkTMnFTkwjaOECd6hW2TIabptHQJc1DrJbCSO5v69hYl2uiok8bcZo_2k7F7_06pSe8HUc23msnWxXX_cRP_jJOUdl78X6Rjup_EKd3IxvnvAAAA__9IoJQd">