[llvm] [InstCombine] Teach foldSelectOpOp about samesign (PR #122723)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 23 13:56:33 PST 2025


nikic wrote:

Reduced:
```llvm
define i1 @src(i1 %c, i32 %arg) {
  %cmp1 = icmp samesign ult i32 %arg, 131072
  %cmp2 = icmp slt i32 %arg, 0
  %select = select i1 %c, i1 %cmp1, i1 %cmp2
  ret i1 %select
}

define i1 @tgt(i1 %c, i32 %arg) {
  %select.v = select i1 %c, i32 131072, i32 0
  %select = icmp ult i32 %arg, %select.v
  ret i1 %select
}
```

The predicate in tgt should be slt, not ult.

https://github.com/llvm/llvm-project/pull/122723


More information about the llvm-commits mailing list