This comment suggest the lack of libm support for f128 as the main reason for its removal. From the PR that removed f128, and the minutes of the meeting where the removal of f128 was decided it appears that the main reason for its removal is that its support wasnât even close to being finished before the Rust 1.0 release and there never was an RFC for adding it.
Looking at libmâs documentation:
It is also provided for _Float128 and _Float64x on powerpc64le (PowerPC 64-bits little-endian), x86_64, x86, ia64, aarch64, alpha, mips64, riscv, s390 and sparc.
So while _Float128 is supported by libm on a lot of platforms, it is not supported on all platforms. This shouldnât be a blocker though, since, for example, libm does not support _Float16 anywhere yet LLVM does, so it might be worth it to investigate whether LLVM supports _Float128 in some of the platforms that libm does not like wasm or arm.
In the PR @thestinger mentioned:
thereâs no harm in having it available for use with the libgcc_s (libquadmath) f128 support. [âŠ] The support is compiler-rt is maturing, and it now supports addition, subtraction, multiplication and has an initial (but buggy) comparison implementation. It will soon have full support for the required operations on 64-bit without needing libgcc_s.
So there seems to be a libquadmath/libgcc_s library that supports these and could be used in place of libm, and that back then compiler-rt was starting to get support for these.