This is a positive combination as long as the NEG is NOT free, as we are reducing the number of NEG from two to one.
Unit tests: pass. 61273 tests passed, 0 failed and 736 were skipped.
clang-format: fail. Please format your changes with clang-format by running git-clang-format HEAD^ or applying this patch.
This is really a good suggestion. I will go with that mechanism, though it seems that, it didn't respect the TLI.isFNegFree() and UnsafeFPMath which didn't make sense. (When it is FNEG opcode, we just return 2 to indicate that it is profitable. What if some target is free for FNEG operations ...)