https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83964
--- Comment #11 from Steven Munroe <munroesj at gcc dot gnu.org> --- The requirement was to reduce the use of (in-line) assembler in libraries. Asm is error prone in the light of 32/64-bit ABI difference and the compiler (usual) generates the correct code for the target. Float <-> int/long conversion is common operation and builtin instructions are preferred where the Posix functions are unnecessarily heavy.