glibc/sysdeps
Wilco Dijkstra 7a5640f23a [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.
2018-04-03 16:52:17 +01:00
..
aarch64 [PATCH 1/7] sin/cos slow paths: avoid slow paths for small inputs 2018-04-03 16:52:16 +01:00
alpha Use x86_64 backtrace as generic version. 2018-03-21 17:25:30 +00:00
arm Remove unused frame.h header, sigcontextinfo.h macros. 2018-03-22 16:40:51 +00:00
generic hurd: Fix calling __pthread_initialize_minimal in shared case 2018-03-25 00:59:18 +01:00
gnu Fix errno values 2018-03-20 03:10:57 +01:00
hppa Remove unused frame.h header, sigcontextinfo.h macros. 2018-03-22 16:40:51 +00:00
htl hurd: Avoid local PLTs in libpthread. 2018-04-02 18:08:37 +00:00
hurd hurd: Avoid more libc.so PLTs 2018-04-02 23:40:26 +00:00
i386 hurd: Bump remaining LGPL2+ htl licences to LGPL 2.1+ 2018-04-02 16:37:36 +02:00
ia64 Use x86_64 backtrace as generic version. 2018-03-21 17:25:30 +00:00
ieee754 [PATCH 2/7] sin/cos slow paths: remove large range reduction 2018-04-03 16:52:17 +01:00
init_array sysdeps/init_array: Add PREINIT_FUNCTION to crti.S 2018-01-29 10:22:26 -08:00
m68k Revert m68k __ieee754_sqrt change 2018-03-16 14:25:41 +00:00
mach hurd: Avoid more libc.so local PLTs 2018-04-03 00:36:33 +00:00
microblaze hurd: add gscope support 2018-03-11 13:06:33 +01:00
mips Use x86_64 backtrace as generic version. 2018-03-21 17:25:30 +00:00
nios2 Use x86_64 backtrace as generic version. 2018-03-21 17:25:30 +00:00
nptl Refactor Linux ARCH_FORK implementation 2018-03-07 17:39:40 -03:00
posix Assume O_DIRECTORY for opendir 2018-04-03 08:57:17 -03:00
powerpc Remove powerpc, sparc fdim inlines (bug 22987). 2018-03-20 18:35:50 +00:00
pthread hurd: Avoid some PLTs in libc and librt 2018-04-02 19:07:52 +00:00
riscv Use x86_64 backtrace as generic version. 2018-03-21 17:25:30 +00:00
s390 s390x: Fix hidden aliases 2018-04-03 13:52:29 +02:00
sh Use x86_64 backtrace as generic version. 2018-03-21 17:25:30 +00:00
sparc Remove powerpc, sparc fdim inlines (bug 22987). 2018-03-20 18:35:50 +00:00
tile Use x86_64 backtrace as generic version. 2018-03-21 17:25:30 +00:00
unix Assume O_DIRECTORY for opendir 2018-04-03 08:57:17 -03:00
wordsize-32 Use libc_hidden_* for strtoumax (bug 15105). 2018-02-28 14:16:21 +00:00
wordsize-64 Use libc_hidden_* for strtoumax (bug 15105). 2018-02-28 14:16:21 +00:00
x86 Remove sysdeps/x86/fpu/bits/mathinline.h __finite inline. 2018-03-16 18:36:53 +00:00
x86_64 [PATCH 1/7] sin/cos slow paths: avoid slow paths for small inputs 2018-04-03 16:52:16 +01:00