Negative FABS of either a scalar or vector should be handled the same way on x86 with SSE/AVX: a single OR instruction of the FP operand with a constant to light up the sign bit(s)
I don't know if I've chosen the best or even the right way to bail out of lowering a FABS if it has an FNEG user. I want to lower any potential FNABS cases before lowering the FABS into an AND. If the FABS gets lowered first, then it's much harder to detect an FNABS opportunity - we'd have to look through a potential cast, then a constant pool load, then check the constant(s)...messy.
I think this check is not necessary because the graph always comes from bottom.