<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/161634>161634</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[InstCombine] ninf should not be preserved
</td>
</tr>
<tr>
<th>Labels</th>
<td>
miscompilation,
llvm:instcombine,
floating-point,
generated by fuzzer
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
dtcxzyw
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
dtcxzyw
</td>
</tr>
</table>
<pre>
Reproducer: https://alive2.llvm.org/ce/z/GNeZKU
```
; bin/opt -passes=instcombine test.ll -S
define float @select_fpclass_fadd(i1 %cond, float nofpclass(nan) %A, float %B) {
%C = fadd float %A, %B
%D = select ninf i1 %cond, float %C, float %A
ret float %D
}
```
```
=>
define float @select_fpclass_fadd(i1 %cond, float nofpclass(3) %A, float %B) {
#0:
%C = select ninf i1 %cond, float %B, float -0.000000
%D = fadd float nofpclass(3) %A, %C
ret float %D
}
Transformation doesn't verify!
ERROR: Target is more poisonous than source
Example:
i1 %cond = #x1 (1)
float nofpclass(3) %A = #xff800000 (-oo)
float %B = #x7f800000 (+oo)
Source:
float %C = #xffc00000 (QNaN)
float %D = #xffc00000 (QNaN)
Target:
float %C = poison
float %D = poison
Source value: #xffc00000 (QNaN)
Target value: poison
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyslEGP4zYPhn8NfRESKFScxAcfnPH6w4cCU3R2e-llIdt0okKWDElOZ-bXF3JcJ9luZ3toECAQ85J89Zim9F6dDFEO6REQ29C8vr_9AYiQlokcw9m6fA4mtW3f8hcanG3HhhyIgp1DGDyIArACrKRWF8K11pd-bd0JsGoIsHoHrP73TL_99CvwAnZ8_vICxJHVygBWdghsNUjvyYMolfGhsX2tDLFAPqy1ZqvPwIuWuhjrtJWBwZZ70tSEr93QaOn91062LeBBbRhg2ljTAj7NYmNnEeDBSAOYRU1xEwBGABmD_RF4weL5iYEoWSx600wZk3YWlZPoaoQZZTr2vfax2sOpmPIdhVuojET25beMHniVID79ZxzEjygACh4f7gOPf3HV4-204ms-fR553UH9R0cTsw8ofXHS-M66XgZlDWsteQO4D-xCTnVvgJso5cWnl5efX-KwfpHuRIEpz3rriA1WeWvs6Fk4S8O8HV1Dc8qr7AdN17vfLjlZBxSvMXLYAGbAiw9usei77jBBiGkra-8TI65Ft7_TAR7_UgIvPl_dTYZuI3XXoFkSf3mWz990KH8gjDQnON9tcAX193pL_GqOXaQeo8UPGs2PYFEuJZYxT9pctJnIZEL5Zp9mIuPpQSTnXIgOu7brKJWHlFpZ07aRqRCIWXPYIU9UjhzTDefI92KHYi2atJWtPOw3uyzNkGDLqZdKLwsqUd6PlG92m53YJlrWpP28CHvlG9sPSk_DFfchPgFizARR3C2o5a8JjjKn1WCVCUv4RIacDNSy-o114_s7uXm7ujxWW9XjycOWa-WDvzkLKuhpKf_f-PA0t0rL62vnz3bULTM2sJrY4MiTu1CbjE7njxv5pMJ5rNeN7QGryfz1ZzU4-zs1AbCaGHjAasZwyfHPAAAA___gN8h1">