tschuett wrote: trunc (binop X, C) --> binop (trunc X, trunc C) is actually misleading. It is actually: trunc (binop X, C) --> binop (trunc X, C), which does not match your pattern. https://github.com/llvm/llvm-project/pull/107721