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

    <tr>
        <th>Summary</th>
        <td>
            Failure to recognise unnecessary sext for add+cmp
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            llvm:instcombine,
            missed-optimization
      </td>
    </tr>

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

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

<pre>
    Pulled out #76524 - we fail to recognize that extension is unnecessary and that the trunc is nsw

```ll
define i8 @src(i16 noundef %x) {
entry:
  %conv = sext i16 noundef %x to i128
  %add = add i128 %conv, 128
  %or.cond.i = icmp ult i128 %add, 256
  assume i1 %or.cond.i
  %conv1 = trunc i16 noundef %x to i8
  ret i8 %conv1
}
=>
define i8 @tgt(i16 noundef %x) {
entry:
 %add = add i16 noundef %x, 128
  %or.cond.i = icmp ult i16 %add, 256
 assume i1 %or.cond.i
  %conv1 = trunc nsw i16 noundef %x to i8
  ret i8 %conv1
}
Transformation seems to be correct!
```
https://alive2.llvm.org/ce/z/epn8hd

</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJycU02P4yoQ_DXtC0qEG3_l4ENm8nx5l6e3-wcwtBNWGCLAmY9fv8KZmc3M7GF2JWQkU9VUFd0yRnN0RD3Ud1AfCrmkkw_9__9-M7N3xej1U__fYi1p5pfEAEXb1FixDXsgNkljWfIskPJHZ56JpZNMjB4TuWi8YyayxTlSFKMMT0w6fUWkE7EUFqcywsUH4Pu8Gn5d1gLfa5qMI2Y6BhWPQQF2pmyY84vTNDHA-hFwx6C9A74nl8ITiFyF5SPl3YWBOLBIj4l95GXNpsTuFS21XsF5z_9fKwDesxuYD1vlnd6aFWzUfGaLTW8MqXUmYN2sBBnjMhMz5TvqrcByrfOSw-8kXm8OlNYUXkg5qPaQv-IA4p-PSaVj-nJSn6x_JH3NfvPZ_Z-Zd_HhbwL4HqSLkw-zTLnZItEcM20kpnwIpBJgedtXwPenlM4x28cBcJDWXAi31l7mrQ9HwEER4PAMONDZdScNfF_oXuid2MmC-rKtSmxE1zbFqRd8krItO9k2Wk3drqtIjZpXdVvzlkpZmB451lzwpkSsRL0tWz1NVau7nSQcRQUVp1ka-yagMDEu1JeC864rrBzJxnUyETMExN64mJSfR-MIEAHvAXE2MZLe-HMys3lew8hn9aEIfaZtxuUYoeLWxBR_3ZVMstQP0tgl0M0YR3o3tOsETT6w9YXv1HwulmD790EeTTot41b5GXBYpV63zTn4H-tDDKu1CDi8uLv0-DMAAP__bKhcAA">