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