This is roughly equivalent to the floating point portion of AArch64TargetLowering::LowerVSETCC. Main part that's missing is the v4s16 bit.
This also adds helpers equivalent to EmitVectorComparison, and changeVectorFPCCToAArch64CC. This moves changeFCMPPredToAArch64CC out of the selector into AArch64GlobalISelUtils for the sake of code reuse.
This is done in post-legalizer lowering with pseudos to simplify selection. The imported patterns end up handling selection for us this way.