https://github.com/lukel97 commented: FWIW DAGCombiner folds `(fadd A, (fneg B)) -> (fsub A, B)` in visitFADD, I wonder if it would be worthwhile to teach it to look through splats too https://github.com/llvm/llvm-project/pull/173589