davemgreen wrote: It could maybe be a late combine (canonicalization). It might cause a mess like you said but if we only have one way of doing it then it might help simplify how many variants we need to handle. https://github.com/llvm/llvm-project/pull/173004