https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78975
--- Comment #2 from Charles Karney <charles at karney dot com> --- Gag... I see that the standard indeed restricts the implementation to float, double, and long double. Was this really the intention? Everything carries over beautifully for arbitrary types that "behave" as floating point. (The same goes for multiprecision integer types.)