jayfoad wrote: I still don't understand why we need two implementations of "fold (avgfloor x, 0) -> x >> 1" in the same function, so it would be a nack from me. Maybe one of the other reviewers can understand it. https://github.com/llvm/llvm-project/pull/85581