about summary refs log tree commit diff
path: root/wcsmbs/wcscoll_l.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2018-12-26 06:56:04 -0800
committerH.J. Lu <hjl.tools@gmail.com>2018-12-26 06:56:13 -0800
commit8700a7851bccce63335f937f930382de58b8a249 (patch)
tree291a8851ca6b3fb2077226741126fce06e70a948 /wcsmbs/wcscoll_l.c
parent57b3ff8e1a4ca8118c5d9a47584e6e0ce6f7002f (diff)
downloadglibc-8700a7851bccce63335f937f930382de58b8a249.tar.gz
glibc-8700a7851bccce63335f937f930382de58b8a249.tar.xz
glibc-8700a7851bccce63335f937f930382de58b8a249.zip
x86-64: Vectorize sincosf_poly and update s_sincosf-fma.c
Add <sincosf_poly.h> and include it in s_sincosf.h to allow vectorized
sincosf_poly.  Add x86 sincosf_poly.h to vectorize sincosf_poly.  On
Broadwell, bench-sincosf shows:

       Before         After      Improvement
max    160.273        114.198        40%
min    6.25           5.625          11%
mean   13.0325        10.6462        22%

Vectorized sincosf_poly shows

       Before         After      Improvement
max    138.653        114.198        21%
min    5.004          5.625          -11%
mean   11.5934        10.6462        9%

Tested on x86-64 and i686 as well as with build-many-glibcs.py.

	* sysdeps/ieee754/flt-32/s_sincosf.h: Include <sincosf_poly.h>.
	(sincos_t, sincosf_poly, sinf_poly): Moved to ...
	* sysdeps/ieee754/flt-32/sincosf_poly.h: Here.  New file.
	* sysdeps/x86/fpu/s_sincosf_data.c: New file.
	* sysdeps/x86/fpu/sincosf_poly.h: Likewise.
	* sysdeps/x86_64/fpu/multiarch/s_sincosf-fma.c: Just include
	<sysdeps/ieee754/flt-32/s_sincosf.c>.
Diffstat (limited to 'wcsmbs/wcscoll_l.c')
0 files changed, 0 insertions, 0 deletions