----------------------------------------
define i1 @src(i32 %0) {
%1:
%2 = fshl i32 %0, i32 %0, i32 25
%3 = icmp eq i32 %2, 5
ret i1 %3
}
=>
define i1 @tgt(i32 %0) {
%1:
%2 = icmp eq i32 %0, 640
ret i1 %2
}
Transformation seems to be correct!https://alive2.llvm.org/ce/z/GdY8Jm
Solves PR51567
Calling this "RotC" or "RotAmtC" makes it more obvious that we are matching a constant.