Open
Description
https://alive2.llvm.org/ce/z/7A_uJr
define i1 @src(i8 range(i8 0, 4) %arg) {
%add = add nsw i8 %arg, -1
%and = and i8 %add, -3
%cmp = icmp eq i8 %and, 0
ret i1 %cmp
}
define i1 @tgt(i8 range(i8 0, 4) %arg) {
%and = and i8 %arg, 1
%cmp = icmp ne i8 %and, 0
ret i1 %cmp
}
Not sure how to generalize this best.