https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121926
--- Comment #6 from Jonathan Wakely <redi at gcc dot gnu.org> --- If you have working code for IEEE 128-bit long double (as used on arm64 and optionally on power64) then I think the best thing to do for IBM128 long double would be to_chars((__ieee128)value, ...) or equivalently, to_chars((__float128)value, ...) That should be less lossy, as it would cast it to IEEE 128-bit. However, if you've already done most of the work for IBM128, then maybe we should keep it - if you've done it and it works, then that's good. IIRC currently we just use printf for formatting IBM128, so it's relatively slow. If there are a few bugs in the IBM128 version of Tejú Jaguá then I think we can live with that - it's not a platform we are investing any effort in these days.
