This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH: optimized sincosf with SSE for x86_64 and x86_32


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

Attachment: sincosf.patch
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]