PATCH: optimized sincosf with SSE for x86_64 and x86_32
Dmitrieva Liubov
liubov.dmitrieva@gmail.com
Tue Sep 11 12:27:00 GMT 2012
Ok.
So, the attached patch #1 (math.patch) fixes wrong sincos using for
subnormal argument everywhere I've found.
ChangeLog:
2012-09-11 Liubov Dmitrieva <liubov.dmitrieva@gmail.com>
* 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.
* math/s_ccosh.c: Fix
wrong using of sincosf for subnormal argument.
* math/s_cexp.c: Likewise.
* math/s_csin.c: Likewise.
* math/s_csinh.c: Likewise.
* math/s_ctan.c: Likewise.
* math/s_ctanh.c: Likewise.
* math/s_ccoshl.c: Fix
wrong using of sincosf for subnormal argument.
* math/s_cexpl.c: Likewise.
* math/s_csinl.c: Likewise.
* math/s_csinhl.c: Likewise.
* math/s_ctanl.c: Likewise.
* math/s_ctanhl.c: Likewise.
The attached patch #2 (sincos.patch) proposes optimized sincosf with
SSE2 for x86_32 and x86_64
Now all new files have 100644 permissions.
ChangeLog for #2:
2012-09-11 Liubov Dmitrieva <liubov.dmitrieva@gmail.com>
* sysdeps/i386/i686/fpu/multiarch/Makefile (sysdep_routines):
Add s_sincosf-sse2.
* 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/libm-test-ulps: Update.
No any new fails for "make check", I've already posted information
about performance here:
http://sourceware.org/ml/libc-alpha/2012-09/msg00236.html
Thanks.
--
Liubov Dmitrieva
Intel Corporation
2012/9/10 Joseph S. Myers <joseph@codesourcery.com>:
> On Mon, 10 Sep 2012, Dmitrieva Liubov wrote:
>
>> We didn't check in what other places the same bug exists, we were just
>
> Please see the contribution checklist, "7. Try to Identify Related
> Changes". In general patches should aim to keep all versions of the
> relevant code in sync.
>
> --
> Joseph S. Myers
> joseph@codesourcery.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: math.patch
Type: application/octet-stream
Size: 15760 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20120911/c87220c5/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sincosf.patch
Type: application/octet-stream
Size: 46367 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20120911/c87220c5/attachment-0001.obj>
More information about the Libc-alpha
mailing list