]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
ieee754: Remove unused __sin32 and __cos32
authorAnssi Hannula <anssi.hannula@bitwise.fi>
Mon, 27 Jan 2020 10:45:11 +0000 (12:45 +0200)
committerSiddhesh Poyarekar <siddhesh@sourceware.org>
Fri, 18 Dec 2020 06:40:31 +0000 (12:10 +0530)
The __sin32 and __cos32 functions were only used in the now removed slow
path of asin and acos.

manual/probes.texi
sysdeps/generic/math_private.h
sysdeps/ieee754/dbl-64/sincos32.c
sysdeps/x86_64/fpu/multiarch/e_asin-fma.c
sysdeps/x86_64/fpu/multiarch/e_asin-fma4.c
sysdeps/x86_64/fpu/multiarch/sincos32-fma.c
sysdeps/x86_64/fpu/multiarch/sincos32-fma4.c

index 0ea560ed78bcfd7eb0905875bf83fb08d95b507a..61254bc43018d0618c17776603c95c2f8d489678 100644 (file)
@@ -311,20 +311,6 @@ input that results in multiple precision computation with precision
 is the computed result.
 @end deftp
 
-@deftp Probe slowasin (double @var{$arg1}, double @var{$arg2})
-This probe is triggered when the @code{asin} function is called with
-an input that results in multiple precision computation with precision
-32.  Argument @var{$arg1} is the input to the function and @var{$arg2}
-is the computed result.
-@end deftp
-
-@deftp Probe slowacos (double @var{$arg1}, double @var{$arg2})
-This probe is triggered when the @code{acos} function is called with
-an input that results in multiple precision computation with precision
-32.  Argument @var{$arg1} is the input to the function and @var{$arg2}
-is the computed result.
-@end deftp
-
 @deftp Probe slowsin (double @var{$arg1}, double @var{$arg2})
 This probe is triggered when the @code{sin} function is called with an
 input that results in multiple precision computation with precision
index 9296324d24faea9b2a19d8402a0ea72a0121e56e..10a6fde28dbcbfe55148c744e13515b7c9d0707c 100644 (file)
@@ -202,8 +202,6 @@ extern int __branred (double __x, double *__a, double *__aa);
 extern void __doasin (double __x, double __dx, double __v[]);
 extern void __dubsin (double __x, double __dx, double __v[]);
 extern void __dubcos (double __x, double __dx, double __v[]);
-extern double __sin32 (double __x, double __res, double __res1);
-extern double __cos32 (double __x, double __res, double __res1);
 extern double __mpsin (double __x, double __dx, bool __range_reduce);
 extern double __mpcos (double __x, double __dx, bool __range_reduce);
 extern void __docos (double __x, double __dx, double __v[]);
index c00e5d1a0f0a0a9ea1e45eec13ff6779c791581a..a28932dffef7f7648ba2ed6d670157c34b4282b4 100644 (file)
@@ -127,68 +127,6 @@ __c32 (mp_no *x, mp_no *y, mp_no *z, int p)
   __cpy (&s, z, p);
 }
 
-/* Receive double x and two double results of sin(x) and return result which is
-   more accurate, computing sin(x) with multi precision routine c32.  */
-double
-SECTION
-__sin32 (double x, double res, double res1)
-{
-  int p;
-  mp_no a, b, c;
-  p = 32;
-  __dbl_mp (res, &a, p);
-  __dbl_mp (0.5 * (res1 - res), &b, p);
-  __add (&a, &b, &c, p);
-  if (x > 0.8)
-    {
-      __sub (&hp, &c, &a, p);
-      __c32 (&a, &b, &c, p);
-    }
-  else
-    __c32 (&c, &a, &b, p);     /* b=sin(0.5*(res+res1))  */
-  __dbl_mp (x, &c, p);         /* c = x  */
-  __sub (&b, &c, &a, p);
-  /* if a > 0 return min (res, res1), otherwise return max (res, res1).  */
-  if ((a.d[0] > 0 && res >= res1) || (a.d[0] <= 0 && res <= res1))
-    res = res1;
-  LIBC_PROBE (slowasin, 2, &res, &x);
-  return res;
-}
-
-/* Receive double x and two double results of cos(x) and return result which is
-   more accurate, computing cos(x) with multi precision routine c32.  */
-double
-SECTION
-__cos32 (double x, double res, double res1)
-{
-  int p;
-  mp_no a, b, c;
-  p = 32;
-  __dbl_mp (res, &a, p);
-  __dbl_mp (0.5 * (res1 - res), &b, p);
-  __add (&a, &b, &c, p);
-  if (x > 2.4)
-    {
-      __sub (&pi, &c, &a, p);
-      __c32 (&a, &b, &c, p);
-      b.d[0] = -b.d[0];
-    }
-  else if (x > 0.8)
-    {
-      __sub (&hp, &c, &a, p);
-      __c32 (&a, &c, &b, p);
-    }
-  else
-    __c32 (&c, &b, &a, p);     /* b=cos(0.5*(res+res1))  */
-  __dbl_mp (x, &c, p);         /* c = x                  */
-  __sub (&b, &c, &a, p);
-  /* if a > 0 return max (res, res1), otherwise return min (res, res1).  */
-  if ((a.d[0] > 0 && res <= res1) || (a.d[0] <= 0 && res >= res1))
-    res = res1;
-  LIBC_PROBE (slowacos, 2, &res, &x);
-  return res;
-}
-
 /* Compute sin() of double-length number (X + DX) as Multi Precision number and
    return result as double.  If REDUCE_RANGE is true, X is assumed to be the
    original input and DX is ignored.  */
index 50e9c64247e88e62d76033dfb87185f73373b24b..1e3767bf2d9b0355e13e5c7d24ee6774812ab9cb 100644 (file)
@@ -1,11 +1,9 @@
 #define __ieee754_acos __ieee754_acos_fma
 #define __ieee754_asin __ieee754_asin_fma
-#define __cos32 __cos32_fma
 #define __doasin __doasin_fma
 #define __docos __docos_fma
 #define __dubcos __dubcos_fma
 #define __dubsin __dubsin_fma
-#define __sin32 __sin32_fma
 #define SECTION __attribute__ ((section (".text.fma")))
 
 #include <sysdeps/ieee754/dbl-64/e_asin.c>
index 2657c31f4967df100ca10a708f0fabe7aa54096c..0965556a010515c7ced2e878659cc04c54a58d2d 100644 (file)
@@ -1,11 +1,9 @@
 #define __ieee754_acos __ieee754_acos_fma4
 #define __ieee754_asin __ieee754_asin_fma4
-#define __cos32 __cos32_fma4
 #define __doasin __doasin_fma4
 #define __docos __docos_fma4
 #define __dubcos __dubcos_fma4
 #define __dubsin __dubsin_fma4
-#define __sin32 __sin32_fma4
 #define SECTION __attribute__ ((section (".text.fma4")))
 
 #include <sysdeps/ieee754/dbl-64/e_asin.c>
index dcd44bc5e8d358b08ca1861c08ca438a468b7eda..4152b8483535b253c6e9e75978cc0da26d13b7d7 100644 (file)
@@ -1,5 +1,3 @@
-#define __cos32 __cos32_fma
-#define __sin32 __sin32_fma
 #define __c32 __c32_fma
 #define __mpsin __mpsin_fma
 #define __mpsin1 __mpsin1_fma
index ebbfa18ccae29c81c6cf2dec62f1b5eeae14007a..643eedf1381a8ca8bcfd2d83448c410870bba8cf 100644 (file)
@@ -1,5 +1,3 @@
-#define __cos32 __cos32_fma4
-#define __sin32 __sin32_fma4
 #define __c32 __c32_fma4
 #define __mpsin __mpsin_fma4
 #define __mpsin1 __mpsin1_fma4