mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
Do not wrap logf, log2f and powf
The new generic logf, log2f and powf code don't need wrappers any more, they set errno inline so only use the wrappers on targets that need it. * sysdeps/ieee754/flt-32/e_log2f.c (__log2f): Define without wrapper. * sysdeps/ieee754/flt-32/e_logf.c (__logf): Likewise * sysdeps/ieee754/flt-32/e_powf.c (__powf): Likewise * sysdeps/ieee754/flt-32/w_log2f.c: New file. * sysdeps/ieee754/flt-32/w_logf.c: New file. * sysdeps/ieee754/flt-32/w_powf.c: New file. * sysdeps/i386/fpu/w_log2f.c: New file. * sysdeps/i386/fpu/w_logf.c: New file. * sysdeps/i386/fpu/w_powf.c: New file. * sysdeps/m68k/m680x0/fpu/w_log2f.c: New file. * sysdeps/m68k/m680x0/fpu/w_logf.c: New file. * sysdeps/m68k/m680x0/fpu/w_powf.c: New file.
This commit is contained in:
parent
f7a0b063e7
commit
bd4430c2a6
15
ChangeLog
15
ChangeLog
@ -1,3 +1,18 @@
|
||||
2017-10-02 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||||
|
||||
* sysdeps/ieee754/flt-32/e_log2f.c (__log2f): Define without wrapper.
|
||||
* sysdeps/ieee754/flt-32/e_logf.c (__logf): Likewise
|
||||
* sysdeps/ieee754/flt-32/e_powf.c (__powf): Likewise
|
||||
* sysdeps/ieee754/flt-32/w_log2f.c: New file.
|
||||
* sysdeps/ieee754/flt-32/w_logf.c: New file.
|
||||
* sysdeps/ieee754/flt-32/w_powf.c: New file.
|
||||
* sysdeps/i386/fpu/w_log2f.c: New file.
|
||||
* sysdeps/i386/fpu/w_logf.c: New file.
|
||||
* sysdeps/i386/fpu/w_powf.c: New file.
|
||||
* sysdeps/m68k/m680x0/fpu/w_log2f.c: New file.
|
||||
* sysdeps/m68k/m680x0/fpu/w_logf.c: New file.
|
||||
* sysdeps/m68k/m680x0/fpu/w_powf.c: New file.
|
||||
|
||||
2017-10-02 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||||
H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
|
1
sysdeps/i386/fpu/w_log2f.c
Normal file
1
sysdeps/i386/fpu/w_log2f.c
Normal file
@ -0,0 +1 @@
|
||||
#include <sysdeps/../math/w_log2f.c>
|
1
sysdeps/i386/fpu/w_logf.c
Normal file
1
sysdeps/i386/fpu/w_logf.c
Normal file
@ -0,0 +1 @@
|
||||
#include <sysdeps/../math/w_logf.c>
|
1
sysdeps/i386/fpu/w_powf.c
Normal file
1
sysdeps/i386/fpu/w_powf.c
Normal file
@ -0,0 +1 @@
|
||||
#include <sysdeps/../math/w_powf.c>
|
@ -18,6 +18,7 @@
|
||||
|
||||
#include <math.h>
|
||||
#include <stdint.h>
|
||||
#include <shlib-compat.h>
|
||||
#include "math_config.h"
|
||||
|
||||
/*
|
||||
@ -34,7 +35,7 @@ Relative error: 1.9 * 2^-26 (before rounding.)
|
||||
#define OFF 0x3f330000
|
||||
|
||||
float
|
||||
__ieee754_log2f (float x)
|
||||
__log2f (float x)
|
||||
{
|
||||
/* double_t for better performance on targets with FLT_EVAL_METHOD==2. */
|
||||
double_t z, r, r2, p, y, y0, invc, logc;
|
||||
@ -85,4 +86,8 @@ __ieee754_log2f (float x)
|
||||
y = y * r2 + p;
|
||||
return (float) y;
|
||||
}
|
||||
strong_alias (__ieee754_log2f, __log2f_finite)
|
||||
#ifndef __log2f
|
||||
strong_alias (__log2f, __ieee754_log2f)
|
||||
strong_alias (__log2f, __log2f_finite)
|
||||
versioned_symbol (libm, __log2f, log2f, GLIBC_2_27);
|
||||
#endif
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
#include <math.h>
|
||||
#include <stdint.h>
|
||||
#include <shlib-compat.h>
|
||||
#include "math_config.h"
|
||||
|
||||
/*
|
||||
@ -35,7 +36,7 @@ Relative error: 1.957 * 2^-26 (before rounding.)
|
||||
#define OFF 0x3f330000
|
||||
|
||||
float
|
||||
__ieee754_logf (float x)
|
||||
__logf (float x)
|
||||
{
|
||||
/* double_t for better performance on targets with FLT_EVAL_METHOD==2. */
|
||||
double_t z, r, r2, y, y0, invc, logc;
|
||||
@ -84,4 +85,8 @@ __ieee754_logf (float x)
|
||||
y = y * r2 + (y0 + r);
|
||||
return (float) y;
|
||||
}
|
||||
strong_alias (__ieee754_logf, __logf_finite)
|
||||
#ifndef __logf
|
||||
strong_alias (__logf, __ieee754_logf)
|
||||
strong_alias (__logf, __logf_finite)
|
||||
versioned_symbol (libm, __logf, logf, GLIBC_2_27);
|
||||
#endif
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
#include <math.h>
|
||||
#include <stdint.h>
|
||||
#include <shlib-compat.h>
|
||||
#include "math_config.h"
|
||||
|
||||
/*
|
||||
@ -139,7 +140,7 @@ zeroinfnan (uint32_t ix)
|
||||
}
|
||||
|
||||
float
|
||||
__ieee754_powf (float x, float y)
|
||||
__powf (float x, float y)
|
||||
{
|
||||
unsigned long sign_bias = 0;
|
||||
uint32_t ix, iy;
|
||||
@ -214,4 +215,8 @@ __ieee754_powf (float x, float y)
|
||||
}
|
||||
return (float) exp2_inline (ylogx, sign_bias);
|
||||
}
|
||||
strong_alias (__ieee754_powf, __powf_finite)
|
||||
#ifndef __powf
|
||||
strong_alias (__powf, __ieee754_powf)
|
||||
strong_alias (__powf, __powf_finite)
|
||||
versioned_symbol (libm, __powf, powf, GLIBC_2_27);
|
||||
#endif
|
||||
|
1
sysdeps/ieee754/flt-32/w_log2f.c
Normal file
1
sysdeps/ieee754/flt-32/w_log2f.c
Normal file
@ -0,0 +1 @@
|
||||
/* Not needed. */
|
1
sysdeps/ieee754/flt-32/w_logf.c
Normal file
1
sysdeps/ieee754/flt-32/w_logf.c
Normal file
@ -0,0 +1 @@
|
||||
/* Not needed. */
|
1
sysdeps/ieee754/flt-32/w_powf.c
Normal file
1
sysdeps/ieee754/flt-32/w_powf.c
Normal file
@ -0,0 +1 @@
|
||||
/* Not needed. */
|
1
sysdeps/m68k/m680x0/fpu/w_log2f.c
Normal file
1
sysdeps/m68k/m680x0/fpu/w_log2f.c
Normal file
@ -0,0 +1 @@
|
||||
#include <sysdeps/../math/w_log2f.c>
|
1
sysdeps/m68k/m680x0/fpu/w_logf.c
Normal file
1
sysdeps/m68k/m680x0/fpu/w_logf.c
Normal file
@ -0,0 +1 @@
|
||||
#include <sysdeps/../math/w_logf.c>
|
1
sysdeps/m68k/m680x0/fpu/w_powf.c
Normal file
1
sysdeps/m68k/m680x0/fpu/w_powf.c
Normal file
@ -0,0 +1 @@
|
||||
#include <sysdeps/../math/w_powf.c>
|
Loading…
Reference in New Issue
Block a user