diff options
Diffstat (limited to 'sysdeps')
39 files changed, 106 insertions, 16 deletions
diff --git a/sysdeps/i386/fpu/w_exp.c b/sysdeps/i386/fpu/w_exp.c new file mode 100644 index 0000000000..27eee98a0a --- /dev/null +++ b/sysdeps/i386/fpu/w_exp.c @@ -0,0 +1 @@ +#include <sysdeps/../math/w_exp.c> diff --git a/sysdeps/i386/fpu/w_exp2.c b/sysdeps/i386/fpu/w_exp2.c new file mode 100644 index 0000000000..e0636a7ceb --- /dev/null +++ b/sysdeps/i386/fpu/w_exp2.c @@ -0,0 +1 @@ +#include <sysdeps/../math/w_exp2.c> diff --git a/sysdeps/ia64/fpu/e_exp.S b/sysdeps/ia64/fpu/e_exp.S index c8cebeb177..4774a43768 100644 --- a/sysdeps/ia64/fpu/e_exp.S +++ b/sysdeps/ia64/fpu/e_exp.S @@ -739,6 +739,12 @@ EXP_UNDERFLOW_ZERO: GLOBAL_IEEE754_END(exp) libm_alias_double_other (__exp, exp) +#ifdef SHARED +.symver exp,exp@@GLIBC_2.29 +.weak __exp_compat +.set __exp_compat,__exp +.symver __exp_compat,exp@GLIBC_2.2 +#endif LOCAL_LIBM_ENTRY(__libm_error_region) diff --git a/sysdeps/ia64/fpu/e_exp2.S b/sysdeps/ia64/fpu/e_exp2.S index 18711866a1..97b69263e4 100644 --- a/sysdeps/ia64/fpu/e_exp2.S +++ b/sysdeps/ia64/fpu/e_exp2.S @@ -227,7 +227,7 @@ LOCAL_OBJECT_END(T_table) .section .text -GLOBAL_LIBM_ENTRY(exp2) +WEAK_LIBM_ENTRY(exp2) {.mfi @@ -493,8 +493,14 @@ OUT_RANGE_exp2: } ;; -GLOBAL_LIBM_END(exp2) -libm_alias_double_other (exp2, exp2) +WEAK_LIBM_END(exp2) +libm_alias_double_other (__exp2, exp2) +#ifdef SHARED +.symver exp2,exp2@@GLIBC_2.29 +.weak __exp2_compat +.set __exp2_compat,__exp2 +.symver __exp2_compat,exp2@GLIBC_2.2 +#endif LOCAL_LIBM_ENTRY(__libm_error_region) diff --git a/sysdeps/ieee754/dbl-64/e_exp.c b/sysdeps/ieee754/dbl-64/e_exp.c index 37fdafcfa0..9e55c50a4d 100644 --- a/sysdeps/ieee754/dbl-64/e_exp.c +++ b/sysdeps/ieee754/dbl-64/e_exp.c @@ -20,6 +20,9 @@ #include <stdint.h> #include <math-barriers.h> #include <math-narrow-eval.h> +#include <math-svid-compat.h> +#include <shlib-compat.h> +#include <libm-alias-double.h> #include "math_config.h" #define N (1 << EXP_TABLE_BITS) @@ -91,7 +94,7 @@ top12 (double x) double SECTION -__ieee754_exp (double x) +__exp (double x) { uint32_t abstop; uint64_t ki, idx, top, sbits; @@ -153,6 +156,14 @@ __ieee754_exp (double x) is no spurious underflow here even without fma. */ return scale + scale * tmp; } -#ifndef __ieee754_exp -strong_alias (__ieee754_exp, __exp_finite) +#ifndef __exp +hidden_def (__exp) +strong_alias (__exp, __ieee754_exp) +strong_alias (__exp, __exp_finite) +# if LIBM_SVID_COMPAT +versioned_symbol (libm, __exp, exp, GLIBC_2_29); +libm_alias_double_other (__exp, exp) +# else +libm_alias_double (__exp, exp) +# endif #endif diff --git a/sysdeps/ieee754/dbl-64/e_exp2.c b/sysdeps/ieee754/dbl-64/e_exp2.c index 96afcf9c20..48741e8452 100644 --- a/sysdeps/ieee754/dbl-64/e_exp2.c +++ b/sysdeps/ieee754/dbl-64/e_exp2.c @@ -20,6 +20,9 @@ #include <stdint.h> #include <math-barriers.h> #include <math-narrow-eval.h> +#include <math-svid-compat.h> +#include <shlib-compat.h> +#include <libm-alias-double.h> #include "math_config.h" #define N (1 << EXP_TABLE_BITS) @@ -84,7 +87,7 @@ top12 (double x) } double -__ieee754_exp2 (double x) +__exp2 (double x) { uint32_t abstop; uint64_t ki, idx, top, sbits; @@ -140,6 +143,13 @@ __ieee754_exp2 (double x) is no spurious underflow here even without fma. */ return scale + scale * tmp; } -#ifndef __ieee754_exp2 -strong_alias (__ieee754_exp2, __exp2_finite) +#ifndef __exp2 +strong_alias (__exp2, __ieee754_exp2) +strong_alias (__exp2, __exp2_finite) +# if LIBM_SVID_COMPAT +versioned_symbol (libm, __exp2, exp2, GLIBC_2_29); +libm_alias_double_other (__exp2, exp2) +# else +libm_alias_double (__exp2, exp2) +# endif #endif diff --git a/sysdeps/ieee754/dbl-64/w_exp.c b/sysdeps/ieee754/dbl-64/w_exp.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/ieee754/dbl-64/w_exp.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/ieee754/dbl-64/w_exp2.c b/sysdeps/ieee754/dbl-64/w_exp2.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/ieee754/dbl-64/w_exp2.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/m68k/m680x0/fpu/w_exp.c b/sysdeps/m68k/m680x0/fpu/w_exp.c new file mode 100644 index 0000000000..27eee98a0a --- /dev/null +++ b/sysdeps/m68k/m680x0/fpu/w_exp.c @@ -0,0 +1 @@ +#include <sysdeps/../math/w_exp.c> diff --git a/sysdeps/m68k/m680x0/fpu/w_exp2.c b/sysdeps/m68k/m680x0/fpu/w_exp2.c new file mode 100644 index 0000000000..e0636a7ceb --- /dev/null +++ b/sysdeps/m68k/m680x0/fpu/w_exp2.c @@ -0,0 +1 @@ +#include <sysdeps/../math/w_exp2.c> diff --git a/sysdeps/mach/hurd/i386/libm.abilist b/sysdeps/mach/hurd/i386/libm.abilist index fd0a277bdc..ff0a06fdb8 100644 --- a/sysdeps/mach/hurd/i386/libm.abilist +++ b/sysdeps/mach/hurd/i386/libm.abilist @@ -1068,3 +1068,5 @@ GLIBC_2.28 fmul F GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F +GLIBC_2.29 exp F +GLIBC_2.29 exp2 F diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist index 37e99a91bc..cfb8f7d729 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist @@ -1032,3 +1032,5 @@ GLIBC_2.28 fmul F GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F +GLIBC_2.29 exp F +GLIBC_2.29 exp2 F diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist index 2773d61cd1..8a7f92f548 100644 --- a/sysdeps/unix/sysv/linux/alpha/libm.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist @@ -1043,6 +1043,8 @@ GLIBC_2.28 fmul F GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F +GLIBC_2.29 exp F +GLIBC_2.29 exp2 F GLIBC_2.3.4 __c1_cabsf F GLIBC_2.3.4 __c1_cacosf F GLIBC_2.3.4 __c1_cacoshf F diff --git a/sysdeps/unix/sysv/linux/arm/libm.abilist b/sysdeps/unix/sysv/linux/arm/libm.abilist index e126eb07e3..a4a2c9b5e0 100644 --- a/sysdeps/unix/sysv/linux/arm/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/libm.abilist @@ -453,6 +453,8 @@ GLIBC_2.28 fmul F GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F +GLIBC_2.29 exp F +GLIBC_2.29 exp2 F GLIBC_2.4 _LIB_VERSION D 0x4 GLIBC_2.4 __clog10 F GLIBC_2.4 __clog10f F diff --git a/sysdeps/unix/sysv/linux/hppa/libm.abilist b/sysdeps/unix/sysv/linux/hppa/libm.abilist index 679bbfbd59..c665d65ef1 100644 --- a/sysdeps/unix/sysv/linux/hppa/libm.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist @@ -764,4 +764,6 @@ GLIBC_2.28 fmul F GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F +GLIBC_2.29 exp F +GLIBC_2.29 exp2 F GLIBC_2.4 exp2l F diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist index 3110c1f4fa..6728695daa 100644 --- a/sysdeps/unix/sysv/linux/i386/libm.abilist +++ b/sysdeps/unix/sysv/linux/i386/libm.abilist @@ -1075,3 +1075,5 @@ GLIBC_2.28 fmul F GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F +GLIBC_2.29 exp F +GLIBC_2.29 exp2 F diff --git a/sysdeps/unix/sysv/linux/ia64/libm.abilist b/sysdeps/unix/sysv/linux/ia64/libm.abilist index 33a99ff678..3a5d2fb84d 100644 --- a/sysdeps/unix/sysv/linux/ia64/libm.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libm.abilist @@ -1005,3 +1005,5 @@ GLIBC_2.28 fmul F GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F +GLIBC_2.29 exp F +GLIBC_2.29 exp2 F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist index e126eb07e3..a4a2c9b5e0 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist @@ -453,6 +453,8 @@ GLIBC_2.28 fmul F GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F +GLIBC_2.29 exp F +GLIBC_2.29 exp2 F GLIBC_2.4 _LIB_VERSION D 0x4 GLIBC_2.4 __clog10 F GLIBC_2.4 __clog10f F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist index 40ac529f7f..84a580a3a0 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist @@ -804,3 +804,5 @@ GLIBC_2.28 fmul F GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F +GLIBC_2.29 exp F +GLIBC_2.29 exp2 F diff --git a/sysdeps/unix/sysv/linux/microblaze/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/libm.abilist index 4a2c2e669e..f2c3143b70 100644 --- a/sysdeps/unix/sysv/linux/microblaze/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/libm.abilist @@ -765,3 +765,5 @@ GLIBC_2.28 fmul F GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F +GLIBC_2.29 exp F +GLIBC_2.29 exp2 F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist index ff011f86f2..7ecaeea9d5 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist @@ -764,4 +764,6 @@ GLIBC_2.28 fmul F GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F +GLIBC_2.29 exp F +GLIBC_2.29 exp2 F GLIBC_2.4 exp2l F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist index c19ee985a6..c3679e812c 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist @@ -1032,3 +1032,5 @@ GLIBC_2.28 fmul F GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F +GLIBC_2.29 exp F +GLIBC_2.29 exp2 F diff --git a/sysdeps/unix/sysv/linux/nios2/libm.abilist b/sysdeps/unix/sysv/linux/nios2/libm.abilist index 2ed649a655..2964682f19 100644 --- a/sysdeps/unix/sysv/linux/nios2/libm.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libm.abilist @@ -765,3 +765,5 @@ GLIBC_2.28 fmul F GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F +GLIBC_2.29 exp F +GLIBC_2.29 exp2 F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist index 511b24b764..f7ceb788ce 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist @@ -810,6 +810,8 @@ GLIBC_2.28 fmul F GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F +GLIBC_2.29 exp F +GLIBC_2.29 exp2 F GLIBC_2.4 __clog10l F GLIBC_2.4 __finitel F GLIBC_2.4 __fpclassifyl F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist index a6e4e4edaa..7e1c1b559a 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist @@ -809,6 +809,8 @@ GLIBC_2.28 fmul F GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F +GLIBC_2.29 exp F +GLIBC_2.29 exp2 F GLIBC_2.4 __clog10l F GLIBC_2.4 __finitel F GLIBC_2.4 __fpclassifyl F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist index 1e1f2b8d6e..de18417d46 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist @@ -1076,3 +1076,5 @@ GLIBC_2.28 fmul F GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F +GLIBC_2.29 exp F +GLIBC_2.29 exp2 F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist index 331449dfcb..6dd35dbb28 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist @@ -488,6 +488,8 @@ GLIBC_2.28 fmul F GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F +GLIBC_2.29 exp F +GLIBC_2.29 exp2 F GLIBC_2.3 _LIB_VERSION D 0x4 GLIBC_2.3 __clog10 F GLIBC_2.3 __clog10f F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist index 643aa55498..b33b21431f 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist @@ -1033,6 +1033,8 @@ GLIBC_2.28 fmul F GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F +GLIBC_2.29 exp F +GLIBC_2.29 exp2 F GLIBC_2.4 __clog10l F GLIBC_2.4 __finitel F GLIBC_2.4 __fpclassifyl F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist index 8cc5fdfc0b..567059b054 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist @@ -1033,6 +1033,8 @@ GLIBC_2.28 fmul F GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F +GLIBC_2.29 exp F +GLIBC_2.29 exp2 F GLIBC_2.4 __clog10l F GLIBC_2.4 __finitel F GLIBC_2.4 __fpclassifyl F diff --git a/sysdeps/unix/sysv/linux/sh/libm.abilist b/sysdeps/unix/sysv/linux/sh/libm.abilist index 43525fccf6..baea13116d 100644 --- a/sysdeps/unix/sysv/linux/sh/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/libm.abilist @@ -764,4 +764,6 @@ GLIBC_2.28 fmul F GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F +GLIBC_2.29 exp F +GLIBC_2.29 exp2 F GLIBC_2.4 exp2l F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist index fd973676e2..7249346330 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist @@ -1040,6 +1040,8 @@ GLIBC_2.28 fmul F GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F +GLIBC_2.29 exp F +GLIBC_2.29 exp2 F GLIBC_2.4 __clog10l F GLIBC_2.4 __finitel F GLIBC_2.4 __fpclassifyl F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist index 470e64f4ef..629fb08f54 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist @@ -1032,3 +1032,5 @@ GLIBC_2.28 fmul F GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F +GLIBC_2.29 exp F +GLIBC_2.29 exp2 F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist index 4a442c3989..ac703100df 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist @@ -1066,3 +1066,5 @@ GLIBC_2.28 fmul F GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F +GLIBC_2.29 exp F +GLIBC_2.29 exp2 F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist index f1fc0e9f4d..55098e04c8 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist @@ -1066,3 +1066,5 @@ GLIBC_2.28 fmul F GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F +GLIBC_2.29 exp F +GLIBC_2.29 exp2 F diff --git a/sysdeps/x86_64/fpu/multiarch/e_exp-avx.c b/sysdeps/x86_64/fpu/multiarch/e_exp-avx.c index afd917442a..9044823feb 100644 --- a/sysdeps/x86_64/fpu/multiarch/e_exp-avx.c +++ b/sysdeps/x86_64/fpu/multiarch/e_exp-avx.c @@ -1,5 +1,5 @@ -#define __ieee754_exp __ieee754_exp_avx -#define __exp1 __exp1_avx +#include <math.h> +#define __exp __ieee754_exp_avx #define SECTION __attribute__ ((section (".text.avx"))) #include <sysdeps/ieee754/dbl-64/e_exp.c> diff --git a/sysdeps/x86_64/fpu/multiarch/e_exp-fma.c b/sysdeps/x86_64/fpu/multiarch/e_exp-fma.c index 765b1b9dd3..9d6e544ee0 100644 --- a/sysdeps/x86_64/fpu/multiarch/e_exp-fma.c +++ b/sysdeps/x86_64/fpu/multiarch/e_exp-fma.c @@ -1,5 +1,5 @@ -#define __ieee754_exp __ieee754_exp_fma -#define __exp1 __exp1_fma +#include <math.h> +#define __exp __ieee754_exp_fma #define SECTION __attribute__ ((section (".text.fma"))) #include <sysdeps/ieee754/dbl-64/e_exp.c> diff --git a/sysdeps/x86_64/fpu/multiarch/e_exp-fma4.c b/sysdeps/x86_64/fpu/multiarch/e_exp-fma4.c index 9ac7acad28..25643b6ad7 100644 --- a/sysdeps/x86_64/fpu/multiarch/e_exp-fma4.c +++ b/sysdeps/x86_64/fpu/multiarch/e_exp-fma4.c @@ -1,5 +1,5 @@ -#define __ieee754_exp __ieee754_exp_fma4 -#define __exp1 __exp1_fma4 +#include <math.h> +#define __exp __ieee754_exp_fma4 #define SECTION __attribute__ ((section (".text.fma4"))) #include <sysdeps/ieee754/dbl-64/e_exp.c> diff --git a/sysdeps/x86_64/fpu/multiarch/e_exp.c b/sysdeps/x86_64/fpu/multiarch/e_exp.c index 7cd7d1729c..26e614fa70 100644 --- a/sysdeps/x86_64/fpu/multiarch/e_exp.c +++ b/sysdeps/x86_64/fpu/multiarch/e_exp.c @@ -16,6 +16,8 @@ License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ +#include <math.h> + extern double __redirect_ieee754_exp (double); #define SYMBOL_NAME ieee754_exp @@ -25,5 +27,5 @@ libc_ifunc_redirected (__redirect_ieee754_exp, __ieee754_exp, IFUNC_SELECTOR ()); strong_alias (__ieee754_exp, __exp_finite) -#define __ieee754_exp __ieee754_exp_sse2 +#define __exp __ieee754_exp_sse2 #include <sysdeps/ieee754/dbl-64/e_exp.c> diff --git a/sysdeps/x86_64/fpu/multiarch/w_exp.c b/sysdeps/x86_64/fpu/multiarch/w_exp.c new file mode 100644 index 0000000000..27eee98a0a --- /dev/null +++ b/sysdeps/x86_64/fpu/multiarch/w_exp.c @@ -0,0 +1 @@ +#include <sysdeps/../math/w_exp.c> |