PATCH: optimized sincosf with SSE for x86_64 and x86_32
Dmitrieva Liubov
liubov.dmitrieva@gmail.com
Sat Sep 8 19:07:00 GMT 2012
I propose a big patch with the following new features and fixes:
1. SSE optimized sincosf for x86_64 with excellent performance results.
2. SSE optimized sincosf for x86_32 with excellent performance results.
3. Some minor fixes in already merged sinf and cosf (unwind info and
the description of special cases in the comment).
4. Fix latent bugs we have already discussed regarding with wrong
using of sincosf routine for subnormal arguments.
The patch is attached.
ChangeLog:
2012-09-07 Liubov Dmitrieva <liubov.dmitrieva@gmail.com>
* sysdeps/i386/i686/fpu/multiarch/Makefile (sysdep_routines):
Add s_sincosf-sse2.
* sysdeps/i386/i686/fpu/multiarch/s_sinf-sse2.S: Fix
unwind info if defined PIC. Fix special cases description.
* sysdeps/i386/i686/fpu/multiarch/s_cosf-sse2.S: Likewise.
* sysdeps/i386/i686/fpu/multiarch/s_sincosf.c: New file.
* sysdeps/i386/i686/fpu/multiarch/s_sincosf-sse2.S: New file.
* sysdeps/ieee754/flt-32/s_sincosf.c (SINCOSF, SINCOSF_FUNC): Add macros
for using routine as __sincosf_ia32.
Use macro for function declaration and weak_alias.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/s_sincosf.S: New file.
* sysdeps/x86_64/fpu/s_sinf.S: Fix
special cases description.
* sysdeps/x86_64/fpu/s_cosf.S: Likewise.
* sysdeps/x86_64/fpu/libm-test-ulps: Update.
* math/s_ccoshf.c: Fix
wrong using of sincosf for subnormal argument.
* math/s_cexpf.c: Likewise.
* math/s_csinf.c: Likewise.
* math/s_csinhf.c: Likewise.
* math/s_ctanf.c: Likewise.
* math/s_ctanhf.c: Likewise.
--
Liubov Dmitrieva
Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sincosf.patch
Type: application/octet-stream
Size: 61317 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20120908/c675ba34/attachment.obj>
More information about the Libc-alpha
mailing list