[builtins] Implement __floattitf() & __floatuntitf()

Authored by mgorny on Jan 6 2017, 10:46 AM.


[builtins] Implement floattitf() & floatuntitf()

Implement the missing floattitf() and floatuntitf() functions, to
convert 128-bit (unsigned) integers to quad-precision floating-point
types. This is needed e.g. on AArch64 where 'long double' is
a quad-precision type.

The code is based on the existing code for floattixf()
floatuntixf(), updated to account for different bit field lengths
of quad-precision float. The tests are also copied, with the rounding
tests adjusted for longer significand.

Differential Revision: https://reviews.llvm.org/D27898

llvm-svn: 291259