Date: Wed, 9 Jun 2010 15:35:56 -0600 From: Diane Gagne >>I am trying to make a faster version of the floating point multiplier. When I look at the .lst source of a test function calling floating point multiplication it calls the function __mulsf3. When I copy the code from the file mulsf.c into a separate function of mine it does not tell me when the answer is overflow anymore. From this, I think there must be another function called __mulsf3 that I do not see. I was wondering where that function was in the files, or else how the overflow was seen when using the float multiplication.
I am using a Linux computer with the makefile in the packaging directory to build the compiler. Date: Thu, 10 Jun 2010 12:40:49 +0200 From: "JMGross" >From the integer multiplication functions (which I rewrote to support the HW 32 bit multiplier and 64bit hardware multiplication) I know that the calling conventions for these functions were NOT following the normal mspgcc calling conventions, for increased performance. If this is true for the floating point functions too, it's possible that moving the code into a 'normal' compilation unit will break this mechanism. >These functions were declared weak, so any other instance inside the project will replace them without error. According to the manual all floating point functions obey mspgcc ABI calling conventions unlike the integer multiplication functions. Any other insight into what is going on with this function would be greatly appreciated.