https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120976
--- Comment #5 from Tomasz KamiĆski <tkaminsk at gcc dot gnu.org> --- > powerpc as well (at least with some options), one can have long double as > IEEE double, IBM double double and IEEE quad depending on options. s390 as well (again, long double can be IEEE double or IEEE quad depending on options). sparc too. In such cases we provide for matters both for __iee128 and __ibm128, and __float128 is always one of them (see _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT). The formatter specialization, that is causing issue, was used only for cases where: * _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT is false, * long double is IEEE 128bit (same representation as _Float128) * __float128 is different type. I haven't seen report of any where it would be helpful, however this is second case where it causing trouble.