https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93727
--- Comment #6 from Thomas Henlich <thenlich at gcc dot gnu.org> --- (In reply to Jerry DeLisle from comment #5) > I have been studying this a bit by looking at the 2023 std and functionality > of printf(). > Specifically printf() provides the 'A' descriptor which can be used for > float (kind=4) and double (kind=8). It will accept a long double (80 bit > aka kind=10). I am noticing that the results of double and long double are > identical, no extra precision visible. It is very possible I am not doing > that correctly. > > I do not see anything related to quad precision floats. I am posting this > as i think we will have to do some of our own translating byte portions of > floats ourselves. Portability may be an issue. For example IBM 360 128bit > precision or some other processor may not follow the same internal > representations. > > Regardless I have preliminary code for the frontend that results in calling > anew fucntion write_ex in transfer.c > > I think that kind=4 and kind=8 will be fine. Any thoughts on kind=10 or > kind=16 I would appreciate as I further explore this. Just some thoughts: Have you tried "%LA" for long double? Have you tried quadmath_snprintf (https://gcc.gnu.org/onlinedocs/libquadmath/quadmath_005fsnprintf.html) with "%QA" for quad precision?