I am working on a patch to add software floating point support on Sparc. The solution rely on library calls such as __adddf3, __muldf3, __subdf3 etc. I have been able to successfully link to these functions from the compiler-rt project builtins (which I compiled manually as I could not find a way to cross-compile the compiler-rt builtins for Sparc with the current build system), and I also tested linking with libgcc. Both appears to be working well.
I am unsure if I need to provide a deeper integration with compiler-rt (i.e provide a way to (cross-)compile compiler-rt so the patch can be used without manual linking/building the required software floating point builtins), or whether it would be OK to leave it as is and rely on the user to ensure the correct libraries are provided at linking?
I am also working on a patch to enable the option to be enabled with -msoft-float in Clang, although I am having an issues with the Target Features being reset in the backend, when I do not manually provide the soft float option to llc (mattr). It appears related to the following change: http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20130211/165671.html , and it looks like I would need to implement this change for the Sparc target in order to get it to work, but maybe there is a better way of doing it?
This message and any attachments are intended for the use of the addressee or addressees only.
The unauthorised disclosure, use, dissemination or copying (either in whole or in part) of its
content is not permitted.
If you received this message in error, please notify the sender and delete it from your system.
Emails can be altered and their integrity cannot be guaranteed by the sender.
Please consider the environment before printing this email.