diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2017-12-05 15:27:03 -0200 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2017-12-05 16:27:44 -0200 |
commit | 94d80dfc7349b3545942fbbb1d5ff05f354afdf8 (patch) | |
tree | 07984816a08b1592f3a765cc211752fd2a7d3598 /stdlib | |
parent | 00d54af7c86cdcabc18c00619c229f49f4978610 (diff) | |
download | glibc-94d80dfc7349b3545942fbbb1d5ff05f354afdf8.zip glibc-94d80dfc7349b3545942fbbb1d5ff05f354afdf8.tar.gz glibc-94d80dfc7349b3545942fbbb1d5ff05f354afdf8.tar.bz2 |
math: Use sign as double for reduced case in sinf
This patch avoid an extra floating point to integer conversion in
reduced internal function for generic sinf by defining the sign as
double instead of integers.
There is no much difference on Haswell with GCC 7.2.1:
Before After
min 9.11 9.108
mean 21.982 21.9224
However H.J. Lu reported gains on Skylake:
Before:
"sinf": {
"": {
"duration": 3.4044e+10,
"iterations": 1.9942e+09,
"max": 141.106,
"min": 7.704,
"mean": 17.0715
}
}
After:
"sinf": {
"": {
"duration": 3.40665e+10,
"iterations": 2.03199e+09,
"max": 95.994,
"min": 7.704,
"mean": 16.765
}
}
Checked on x86_64-linux-gnu.
* sysdeps/ieee754/flt-32/s_sinf.c (ones): Define as double.
(reduced): Use ones as double instead of integer.
Diffstat (limited to 'stdlib')
0 files changed, 0 insertions, 0 deletions