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

    <tr>
        <th>Summary</th>
        <td>
            [ValueTracking] miscompile in samesign compare
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            miscompilation,
            llvm:optimizations
      </td>
    </tr>

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

    <tr>
      <th>Reporter</th>
      <td>
          DianQK
      </td>
    </tr>
</table>

<pre>
    #122590 and #122700 miscompile the following code:

```llvm
define i1 @src(i8 %L0, i8 %L1, i1 %V) {
  %LHS = icmp samesign ugt i8 %L0, %L1
  %R0 = sub nsw i8 %L0, %L1
  %RHS = icmp ult i8 %R0, -1
  br i1 %LHS, label %LHS_true, label %LHS_false

LHS_true:
  br label %EXIT

LHS_false:
  br label %EXIT

EXIT:
  %RET = phi i1 [ %RHS, %LHS_true ], [ %V, %LHS_false ]
 ret i1 %RET
}
```

`%RHS` should be 1: https://alive2.llvm.org/ce/z/RscAzy.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJx8U01vpDAM_TXmEnUUHMLHgQPtFHW1vey0qva2CuCB7AYYkdCq_fUrAp2Z1UqVkHDsF_s9x1bW6nYgykHeAuJeq-HHd0AEuQ_U7LpxyldfUI3New4oQkSZcaaGhq2nhHPWa1uP_UkbYq4jdhyNGd_00LJ6bAhEAdx_MV8_Y1574EVDRz0Q0yGDiNupBkx1ygDlIwe8Y5sdejtc7BfAjEFyC7xgPvbwxEDsma77E7Oqp0UMm1vHrvOsSbYrB-5v2Llig337AnedejafGQ8eebPCqmnj9fjwtLiNqshs519umuk_51EZS2szzhjfHZ_sDL3_-e35glovfQnz1oZYWN4_e_KnTnuG8naT9Clzq81A7r1rBbxchX1RH-cFm8htSg_3vmKyv37Oy-uuRWLObDfOpmEVsRBEwTrnTnYhiCVgqYx-JdwtU7AbpxawrAmw_AAsD7YuPt53QZOLJhOZCigPE5EkKDIZB12uMAmRp0IdkzpWGYVRE5OUWZpKRWmmAp0jR8lDjELBpYx2FWXUZBGKYywwDUOIOPVKm3P5QFs7Ux5ihHES-ObabR3OY62cHodlLfAOEP34imI8Od3rDx-z285M-RK8qebWQsSNts5eCjntjN-0F2Vmep5U_UcPLcj99f7o4TLJi09NFMyTyf9tYatdN1e7euwBS89n_d2cpvE31Q6w9LIsYLkpe83xbwAAAP__dj8eqQ">