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

    <tr>
        <th>Summary</th>
        <td>
            [InstCombine] Poison safety violation in `foldLogicOfFCmps`
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            miscompilation,
            llvm:instcombine
      </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/Qcvvgi
```
----------------------------------------
define i1 @src(half %x, half %y) {
#0:
  %copysign.x = copysign half %x, %y
 %ord = fcmp ord half %x, 0x0000
  %cmp = fcmp uge half %copysign.x, 0x7c00
 %#1 = select i1 %ord, i1 %cmp, i1 0
  ret i1 %#1
}
=>
define i1 @src(half %x, half %y) nofree willreturn memory(none) {
#0:
  %copysign.x = copysign half %x, %y
  %#1 = fcmp oeq half %copysign.x, 0x7c00
  ret i1 %#1
}
Transformation doesn't verify!

ERROR: Target is more poisonous than source

Example:
half %x = #x7c02 (SNaN)
half %y = poison

Source:
half %copysign.x = poison
i1 %ord = #x0 (0)
i1 %cmp = poison
i1 %#1 = #x0 (0)

Target:
half %copysign.x = poison
i1 %#1 = poison
Source value: #x0 (0)
Target value: poison

Summary:
  0 correct transformations
  1 incorrect transformations
  0 failed-to-prove transformations
  0 Alive2 errors
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJysVNGu2zYM_RrmRbiBQtuJ8-AH96YGBgztdtsfkGU60SBbniS7cb9-kJz4Nt267QINghg0D3l4jhQK59S5JyogeweIjZfXr_MXQITstBGjvxhb3F5uatPMxQsN1jSjJAtJyS7eDw6SErACrIRWE-FW66nbGnsGrCQBVl8Bq9_lNJ0V8BL2_Pbl5dP__AAvG2pVT0ztGKTcWQmYX4RuGWB2BXxm92AGPDI4vAtMmPAwGi9ZyEgzzEHr9sogObF7yB7axA68DE9jmwhsZTewEDwA-ZVzztfe3fCKHc-0Yl9Jl6KDXIoAM8BkF4scaZI-SousAbkEshtuwcJk6Q4LxUHi4RR-kxMk799qUm9aS8S-KK0t-dH2rKPO2Bkw701PP8fHB6GLk_Tnf7rzI6Gfrehda2wnvDI9awy5HvDg2URWtTNghPLy_cvLx5dwPT8Lew6tHOuMJTYY5UxvRsf8RfTMmdFKupVcRTdoWnSuUuLYgEmYDBlg_umD-AB4_AYzR8zSeWn1aWn70Ok701b4eugrEw80fOFYb8E_Fa22fl8VjIq63zLC2m19v8hgk9BjEPM3mpu3a_7BgrHrhJ3vt4YzaawNl9w_nKCL2R1T_b_lOWuF0tQ8efM0WDPRD1Bl3D6MrDXWfbtpNk2RNMfkKDZU7A5phsckzfPNpThwmeU8reVul6LEPa9FLdsGj9jUe9niRhXIMeMpIk_SNM23vEU65vu2SVue5wmHlFMnlF533kY5N1KxS_b7jG-0qEm7227tlJOmG5SOU4cVi8-AGCohKVXvvDRdrcJfL25fW4TUUz2eHaRcK-fdK41XXsel_Uvv_POtLjux3-IpMCda8jOblFnYmOoZ7HlrdPOrOSv5sa2eu8EFc0ari8c1flb-MtZbaTrAKo63PIL7f5D0gFVU6QCrm9CpwL8CAAD__2tO2w4">