Improving Software Floating Point Support

Version 2

    GCC’s runtime library contains a set of software floating point routines, to be used when the required operation is not available in  hardware. These routines have not been significantly optimized, and  software floating point performs more poorly than it could. We discuss  various pitfalls in their implementation. The GNU C library, glibc, also  contains software floating point routines, and those have been  optimized reasonably well. We show performance numbers obtained from  portions of the EEMBC benchmark running on two PowerPC systems comparing  the routines from the two libraries. We discuss the incorporation of  the glibc routines into GCC’s runtime library, and show how to convert  other backends to use the new glibc routines.