[PATCH][BZ #3268] Add single/double fma implementations to soft-fp
Steven Munroe
munroesj@us.ibm.com
Wed Jan 24 20:24: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 single 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.
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.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: soft-fp-fma-20070123.txt
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20070124/c2a4777f/attachment.txt>
More information about the Libc-alpha
mailing list