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.

Reply via email to