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