Date: Sat, 26 Oct 2019 16:33:09 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 235413] [LIBM] optizimation for cexp and cexpf Message-ID: <bug-235413-227-J7VSlJAZXv@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-235413-227@https.bugs.freebsd.org/bugzilla/> References: <bug-235413-227@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D235413 --- Comment #4 from Steve Kargl <kargl@FreeBSD.org> --- New commit log for cexpl_new.diff. * include/complex.h: . Prototype for cexpl(). * lib/msun/Makefile: . Add s_cexpl.c to the build. . Add MLINK for cexpl.3 to cexp.3 * lib/msun/Symbol.map: . Add a new section for FreeBSD 13 symbols. . Add cexpl to the symbol table. * lib/msun/src/math_private.h: . Change ENTERI() to toggle FPU precision for ld80 long double. . Introduce LEAVEI() to toggles FPU precision back to double. . Update RETURNI(x) to use __typeof(x) to set return type, use LEAVEI(), and use RETURNF(x) for the actual return. . Add prototype for __ldexp_expl(); * lib/msun/man/cexp.3: . Document cexpl(). * lib/msun/src/k_exp.c: * lib/msun/src/k_expf.c: . Add declarations for c and s, and sort. . Use sincos[f]() instead of a call to sin[f]() and a call cos[f](). * lib/msun/src/s_cexp.c: . Include float.h to get access to LDBL_MANT_DIG. . Add declarations for c and s, and sort. . Use sincos() instead of a call to sin() and a call cos(). . Use __weak_reference(cexp, cexpl) on LDBL_MANT_DIG =3D=3D 53. * lib/msun/src/s_cexpf.c: . Add declarations for c and s, and sort. . Use sincosf() instead of a call to sinf() and a call cosf(). * lib/msun/ld80/k_cexpl.c: . Implementations of __frexp_expl(), __ldexp_expl(), and __ldexp_cexpl(), which are computation kernels used by cexpl(). * lib/msun/ld80/k_expl.h: . Add 'L' suffix to a long double literal constant. . Fix typo in computation of scale2. . Use sincosl() instead of a call to sinl() and a call cosl(). * lib/msun/ld80/s_cexpl.c: . Implementation of cexpl() for ld80 hardware. * lib/msun/ld128/k_cexpl.c: . Stub for __frexp_expl(), __ldexp_expl(), and __ldexp_cexpl(). * lib/msun/ld128/k_expl.h: . Add 'L' suffix to a long double literal constant. . Fix typo in computation of scale2. . Use sincosl() instead of a call to sinl() and a call cosl(). * lib/msun/ld128/s_cexpl.c: . Naive, but better than some might know, implementation of cexpl() for 113-bit long double hardware. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-235413-227-J7VSlJAZXv>