Description
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 Lean4libstdcxx.