freebsd-dev/lib/msun
Bruce Evans dbf10e45c4 Avoid using FP-to-integer conversion for !(amd64 || i386) too. Use the
FP-to-FP method to round to an integer on all arches, and convert this
to an int using FP-to-integer conversion iff irint() is not available.
This is cleaner and works well on at least ia64, where it saves 20-30
cycles or about 10% on average for 9Pi/4 < |x| <= 32pi/2 (should be
similar up to 2**19pi/2, but I only tested the smaller range).

After the previous commit to e_rem_pio2.c removed the "quick check no
cancellation" non-optimization, the result of the FP-to-integer
conversion is not needed so early, so using irint() became a much
smaller optimization than when it was committed.

An earlier commit message said that cos, cosf, sin and sinf were equally
fast on amd64 and i386 except for cos and sin on i386.  Actually, cos
and sin on amd64 are equally fast to cosf and sinf on i386 (~88 cycles),
while cosf and sinf on amd64 are not quite equally slow to cos and sin
on i386 (average 115 cycles with more variance).
2008-02-22 18:43:23 +00:00
..
amd64 Use hardware remainder on amd64 since it is 5 to 10 times faster than 2008-02-13 06:01:48 +00:00
arm Use C comments since we now preprocess these files with CPP. 2007-04-29 14:05:22 +00:00
bsdsrc Eliminate some warnings. 2008-02-22 02:26:51 +00:00
i387 Implement rintl(), nearbyintl(), lrintl(), and llrintl(). 2008-01-14 02:12:07 +00:00
ia64 Use C comments since we now preprocess these files with CPP. 2007-04-29 14:05:22 +00:00
ld80 2 long double constants were missing L suffixes. This helped break tanl() 2008-02-18 15:39:52 +00:00
ld128 Add kernel functions for 128-bit long doubles. These could be improved 2008-02-17 07:32:31 +00:00
man Document return values better. 2008-02-18 19:02:49 +00:00
powerpc Use C comments since we now preprocess these files with CPP. 2007-04-29 14:05:22 +00:00
sparc64 Use C comments since we now preprocess these files with CPP. 2007-04-29 14:05:22 +00:00
src Avoid using FP-to-integer conversion for !(amd64 || i386) too. Use the 2008-02-22 18:43:23 +00:00
Makefile Add tgammaf() as a simple wrapper around tgamma(). 2008-02-18 17:27:11 +00:00
Symbol.map Add tgammaf() as a simple wrapper around tgamma(). 2008-02-18 17:27:11 +00:00