[PATCH][BZ #3268] Add fam float/double to soft-sp
Steven Munroe
munroesj@us.ibm.com
Tue Apr 3 19:50:00 GMT 2007
Previous soft-fp work exposed a general lack of correct Fused Multiply Add (fma) implemetations for platforms that don't implement fma in hardware (soft-fp or hard-fp that doesn't implement fma).
This patch provides a basic soft-fp implementation for float and double fma. This updated version provides macros to directly convert between RAW, SEMIRAW, and CANNONICAL internal forms without requiring floating types (like TF). This allows platforms that do not implement 128-bit long double to still use the quad.h soft-fp macros in the implementation of the double fma.
This patch has been updated and verified on powerpc32 with todays CVS.
I assume that __fmadf4/__fmasf4 are acceptable names for these functions. These functions need to be in libc.so to access the soft-float exeception and rounding modes.
A separate patch can then override s_fma.c/s_fmaf.c (in libm.so) as needed to call __fmadf4/__fmasf4 directly. For from ./ports for example.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: soft-fp-fma-20070320.txt
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20070403/0f7d6070/attachment.txt>
More information about the Libc-alpha
mailing list