glibc/sysdeps/x86/fpu
H.J. Lu 8700a7851b 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>.
2018-12-26 06:56:13 -08:00
..
bits Remove x86 mathinline.h. 2018-12-19 22:55:32 +00:00
include/bits Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
e_sqrtf128.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fenv_private.h Split fenv_private.h out of math_private.h more consistently. 2018-08-28 20:48:49 +00:00
fix-fp-int-compare-invalid.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
Makefile Add float128 support for x86_64, x86. 2017-06-26 22:02:24 +00:00
math_private.h Remove x86 mathinline.h. 2018-12-19 22:55:32 +00:00
math-barriers.h Move math_opt_barrier, math_force_eval to separate math-barriers.h. 2018-05-09 19:45:47 +00:00
powl_helper.c Use round functions not __round functions in glibc libm. 2018-09-27 12:35:23 +00:00
s_sincosf_data.c x86-64: Vectorize sincosf_poly and update s_sincosf-fma.c 2018-12-26 06:56:13 -08:00
sfp-machine.h Add float128 support for x86_64, x86. 2017-06-26 22:02:24 +00:00
sincosf_poly.h x86-64: Vectorize sincosf_poly and update s_sincosf-fma.c 2018-12-26 06:56:13 -08:00
test-fenv-clear-sse.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
test-fenv-sse-2.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
test-fenv-sse.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
test-fenv-x87.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
test-flt-eval-method-387.c Fix x86_64 -mfpmath=387 float_t, double_t (bug 20787). 2016-11-23 17:56:31 +00:00
test-flt-eval-method-sse.c Fix x86_64 -mfpmath=387 float_t, double_t (bug 20787). 2016-11-23 17:56:31 +00:00
test-math-vector-sincos.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00