https://github.com/RKSimon commented: I don't understand why you require the BinOp for this - I'd be tempted to just make this about a `insertelement(X, extractelement(Y,C1), C2` -> `shuffle X, Y` fold. https://github.com/llvm/llvm-project/pull/115213