glibc/sysdeps/x86_64/fpu
Shen-Ta Hsieh 1683249d17 x86_64: roundeven with sse4.1 support
This patch adds support for the sse4.1 hardware floating point
roundeven.

Here is some benchmark results on my systems:

=AMD Ryzen 9 3900X 12-Core Processor=

* benchmark result before this commit
|            |    roundeven |   roundevenf |
|------------|--------------|--------------|
| duration   |  3.75587e+09 |  3.75114e+09 |
| iterations |  3.93053e+08 |  4.35402e+08 |
| max        | 52.592       | 58.71        |
| min        |  7.98        |  7.22        |
| mean       |  9.55563     |  8.61535     |

* benchmark result after this commit
|            |     roundeven |   roundevenf |
|------------|---------------|--------------|
| duration   |   3.73815e+09 |  3.73738e+09 |
| iterations |   5.82692e+08 |  5.91498e+08 |
| max        |  56.468       | 51.642       |
| min        |   6.27        |  6.156       |
| mean       |   6.41532     |  6.3185      |

=Intel(R) Pentium(R) CPU D1508 @ 2.20GHz=

* benchmark result before this commit
|            |    roundeven |   roundevenf |
|------------|--------------|--------------|
| duration   |  2.18208e+09 |  2.18258e+09 |
| iterations |  2.39932e+08 |  2.46924e+08 |
| max        | 96.378       | 98.035       |
| min        |  6.776       |  5.94        |
| mean       |  9.09456     |  8.83907     |

* benchmark result after this commit
|            |    roundeven |   roundevenf |
|------------|--------------|--------------|
| duration   |  2.17415e+09 |  2.17005e+09 |
| iterations |  3.56193e+08 |  4.09824e+08 |
| max        | 51.693       | 97.192       |
| min        |  5.926       |  5.093       |
| mean       |  6.10385     |  5.29507     |

Signed-off-by: Shen-Ta Hsieh <ibmibmibm.tw@gmail.com>
Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
2021-06-27 07:56:57 -07:00
..
multiarch x86_64: roundeven with sse4.1 support 2021-06-27 07:56:57 -07:00
e_acosl.c
e_atan2l.c
e_exp2l.S
e_exp10l.S
e_expl.S
e_fmodl.S
e_ilogbl.S
e_log2l.S
e_log10l.S
e_logl.S
e_powl.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
e_remainderl.S
e_scalbl.S
fclrexcpt.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fedisblxcpt.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
feenablxcpt.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fegetenv.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fegetexcept.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fegetmode.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fegetround.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
feholdexcpt.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fesetenv.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fesetexcept.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fesetmode.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fesetround.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
feupdateenv.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fgetexcptflg.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fraiseexcpt.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fsetexcptflg.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ftestexcept.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
Implies
libm-test-ulps regenerate ulps on x86_64 with -march=native 2021-04-28 12:46:00 +02:00
libm-test-ulps-name
Makefile libmvec: Add extra-test-objs to test-extras 2021-01-19 06:20:46 -08:00
math_ldbl.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
math-tests-arch.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
math-tests-snan.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
math-use-builtins-sqrt.h x86_64: Use builtin sqrt{f,l} 2020-06-22 11:09:49 -03:00
printf_fphex.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_atanl.c
s_ceill.S
s_copysign.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_copysignf.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_copysignl.S
s_expm1l.S
s_fabs.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_fabsf.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_fabsl.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_finitel.S
s_floorl.S
s_fmax.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_fmaxf.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_fmaxl.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_fmin.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_fminf.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_fminl.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_isinfl.c
s_llrint.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_llrintf.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_llrintl.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_log1pl.S
s_logbl.c
s_lrint.S
s_lrintf.S
s_lrintl.S
s_nearbyintl.S
s_nextafterl.c
s_nexttoward.c
s_nexttowardf.c
s_rintl.c
s_scalbnl.S
s_signbit.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_signbitf.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
s_significandl.c
s_truncl.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_cos2_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_cos4_core_avx.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_cos4_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_cos8_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_exp2_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_exp4_core_avx.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_exp4_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_exp8_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_exp_data.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_exp_data.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_log2_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_log4_core_avx.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_log4_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_log8_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_log_data.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_log_data.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_pow2_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_pow4_core_avx.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_pow4_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_pow8_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_pow_data.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_pow_data.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_sin2_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_sin4_core_avx.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_sin4_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_sin8_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_sincos2_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_sincos4_core_avx.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_sincos4_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_sincos8_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_trig_data.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_trig_data.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_d_wrapper_impl.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_cosf4_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_cosf8_core_avx.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_cosf8_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_cosf16_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_expf4_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_expf8_core_avx.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_expf8_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_expf16_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_expf_data.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_expf_data.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_logf4_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_logf8_core_avx.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_logf8_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_logf16_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_logf_data.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_logf_data.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_powf4_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_powf8_core_avx.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_powf8_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_powf16_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_powf_data.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_powf_data.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_sincosf4_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_sincosf8_core_avx.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_sincosf8_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_sincosf16_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_sinf4_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_sinf8_core_avx.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_sinf8_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_sinf16_core.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_trig_data.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_trig_data.S Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
svml_s_wrapper_impl.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
test-double-libmvec-sincos-avx2-main.c
test-double-libmvec-sincos-avx2.c
test-double-libmvec-sincos-avx512-main.c
test-double-libmvec-sincos-avx512.c
test-double-libmvec-sincos-avx-main.c
test-double-libmvec-sincos-avx.c
test-double-libmvec-sincos-main.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
test-double-libmvec-sincos.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
test-double-vlen2-wrappers.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
test-double-vlen4-avx2-wrappers.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
test-double-vlen4-avx2.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
test-double-vlen4-wrappers.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
test-double-vlen4.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
test-double-vlen8-wrappers.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
test-double-vlen8.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
test-float-libmvec-sincosf-avx2-main.c
test-float-libmvec-sincosf-avx2.c
test-float-libmvec-sincosf-avx512-main.c
test-float-libmvec-sincosf-avx512.c
test-float-libmvec-sincosf-avx-main.c
test-float-libmvec-sincosf-avx.c
test-float-libmvec-sincosf-main.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
test-float-libmvec-sincosf.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
test-float-vlen4-wrappers.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
test-float-vlen8-avx2-wrappers.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
test-float-vlen8-avx2.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
test-float-vlen8-wrappers.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
test-float-vlen8.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
test-float-vlen16-wrappers.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
test-float-vlen16.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
Versions
x86_64-math-asm.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00