https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96173
--- Comment #2 from Vincent Lefèvre <vincent-gcc at vinc17 dot net> --- IMHO, the implementation is highly inefficient. Even with all these functions (which are similar, thus should share most code), 3 MB seems a lot to me. In particular, some user complained that the size of the GNU MPFR library (which now uses such conversions) has been multiplied by 5. This is even worse with the GCC 11 snapshot, using ./configure CC=gcc-snapshot CFLAGS="-O2": 663880 with --disable-decimal-float 4836016 with --enable-decimal-float 1914376 with --enable-decimal-float and hardcoded values instead of conversions 668240 with --enable-decimal-float and even more hardcoded values Note that this is MPFR that does the binary-to-decimal conversion itself (MPFR uses _Decimal128 operations just for the format conversion, to generate either NaN/±Inf/±0 from a double or some regular value from a decimal character sequence). If MPFR can do this conversion within its few hundreds of KB[*], I don't see why this can't be done by GCC. [*] This does not include the small part of GMP on which MPFR is based, but this includes much unrelated code, for all the functions MPFR implements.