This patch implements the long double floattitf (int128_t) method for PowerPC — specifically to convert a 128 bit integer into a long double (IBM double-double).
The algorithm used in this conversion method from int128_t to long double utilizes the long double floatditf (int64_t) and long double floatunditf (uint64_t) methods, which are already implemented under lib/builtins/ppc/.
This method can be invoked by linking against compiler-rt instead of libgcc, via the -rtlib=compiler-rt command line option supplied to clang.
Just out of curiosity, where does __int128_t come from if we don't include a header that defines it? Does this compile with both gcc and clang?