glibc/sysdeps
Wilco Dijkstra e525ff25df [PATCH 2/7] sin/cos slow paths: remove large range reduction
This patch removes the large range reduction code and defers to the huge range
reduction code.  The first level range reducer supports inputs up to 2^27,
which is way too large given that inputs for sin/cos are typically small
(< 10), and optimizing for a smaller range would give a significant speedup.

Input values above 2^27 are practically never used, so there is no reason for
supporting range reduction between 2^27 and 2^48.  Removing it significantly
simplifies code and enables further speedups.  There is about a 2.3x slowdown
in this range due to __branred being extremely slow  (a better algorithm could
easily more than double performance).

	* sysdeps/ieee754/dbl-64/s_sin.c (reduce_sincos_2): Remove function.
	(do_sincos_2): Likewise.
	(__sin): Remove middle range reduction case.
	(__cos): Likewise.
	* sysdeps/ieee754/dbl-64/s_sincos.c (__sincos): Remove middle range
	reduction case.
2021-08-27 17:26:05 -07:00
..
aarch64 [PATCH 1/7] sin/cos slow paths: avoid slow paths for small inputs 2021-08-27 17:26:05 -07:00
alpha Update Alpha libm-test-ulps 2018-01-27 13:31:38 +01:00
arm Update ARM libm-test-ulps. 2018-01-02 18:37:06 +00:00
generic Add an LD_DEBUG=tls option to help debug thread-local storage handling in ld.so 2021-08-27 17:26:03 -07:00
gnu Additional fixes for llvm-as 2021-08-27 17:26:04 -07:00
hppa Update hppa libm-test-ulps 2018-01-27 13:32:36 +01:00
i386 Fix i386 memmove issue (bug 22644). 2021-08-27 16:22:08 -07:00
ia64 Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ieee754 [PATCH 2/7] sin/cos slow paths: remove large range reduction 2021-08-27 17:26:05 -07:00
init_array sysdeps/init_array: Add PREINIT_FUNCTION to crti.S 2018-01-29 10:22:26 -08:00
m68k Add no-FPU ColdFire math_private.h. 2018-01-24 23:33:03 +00:00
mach Revert upstream removal of async-safe TLS patches. 2021-08-27 17:23:11 -07:00
microblaze Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
mips Update MIPS libm-test-ulps. 2018-01-02 21:55:15 +00:00
nios2 Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
nptl Fix blocking pthread_join. [BZ #23137] 2021-08-27 16:22:12 -07:00
posix Add workaround for infinite looping in ppc vsyscalls 2021-08-27 17:23:13 -07:00
powerpc Do not use ppc-specific long double pack/unpack when compiling with clang 2021-08-27 17:26:04 -07:00
pthread Work around a ppc clang inlining bug 2021-08-27 17:23:12 -07:00
riscv RISC-V: fmax/fmin: Handle signalling NaNs correctly. 2021-08-27 16:22:07 -07:00
s390 Fix s390 linknamespace fallout of bug 22702 patch. 2018-01-12 00:12:57 +00:00
sh Update SH libm-tests-ulps 2018-02-14 14:03:13 -02:00
sparc sparc: Check PIC instead of SHARED in start.S [BZ #22638] 2018-02-06 09:31:30 +00:00
tile Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
unix Let time and gettimeofday use vdso by removing old clang workaround 2021-08-27 17:26:04 -07:00
wordsize-32 Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
wordsize-64 Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
x86 Comment out debugging hack that pollutes namespace 2018-01-24 11:32:36 -08:00
x86_64 [PATCH 1/7] sin/cos slow paths: avoid slow paths for small inputs 2021-08-27 17:26:05 -07:00