diff options
author | Paul E. Murphy <murphyp@linux.vnet.ibm.com> | 2016-06-27 17:11:46 -0500 |
---|---|---|
committer | Paul E. Murphy <murphyp@linux.vnet.ibm.com> | 2016-08-19 11:28:55 -0500 |
commit | 01ee387015a2075c45a4e1ad45d39e50b5a6d40b (patch) | |
tree | c8d2a88b0900c294d5e82fe869908d46b3ca838f /sysdeps | |
parent | 281f5073e5a6d2cd3733acd9c773c8c6340468c4 (diff) | |
download | glibc-01ee387015a2075c45a4e1ad45d39e50b5a6d40b.zip glibc-01ee387015a2075c45a4e1ad45d39e50b5a6d40b.tar.gz glibc-01ee387015a2075c45a4e1ad45d39e50b5a6d40b.tar.bz2 |
Convert _Complex cosine functions to generated code
This is fairly straight fowards. m68k overrides are
updated to use the framework, and thus are simplified
a bit.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/alpha/fpu/s_cacosf.c | 11 | ||||
-rw-r--r-- | sysdeps/alpha/fpu/s_cacoshf.c | 10 | ||||
-rw-r--r-- | sysdeps/alpha/fpu/s_ccosf.c | 12 | ||||
-rw-r--r-- | sysdeps/alpha/fpu/s_ccoshf.c | 12 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_cacos.c | 6 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_cacosh.c | 6 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_cacoshl.c | 6 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_cacosl.c | 6 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_ccos.c | 6 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_ccosh.c | 6 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_ccoshl.c | 6 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_ccosl.c | 6 | ||||
-rw-r--r-- | sysdeps/m68k/m680x0/fpu/s_ccosh_template.c (renamed from sysdeps/m68k/m680x0/fpu/s_ccosh.c) | 18 | ||||
-rw-r--r-- | sysdeps/m68k/m680x0/fpu/s_ccoshf.c | 3 | ||||
-rw-r--r-- | sysdeps/m68k/m680x0/fpu/s_ccoshl.c | 3 |
15 files changed, 38 insertions, 79 deletions
diff --git a/sysdeps/alpha/fpu/s_cacosf.c b/sysdeps/alpha/fpu/s_cacosf.c index 25e21bb..d98ff9c 100644 --- a/sysdeps/alpha/fpu/s_cacosf.c +++ b/sysdeps/alpha/fpu/s_cacosf.c @@ -24,11 +24,18 @@ #undef __cacosf #undef cacosf -#define __cacosf internal_cacosf static _Complex float internal_cacosf (_Complex float x); -#include <math/s_cacosf.c> +#define M_DECL_FUNC(f) internal_cacosf +#include <math-type-macros-float.h> + +/* Disable any aliasing from base template. */ +#undef declare_mgen_alias +#define declare_mgen_alias(__to, __from) + +#include <math/s_cacos_template.c> + #include "cfloat-compat.h" #undef __cacosf diff --git a/sysdeps/alpha/fpu/s_cacoshf.c b/sysdeps/alpha/fpu/s_cacoshf.c index 43b6542..06b422f 100644 --- a/sysdeps/alpha/fpu/s_cacoshf.c +++ b/sysdeps/alpha/fpu/s_cacoshf.c @@ -24,11 +24,17 @@ #undef __cacoshf #undef cacoshf -#define __cacoshf internal_cacoshf static _Complex float internal_cacoshf (_Complex float x); -#include <math/s_cacoshf.c> +#define M_DECL_FUNC(f) internal_cacoshf +#include <math-type-macros-float.h> + +/* Disable any aliasing from base template. */ +#undef declare_mgen_alias +#define declare_mgen_alias(__to, __from) + +#include <math/s_cacosh_template.c> #include "cfloat-compat.h" #undef __cacoshf diff --git a/sysdeps/alpha/fpu/s_ccosf.c b/sysdeps/alpha/fpu/s_ccosf.c index 886be62..2e7d4a2 100644 --- a/sysdeps/alpha/fpu/s_ccosf.c +++ b/sysdeps/alpha/fpu/s_ccosf.c @@ -24,14 +24,18 @@ #undef __ccosf #undef ccosf -#define __ccosf internal_ccosf static _Complex float internal_ccosf (_Complex float x); -#include <math/s_ccosf.c> -#include "cfloat-compat.h" +#define M_DECL_FUNC(f) internal_ccosf +#include <math-type-macros-float.h> -#undef __ccosf +/* Disable any aliasing from base template. */ +#undef declare_mgen_alias +#define declare_mgen_alias(__to, __from) + +#include <math/s_ccos_template.c> +#include "cfloat-compat.h" c1_cfloat_rettype __c1_ccosf (c1_cfloat_decl (x)) diff --git a/sysdeps/alpha/fpu/s_ccoshf.c b/sysdeps/alpha/fpu/s_ccoshf.c index 16f49de..e5de040 100644 --- a/sysdeps/alpha/fpu/s_ccoshf.c +++ b/sysdeps/alpha/fpu/s_ccoshf.c @@ -24,14 +24,18 @@ #undef __ccoshf #undef ccoshf -#define __ccoshf internal_ccoshf static _Complex float internal_ccoshf (_Complex float x); -#include <math/s_ccoshf.c> -#include "cfloat-compat.h" +#define M_DECL_FUNC(f) internal_ccoshf +#include <math-type-macros-float.h> -#undef __ccoshf +/* Disable any aliasing from base template. */ +#undef declare_mgen_alias +#define declare_mgen_alias(__to, __from) + +#include <math/s_ccosh_template.c> +#include "cfloat-compat.h" c1_cfloat_rettype __c1_ccoshf (c1_cfloat_decl (x)) diff --git a/sysdeps/ieee754/ldbl-opt/s_cacos.c b/sysdeps/ieee754/ldbl-opt/s_cacos.c deleted file mode 100644 index db90a9e..0000000 --- a/sysdeps/ieee754/ldbl-opt/s_cacos.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <complex.h> -#include <math_ldbl_opt.h> -#include <math/s_cacos.c> -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __cacos, cacosl, GLIBC_2_1); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_cacosh.c b/sysdeps/ieee754/ldbl-opt/s_cacosh.c deleted file mode 100644 index e68049d..0000000 --- a/sysdeps/ieee754/ldbl-opt/s_cacosh.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <complex.h> -#include <math_ldbl_opt.h> -#include <math/s_cacosh.c> -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __cacosh, cacoshl, GLIBC_2_1); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_cacoshl.c b/sysdeps/ieee754/ldbl-opt/s_cacoshl.c deleted file mode 100644 index ed4a299..0000000 --- a/sysdeps/ieee754/ldbl-opt/s_cacoshl.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <complex.h> -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#include <math/s_cacoshl.c> -long_double_symbol (libm, __cacoshl, cacoshl); diff --git a/sysdeps/ieee754/ldbl-opt/s_cacosl.c b/sysdeps/ieee754/ldbl-opt/s_cacosl.c deleted file mode 100644 index 9b84005..0000000 --- a/sysdeps/ieee754/ldbl-opt/s_cacosl.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <complex.h> -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#include <math/s_cacosl.c> -long_double_symbol (libm, __cacosl, cacosl); diff --git a/sysdeps/ieee754/ldbl-opt/s_ccos.c b/sysdeps/ieee754/ldbl-opt/s_ccos.c deleted file mode 100644 index 2c43c7f..0000000 --- a/sysdeps/ieee754/ldbl-opt/s_ccos.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <complex.h> -#include <math_ldbl_opt.h> -#include <math/s_ccos.c> -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __ccos, ccosl, GLIBC_2_1); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_ccosh.c b/sysdeps/ieee754/ldbl-opt/s_ccosh.c deleted file mode 100644 index 3753cd5..0000000 --- a/sysdeps/ieee754/ldbl-opt/s_ccosh.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <complex.h> -#include <math_ldbl_opt.h> -#include <math/s_ccosh.c> -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __ccosh, ccoshl, GLIBC_2_1); -#endif diff --git a/sysdeps/ieee754/ldbl-opt/s_ccoshl.c b/sysdeps/ieee754/ldbl-opt/s_ccoshl.c deleted file mode 100644 index 9f0c1e1..0000000 --- a/sysdeps/ieee754/ldbl-opt/s_ccoshl.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <complex.h> -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#include <math/s_ccoshl.c> -long_double_symbol (libm, __ccoshl, ccoshl); diff --git a/sysdeps/ieee754/ldbl-opt/s_ccosl.c b/sysdeps/ieee754/ldbl-opt/s_ccosl.c deleted file mode 100644 index e93e805..0000000 --- a/sysdeps/ieee754/ldbl-opt/s_ccosl.c +++ /dev/null @@ -1,6 +0,0 @@ -#include <complex.h> -#include <math_ldbl_opt.h> -#undef weak_alias -#define weak_alias(n,a) -#include <math/s_ccosl.c> -long_double_symbol (libm, __ccosl, ccosl); diff --git a/sysdeps/m68k/m680x0/fpu/s_ccosh.c b/sysdeps/m68k/m680x0/fpu/s_ccosh_template.c index 47a4fb0..83b449e 100644 --- a/sysdeps/m68k/m680x0/fpu/s_ccosh.c +++ b/sysdeps/m68k/m680x0/fpu/s_ccosh_template.c @@ -21,27 +21,19 @@ #include <math.h> #include "mathimpl.h" -#ifndef SUFF -#define SUFF -#endif -#ifndef float_type -#define float_type double -#endif - -#define CONCATX(a,b) __CONCAT(a,b) -#define s(name) CONCATX(name,SUFF) +#define s(name) M_SUF (name) #define m81(func) __m81_u(s(func)) -__complex__ float_type -s(__ccosh) (__complex__ float_type x) +CFLOAT +s(__ccosh) (CFLOAT x) { - __complex__ float_type retval; + CFLOAT retval; unsigned long ix_cond = __m81_test (__imag__ x); if ((ix_cond & (__M81_COND_INF|__M81_COND_NAN)) == 0) { /* Imaginary part is finite. */ - float_type sin_ix, cos_ix; + FLOAT sin_ix, cos_ix; __asm ("fsincos%.x %2,%1:%0" : "=f" (sin_ix), "=f" (cos_ix) : "f" (__imag__ x)); diff --git a/sysdeps/m68k/m680x0/fpu/s_ccoshf.c b/sysdeps/m68k/m680x0/fpu/s_ccoshf.c deleted file mode 100644 index 3c8e7c7..0000000 --- a/sysdeps/m68k/m680x0/fpu/s_ccoshf.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SUFF f -#define float_type float -#include <s_ccosh.c> diff --git a/sysdeps/m68k/m680x0/fpu/s_ccoshl.c b/sysdeps/m68k/m680x0/fpu/s_ccoshl.c deleted file mode 100644 index 772d578..0000000 --- a/sysdeps/m68k/m680x0/fpu/s_ccoshl.c +++ /dev/null @@ -1,3 +0,0 @@ -#define SUFF l -#define float_type long double -#include <s_ccosh.c> |