https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103623
--- Comment #28 from Peter Bergner <bergner at gcc dot gnu.org> --- (In reply to Segher Boessenkool from comment #27) > OTOH, it makes no sense to test if we have hard float. The pack and unpack > builtins should work (and work the same) whenever long double is > double-double. Agreed. For soft-float, the value would be a a GPR pair versus a FPR pair (for -m64). It's a little tricker for -m32 -msoft-float compiles, since a 128-bit long double would live in 4 32-bit GPRs, so more regs than it takes to hold them in FPRs. Not much of a complication, but just needs to be tested on 32-bit to ensure it works as expected.