[PATCH 7/7] sin/cos slow paths: refactor sincos implementation
authorWilco Dijkstra <wdijkstr@arm.com>
Tue, 3 Apr 2018 15:49:33 +0000 (16:49 +0100)
committerWilco Dijkstra <wdijkstr@arm.com>
Tue, 3 Apr 2018 15:52:18 +0000 (16:52 +0100)
commite88ecbbfe836db5b6da809108759de4ca56be5e7
tree0302cf9e5ae61fc04225f67e81423df3f869aaa7
parentaef3e2558a0ab0aff6d80f3e99ebe228321ab4b3
[PATCH 7/7] sin/cos slow paths: refactor sincos implementation

Refactor the sincos implementation - rather than rely on odd partial inlining
of preprocessed portions from sin and cos, explicitly write out the cases.
This makes sincos much easier to maintain and provides an additional 16-20%
speedup between 0 and 2^27.  The overall speedup of sincos is 48% over this range.
Between 0 and PI it is 66% faster.

* sysdeps/ieee754/dbl-64/s_sin.c (__sin): Cleanup ifdefs.
(__cos): Likewise.
* sysdeps/ieee754/dbl-64/s_sin.c (__sincos): Refactor using the same
logic as sin and cos.
ChangeLog
sysdeps/ieee754/dbl-64/s_sin.c
sysdeps/ieee754/dbl-64/s_sincos.c