(fneg (fma X, Y, Z)) is not the same as (fma (fneg X), Y, (fneg Z-(Za + Zm * Zn) != (-Za + Zm * (-Zn))
due to -0.0when the FMA produces a zero output (e.g. all zero inputs can produce -0
output)
Add a PatFrag to check presence of nsz on the fneg, add tests which
ensure the combine does not fire in the absense of nsz.
See https://reviews.llvm.org/D90901 for a similar discussion on X86.