On Sat, 10 May 2008 11:59:16 +0100, "Martin Guy" <[EMAIL PROTECTED]> said: > On 5/9/08, Paolo Bonzini <[EMAIL PROTECTED]> wrote: > > The idea is to use integer arithmetic to compute the right exponent, and > > the lookup table to estimate the mantissa.
> The current soft-fp routine in libm seems to use a variant of this, > but of course it may be faster if implemented using the Maverick's > 64-bit add/sub/cmp. ARM doesn't use the soft-fp routines in libm for division (in glibc/soft-fp). For gcc, there is a gcc/config/ieee754-sf.S and ieee754-df.S that implements divsf3 and divdf3. For SQRT, it should use these functions, on soft-float and any coprocessor that doesn't have a sqrt function, i.e. MaverickCrunch. http://www.gnu.org/software/libc/manual/html_node/Misc-FP-Arithmetic.html#Misc-FP-Arithmetic mentions the fma / fmaf functions which do a fused multiply-add, at a higher precision. MaverickCrunch has a fma function for 32-bit integers, which could be extended for 64-bit ints, floats and doubles...