This patch is just a bit of cleanup to ease refactoring LowerFABS() and LowerFNEG() since they have a lot of overlap.
I've removed the creation of a floating point constant from an integer because it's going to be used for a bitwise integer op anyway.
I don't intend for this to make any difference to codegen, and AFAICT there isn't. There's no difference in test-suite either.
I think you can replace ~APInt::getSignBit(EltBits) with APInt::getSignedMaxValue(EltBits)