glibc/sysdeps/ieee754/dbl-64
Siddhesh Poyarekar 9d84d0e51d Use fabs(x) instead of branching on signedness of input to sin and cos
The sin and cos code is inconsistent about its use of fabs to get the
absolute value of X where in some places it conditionalizes the code
while in others it uses fabs.  fabs seems to be a better candidate in
most cases because it avoids a branch.  Similarly there is an attempt
to make it easier for the compiler to emit conditional assignment
instructions (like fcsel on aarch64) where it can, by isolating
conditional assignment constructs from the rest of the expression.

A further benefit of this change is to identify common constructs
across functions and consolidate them in future patches.

	* sysdeps/ieee754/dbl-64/s_sin.c (do_cos_slow): Use ternary
	instead of if/else.
	(do_sin_slow): Likewise.
	(do_sincos_1): Use fabs instead of if/else.
	(do_sincos_2): Likewise.
	(__sin): Likewise.
	(__cos): Likewise.
	(slow2): Likewise.
	(sloww): Likewise.
	(sloww1): Likewise.  Drop argument M.
	(sloww2): Use fabs instead of if/else.
	(bsloww): Likewise.
	(bsloww1): Likewise.
	(bsloww2): Likewise.
2016-08-30 13:01:59 +05:30
..
wordsize-64 sparc64: add a VIS3 version of ceil, floor and trunc 2016-08-03 13:35:22 +02:00
asincos.tbl Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
atnat2.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
atnat.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
branred.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
branred.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dbl2mpn.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dla.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
doasin.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
doasin.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dosincos.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dosincos.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
e_acos.c
e_acosh.c Format floating routines. 2013-10-17 16:03:24 +02:00
e_asin.c Fix dbl-64 asin (sNaN) (bug 20213). 2016-06-06 22:21:11 +00:00
e_atan2.c Fix dbl-64 atan2 (sNaN, qNaN) (bug 20252). 2016-06-13 21:43:22 +00:00
e_atanh.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
e_cosh.c Avoid excess range overflowing results from cosh, sinh, lgamma (bug 18980). 2015-09-18 20:00:48 +00:00
e_exp2.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
e_exp10.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
e_exp.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
e_fmod.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
e_gamma_r.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
e_hypot.c Fix hypot missing underflows (bug 18803). 2015-09-24 23:43:57 +00:00
e_ilogb.c Format floating routines. 2013-10-17 16:03:24 +02:00
e_j0.c Avoid uninitialized warnings in Bessel functions. 2015-02-26 21:49:19 +00:00
e_j1.c Fix j1, jn missing errno setting on underflow (bug 18611). 2015-10-23 21:37:33 +00:00
e_jn.c Fix j1, jn missing errno setting on underflow (bug 18611). 2015-10-23 21:37:33 +00:00
e_lgamma_r.c Remove GCC version conditionals on -Wmaybe-uninitialized pragmas. 2015-10-27 23:42:20 +00:00
e_log2.c Work around powerpc32 integer 0 converting to -0 (bug 887, bug 19049, bug 19050). 2015-10-05 17:46:50 +00:00
e_log10.c Work around powerpc32 integer 0 converting to -0 (bug 887, bug 19049, bug 19050). 2015-10-05 17:46:50 +00:00
e_log.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
e_pow.c Eliminate redundant sign extensions in pow() 2016-01-04 14:55:38 -02:00
e_rem_pio2.c Format floating routines. 2013-10-17 16:03:24 +02:00
e_remainder.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
e_sinh.c Refactor code forcing underflow exceptions. 2015-09-23 22:42:30 +00:00
e_sqrt.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
gamma_product.c Merge common usage of mul_split function 2016-08-19 11:29:43 -05:00
gamma_productf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
halfulp.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
k_cos.c
k_rem_pio2.c Get rid of array-bounds warning in __kernel_rem_pio2[f] with gcc 6.1 -O3. 2016-08-18 12:20:35 +02:00
k_sin.c
k_tan.c Replace sysdeps/ieee754/dbl-64/k_tan.c with empty file 2012-02-26 16:10:46 +01:00
lgamma_neg.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
lgamma_product.c Merge common usage of mul_split function 2016-08-19 11:29:43 -05:00
Makefile powerpc: Fix incorrect results for pow when using FMA 2015-03-10 09:38:54 -04:00
MathLib.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mpa-arch.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mpa.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mpa.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mpatan2.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mpatan.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mpatan.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mpexp.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mplog.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mpn2dbl.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mpsqrt.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mpsqrt.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mptan.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mydefs.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
powtwo.tbl Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
root.tbl Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_asinh.c Refactor code forcing underflow exceptions. 2015-09-23 22:42:30 +00:00
s_atan.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_cbrt.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_ceil.c Do not raise "inexact" from generic ceil (bug 15479). 2016-05-24 17:42:10 +00:00
s_copysign.c Format floating routines. 2013-10-17 16:03:24 +02:00
s_cos.c
s_erf.c Work around powerpc32 integer 0 converting to -0 (bug 887, bug 19049, bug 19050). 2015-10-05 17:46:50 +00:00
s_expm1.c Refactor code forcing underflow exceptions. 2015-09-23 22:42:30 +00:00
s_fabs.c 2015-05-28 Wilco Dijkstra <wdijkstr@arm.com> 2015-05-28 11:42:55 +01:00
s_finite.c Fix __finitel libm compat symbol version. 2016-01-20 19:04:43 +00:00
s_floor.c Do not raise "inexact" from generic floor (bug 15479). 2016-05-24 17:44:46 +00:00
s_fma.c Call math_opt_barrier inside if 2016-01-15 05:23:20 -08:00
s_fmaf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_fpclassify.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_frexp.c Fix frexp (NaN) (bug 20250). 2016-06-13 17:27:19 +00:00
s_isinf.c math: add LDBL_CLASSIFY_COMPAT support 2015-12-03 13:00:46 -05:00
s_isnan.c math: add LDBL_CLASSIFY_COMPAT support 2015-12-03 13:00:46 -05:00
s_issignaling.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_llrint.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_llround.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_log1p.c Refactor code forcing underflow exceptions. 2015-09-23 22:42:30 +00:00
s_logb.c Work around powerpc32 integer 0 converting to -0 (bug 887, bug 19049, bug 19050). 2015-10-05 17:46:50 +00:00
s_lrint.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_lround.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_modf.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
s_nearbyint.c Format floating routines. 2013-10-17 16:03:24 +02:00
s_nexttoward.c
s_nextup.c Add nextup and nextdown math functions 2016-06-16 21:37:45 +05:30
s_remquo.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_rint.c Format floating routines. 2013-10-17 16:03:24 +02:00
s_round.c Do not raise "inexact" from generic round (bug 15479). 2016-05-24 17:46:55 +00:00
s_scalbln.c [BZ #6803] Set errno for scalbln, scalbn 2014-06-20 07:48:20 +05:30
s_scalbn.c Make scalbn set errno (bug 6803). 2015-09-16 21:11:00 +00:00
s_signbit.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_sin.c Use fabs(x) instead of branching on signedness of input to sin and cos 2016-08-30 13:01:59 +05:30
s_sincos.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_tan.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_tanh.c Refactor code forcing underflow exceptions. 2015-09-23 22:42:30 +00:00
s_trunc.c sparc64: add a VIS3 version of ceil, floor and trunc 2016-08-03 13:35:22 +02:00
sincos32.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sincos32.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sincostab.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
slowexp.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
slowpow.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
t_exp2.h
t_exp.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
uasncs.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
uatan.tbl Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
uexp.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
uexp.tbl Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
ulog.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
ulog.tbl Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
upow.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
upow.tbl Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
urem.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
usncs.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
utan.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
utan.tbl Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
w_exp.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
x2y2m1.c Merge common usage of mul_split function 2016-08-19 11:29:43 -05:00
x2y2m1f.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00