Unsigned 32-bit or shorter integer to ppcf128 conversion are currently expanded as signed-to-double with an extra fadd to 'complement'. But on PowerPC we have native instruction to directly convert unsigned to double since ISA v2.06. This patch exploits it.
Another question about this: is it safe to change fadd ppc_fp128 to fadd double to eliminate libcall? Not all i64 integers are fully representable in double. So for those numbers in ppcf128 (lower part is not all-zero), can we only do addition for both higher parts?
Does the result of isOperationLegalOrCustom() actually matter here? Even if it's not legal, the UINT_TO_FP is going to be faster than the alternative.