<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/141930>141930</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[InstCombine] SignBitCheck(SignPreservingOp(X)) -> SignBitCheck(X)
</td>
</tr>
<tr>
<th>Labels</th>
<td>
llvm:instcombine,
missed-optimization
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
dtcxzyw
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
dtcxzyw
</td>
</tr>
</table>
<pre>
Alive2: https://alive2.llvm.org/ce/z/c2vTkD
```
define i1 @src(i16 %x) {
%spec.select7.i.i.i.i.i = call i16 @llvm.smax(i16 %x, i16 -128)
%.08.i.i.i.i.i = call i16 @llvm.smin(i16 %spec.select7.i.i.i.i.i, i16 127)
%trunc = trunc nsw i16 %.08.i.i.i.i.i to i8
%cmp = icmp slt i8 %trunc, 0
ret i1 %cmp
}
define i1 @tgt(i16 %x) {
%cmp = icmp slt i16 %x, 0
ret i1 %cmp
}
```
This pattern exists in Lean4.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyEU0-Pmz4Q_TTDxQoyY0jMgQOb_JB-UqVW6h56BTMh0wWDsJPN7qevzLJ_FbUCibFn5j3m-bl2jjtLVEB2B4itN9fnp0dAhOwQ1Wd_Gudi3YyasX0qyp4vhKBKcfJ-cqBKwAqwqpf9uO8vQzzOHWBlCLB6DgFe7h8OIEvYyvWVZUtHtiQ4EZBKNxtAzclWAGZXwFzA7g5kGZZuIhM76sn4XcyvjwB1EKbue7F0pXIhdkN9_QS0X9KbBDVgvgLGUv8bh-07zu0_eAVPcPeO7eezNQvmS2Tdo1hRPtP6UbAOTSFlhmnp4RC43gvWb2CBJuglZvKLWkt5EHO3SPpFSd_520re5vkg1N9IPpzb_YmdmGrvabaCruy8E2zFN6ptGoMso7ZQba7yOqIi2aU6S3Y6V9GpkKgaSvU2PWaqyVDrxJg80cZorUijjLhAiZnMME8STDMV13Uut8e8zVM8UioVpJKGmvs3k0Xs3JmKJE1yJaO-bqh3q5FDCaiSrfNmHBq2FDyNe0Ac2DlqN-PkeeDn2vNoV7_PRWjbNOfOBSeE2d65PPt-uSb_W-f3K2Z2ED-5s3fs9ycyD4A6LH_M5Gi-sO2-T4D6V_AH5mID6r-v5SEXnee--HybOvancxObcQCslllePptpHn-T8YDVMrsDrNbxLwX-CQAA___e3Bvr">