From patchwork Wed Nov 29 00:11:34 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joseph Myers X-Patchwork-Id: 24583 Received: (qmail 15851 invoked by alias); 29 Nov 2017 00:11:45 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 15823 invoked by uid 89); 29 Nov 2017 00:11:44 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-17.9 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_SHORT, KAM_STOCKTIP, KB_WAM_FROM_NAME_SINGLEWORD, RCVD_IN_DNSWL_NONE, SPF_PASS, URIBL_RED autolearn=ham version=3.3.2 spammy= X-HELO: relay1.mentorg.com Date: Wed, 29 Nov 2017 00:11:34 +0000 From: Joseph Myers To: Subject: Use libm_alias_float for i386 [committed] Message-ID: User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 X-ClientProxiedBy: svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) To SVR-IES-MBX-03.mgc.mentorg.com (139.181.222.3) Continuing the preparation for additional _FloatN / _FloatNx function aliases, this patch makes i386 libm function implementations use libm_alias_float (or libm_alias_float_other in cases where the main symbol name is defined with versioned_symbol) to define function aliases. Tested with build-many-glibcs.py for all its i386 configurations that installed stripped shared libraries are unchanged by the patch, as well as running the full glibc testsuite for i686. Committed. 2017-11-29 Joseph Myers * sysdeps/i386/fpu/s_asinhf.S: Include . (asinhf): Define using libm_alias_float. * sysdeps/i386/fpu/s_atanf.S: Include . (atanf): Define using libm_alias_float. * sysdeps/i386/fpu/s_cbrtf.S: Include . (cbrtf): Define using libm_alias_float. * sysdeps/i386/fpu/s_ceilf.S: Include . (ceilf): Define using libm_alias_float. * sysdeps/i386/fpu/s_copysignf.S: Include . (copysignf): Define using libm_alias_float. * sysdeps/i386/fpu/s_expm1f.S: Include . (expm1f): Define using libm_alias_float. * sysdeps/i386/fpu/s_fabsf.S: Include . (fabsf): Define using libm_alias_float. * sysdeps/i386/fpu/s_floorf.S: Include . (floorf): Define using libm_alias_float. * sysdeps/i386/fpu/s_fmaxf.S: Include . (fmaxf): Define using libm_alias_float. * sysdeps/i386/fpu/s_fminf.S: Include . (fminf): Define using libm_alias_float. * sysdeps/i386/fpu/s_frexpf.S: Include . (frexpf): Define using libm_alias_float. * sysdeps/i386/fpu/s_llrintf.S: Include . (llrintf): Define using libm_alias_float. * sysdeps/i386/fpu/s_logbf.S: Include . (logbf): Define using libm_alias_float. * sysdeps/i386/fpu/s_lrintf.S: Include . (lrintf): Define using libm_alias_float. * sysdeps/i386/fpu/s_nearbyintf.S: Include . (nearbyintf): Define using libm_alias_float. * sysdeps/i386/fpu/s_remquof.S: Include . (remquof): Define using libm_alias_float. * sysdeps/i386/fpu/s_rintf.S: Include . (rintf): Define using libm_alias_float. * sysdeps/i386/fpu/s_truncf.S: Include . (truncf): Define using libm_alias_float. * sysdeps/i386/i686/fpu/multiarch/e_exp2f.c: Include . (exp2f): Define using libm_alias_float, or libm_alias_float_other if [SHARED]. * sysdeps/i386/i686/fpu/multiarch/e_expf.c: Include . (expf): Define using libm_alias_float, or libm_alias_float_other if [SHARED]. * sysdeps/i386/i686/fpu/multiarch/e_log2f.c: Include . (log2f): Define using libm_alias_float, or libm_alias_float_other if [SHARED]. * sysdeps/i386/i686/fpu/multiarch/e_logf.c: Include . (logf): Define using libm_alias_float, or libm_alias_float_other if [SHARED]. * sysdeps/i386/i686/fpu/multiarch/e_powf.c: Include . (powf): Define using libm_alias_float, or libm_alias_float_other if [SHARED]. * sysdeps/i386/i686/fpu/multiarch/s_cosf.c: Include . (cosf): Define using libm_alias_float. * sysdeps/i386/i686/fpu/multiarch/s_sincosf.c: Include . (sincosf): Define using libm_alias_float. * sysdeps/i386/i686/fpu/multiarch/s_sinf.c: Include . (sinf): Define using libm_alias_float. * sysdeps/i386/i686/fpu/s_fmaxf.S: Include . (fmaxf): Define using libm_alias_float. * sysdeps/i386/i686/fpu/s_fminf.S: Include . (fminf): Define using libm_alias_float. * sysdeps/i386/i686/multiarch/s_fmaf.c: Include . (fmaf): Define using libm_alias_float. diff --git a/sysdeps/i386/fpu/s_asinhf.S b/sysdeps/i386/fpu/s_asinhf.S index 12bcfef..88b6174 100644 --- a/sysdeps/i386/fpu/s_asinhf.S +++ b/sysdeps/i386/fpu/s_asinhf.S @@ -18,6 +18,7 @@ . */ #include +#include .section .rodata @@ -136,4 +137,4 @@ ENTRY(__asinhf) fchs 4: ret END(__asinhf) -weak_alias (__asinhf, asinhf) +libm_alias_float (__asinh, asinh) diff --git a/sysdeps/i386/fpu/s_atanf.S b/sysdeps/i386/fpu/s_atanf.S index 0589c11..15ecd34 100644 --- a/sysdeps/i386/fpu/s_atanf.S +++ b/sysdeps/i386/fpu/s_atanf.S @@ -5,6 +5,7 @@ #include #include +#include RCSID("$NetBSD: s_atanf.S,v 1.3 1995/05/08 23:51:33 jtc Exp $") @@ -27,4 +28,4 @@ ENTRY(__atanf) FLT_CHECK_FORCE_UFLOW ret END (__atanf) -weak_alias (__atanf, atanf) +libm_alias_float (__atan, atan) diff --git a/sysdeps/i386/fpu/s_cbrtf.S b/sysdeps/i386/fpu/s_cbrtf.S index 645d243..d4a6375 100644 --- a/sysdeps/i386/fpu/s_cbrtf.S +++ b/sysdeps/i386/fpu/s_cbrtf.S @@ -19,6 +19,7 @@ . */ #include +#include .section .rodata @@ -174,4 +175,4 @@ ENTRY(__cbrtf) 1: flds 4(%esp) ret END(__cbrtf) -weak_alias (__cbrtf, cbrtf) +libm_alias_float (__cbrt, cbrt) diff --git a/sysdeps/i386/fpu/s_ceilf.S b/sysdeps/i386/fpu/s_ceilf.S index d345c09..2a6e3db 100644 --- a/sysdeps/i386/fpu/s_ceilf.S +++ b/sysdeps/i386/fpu/s_ceilf.S @@ -4,6 +4,7 @@ */ #include +#include RCSID("$NetBSD: s_ceilf.S,v 1.3 1995/05/08 23:52:44 jtc Exp $") @@ -31,4 +32,4 @@ ENTRY(__ceilf) cfi_adjust_cfa_offset (-32) ret END (__ceilf) -weak_alias (__ceilf, ceilf) +libm_alias_float (__ceil, ceil) diff --git a/sysdeps/i386/fpu/s_copysignf.S b/sysdeps/i386/fpu/s_copysignf.S index 57b1a6f..a05b749 100644 --- a/sysdeps/i386/fpu/s_copysignf.S +++ b/sysdeps/i386/fpu/s_copysignf.S @@ -4,6 +4,7 @@ */ #include +#include RCSID("$NetBSD: s_copysignf.S,v 1.3 1995/05/08 23:53:25 jtc Exp $") @@ -17,4 +18,4 @@ ENTRY(__copysignf) flds 4(%esp) ret END (__copysignf) -weak_alias (__copysignf, copysignf) +libm_alias_float (__copysign, copysign) diff --git a/sysdeps/i386/fpu/s_expm1f.S b/sysdeps/i386/fpu/s_expm1f.S index 4f0b2e7..dcbe3e6 100644 --- a/sysdeps/i386/fpu/s_expm1f.S +++ b/sysdeps/i386/fpu/s_expm1f.S @@ -24,6 +24,7 @@ #include #include #include +#include .section .rodata @@ -110,4 +111,4 @@ ENTRY(__expm1f) fldl MO(minus1) // Set result to -1.0. 3: ret END(__expm1f) -weak_alias (__expm1f, expm1f) +libm_alias_float (__expm1, expm1) diff --git a/sysdeps/i386/fpu/s_fabsf.S b/sysdeps/i386/fpu/s_fabsf.S index c0407a8..3185946 100644 --- a/sysdeps/i386/fpu/s_fabsf.S +++ b/sysdeps/i386/fpu/s_fabsf.S @@ -1,4 +1,5 @@ #include +#include .text ENTRY(__fabsf) @@ -6,4 +7,4 @@ ENTRY(__fabsf) fabs ret END(__fabsf) -weak_alias (__fabsf, fabsf) +libm_alias_float (__fabs, fabs) diff --git a/sysdeps/i386/fpu/s_floorf.S b/sysdeps/i386/fpu/s_floorf.S index 84b6f7e..656eeb6 100644 --- a/sysdeps/i386/fpu/s_floorf.S +++ b/sysdeps/i386/fpu/s_floorf.S @@ -4,6 +4,7 @@ */ #include +#include RCSID("$NetBSD: s_floorf.S,v 1.3 1995/05/09 00:04:32 jtc Exp $") @@ -31,4 +32,4 @@ ENTRY(__floorf) cfi_adjust_cfa_offset (-32) ret END (__floorf) -weak_alias (__floorf, floorf) +libm_alias_float (__floor, floor) diff --git a/sysdeps/i386/fpu/s_fmaxf.S b/sysdeps/i386/fpu/s_fmaxf.S index b7a00ce..6d0d5b7 100644 --- a/sysdeps/i386/fpu/s_fmaxf.S +++ b/sysdeps/i386/fpu/s_fmaxf.S @@ -18,6 +18,7 @@ . */ #include +#include .text ENTRY(__fmaxf) @@ -40,4 +41,4 @@ ENTRY(__fmaxf) ret END(__fmaxf) -weak_alias (__fmaxf, fmaxf) +libm_alias_float (__fmax, fmax) diff --git a/sysdeps/i386/fpu/s_fminf.S b/sysdeps/i386/fpu/s_fminf.S index fba4a41..925735d 100644 --- a/sysdeps/i386/fpu/s_fminf.S +++ b/sysdeps/i386/fpu/s_fminf.S @@ -18,6 +18,7 @@ . */ #include +#include .text ENTRY(__fminf) @@ -40,4 +41,4 @@ ENTRY(__fminf) ret END(__fminf) -weak_alias (__fminf, fminf) +libm_alias_float (__fmin, fmin) diff --git a/sysdeps/i386/fpu/s_frexpf.S b/sysdeps/i386/fpu/s_frexpf.S index f21c39e..4b3e330 100644 --- a/sysdeps/i386/fpu/s_frexpf.S +++ b/sysdeps/i386/fpu/s_frexpf.S @@ -18,6 +18,7 @@ . */ #include +#include .section .rodata @@ -77,4 +78,4 @@ ENTRY (__frexpf) ret END (__frexpf) -weak_alias (__frexpf, frexpf) +libm_alias_float (__frexp, frexp) diff --git a/sysdeps/i386/fpu/s_llrintf.S b/sysdeps/i386/fpu/s_llrintf.S index a4b574e..c622651 100644 --- a/sysdeps/i386/fpu/s_llrintf.S +++ b/sysdeps/i386/fpu/s_llrintf.S @@ -19,6 +19,7 @@ . */ #include +#include .text ENTRY(__llrintf) @@ -33,4 +34,4 @@ ENTRY(__llrintf) cfi_adjust_cfa_offset (-4) ret END(__llrintf) -weak_alias (__llrintf, llrintf) +libm_alias_float (__llrint, llrint) diff --git a/sysdeps/i386/fpu/s_logbf.S b/sysdeps/i386/fpu/s_logbf.S index 91eb3d2..175daf5 100644 --- a/sysdeps/i386/fpu/s_logbf.S +++ b/sysdeps/i386/fpu/s_logbf.S @@ -4,6 +4,7 @@ */ #include +#include RCSID("$NetBSD: s_logbf.S,v 1.3 1995/05/09 00:15:12 jtc Exp $") @@ -13,4 +14,4 @@ ENTRY(__logbf) fstp %st ret END (__logbf) -weak_alias (__logbf, logbf) +libm_alias_float (__logb, logb) diff --git a/sysdeps/i386/fpu/s_lrintf.S b/sysdeps/i386/fpu/s_lrintf.S index fc6e68e..c0db071 100644 --- a/sysdeps/i386/fpu/s_lrintf.S +++ b/sysdeps/i386/fpu/s_lrintf.S @@ -19,6 +19,7 @@ . */ #include +#include .text ENTRY(__lrintf) @@ -31,4 +32,4 @@ ENTRY(__lrintf) cfi_adjust_cfa_offset (-4) ret END(__lrintf) -weak_alias (__lrintf, lrintf) +libm_alias_float (__lrint, lrint) diff --git a/sysdeps/i386/fpu/s_nearbyintf.S b/sysdeps/i386/fpu/s_nearbyintf.S index 92df2f8..169d06d 100644 --- a/sysdeps/i386/fpu/s_nearbyintf.S +++ b/sysdeps/i386/fpu/s_nearbyintf.S @@ -5,6 +5,7 @@ /* Adapted for use as nearbyint by Ulrich Drepper . */ #include +#include ENTRY(__nearbyintf) flds 4(%esp) @@ -17,4 +18,4 @@ ENTRY(__nearbyintf) cfi_adjust_cfa_offset (-32) ret END (__nearbyintf) -weak_alias (__nearbyintf, nearbyintf) +libm_alias_float (__nearbyint, nearbyint) diff --git a/sysdeps/i386/fpu/s_remquof.S b/sysdeps/i386/fpu/s_remquof.S index 62063f0..0b4a745 100644 --- a/sysdeps/i386/fpu/s_remquof.S +++ b/sysdeps/i386/fpu/s_remquof.S @@ -5,6 +5,7 @@ */ #include +#include #define PARMS 4 /* no space for saved regs */ #define DVDND PARMS @@ -42,4 +43,4 @@ ENTRY (__remquof) ret END (__remquof) -weak_alias (__remquof, remquof) +libm_alias_float (__remquo, remquo) diff --git a/sysdeps/i386/fpu/s_rintf.S b/sysdeps/i386/fpu/s_rintf.S index 2b358c1..f6d1104 100644 --- a/sysdeps/i386/fpu/s_rintf.S +++ b/sysdeps/i386/fpu/s_rintf.S @@ -4,6 +4,7 @@ */ #include +#include RCSID("$NetBSD: s_rintf.S,v 1.3 1995/05/09 00:17:22 jtc Exp $") @@ -12,4 +13,4 @@ ENTRY(__rintf) frndint ret END (__rintf) -weak_alias (__rintf, rintf) +libm_alias_float (__rint, rint) diff --git a/sysdeps/i386/fpu/s_truncf.S b/sysdeps/i386/fpu/s_truncf.S index a93f5b9..467c12b 100644 --- a/sysdeps/i386/fpu/s_truncf.S +++ b/sysdeps/i386/fpu/s_truncf.S @@ -18,6 +18,7 @@ . */ #include +#include ENTRY(__truncf) flds 4(%esp) @@ -34,4 +35,4 @@ ENTRY(__truncf) cfi_adjust_cfa_offset (-32) ret END(__truncf) -weak_alias (__truncf, truncf) +libm_alias_float (__trunc, trunc) diff --git a/sysdeps/i386/i686/fpu/multiarch/e_exp2f.c b/sysdeps/i386/i686/fpu/multiarch/e_exp2f.c index 0a5727f..ed7a84d 100644 --- a/sysdeps/i386/i686/fpu/multiarch/e_exp2f.c +++ b/sysdeps/i386/i686/fpu/multiarch/e_exp2f.c @@ -23,11 +23,13 @@ extern float __redirect_exp2f (float); libc_ifunc_redirected (__redirect_exp2f, __exp2f, IFUNC_SELECTOR ()); +#include #ifdef SHARED # include versioned_symbol (libm, __exp2f, exp2f, GLIBC_2_27); +libm_alias_float_other (__exp2, exp2) #else -weak_alias (__exp2f, exp2f) +libm_alias_float (__exp2, exp2) #endif strong_alias (__exp2f, __ieee754_exp2f) diff --git a/sysdeps/i386/i686/fpu/multiarch/e_expf.c b/sysdeps/i386/i686/fpu/multiarch/e_expf.c index bd4240e..5c0f84a 100644 --- a/sysdeps/i386/i686/fpu/multiarch/e_expf.c +++ b/sysdeps/i386/i686/fpu/multiarch/e_expf.c @@ -23,14 +23,16 @@ extern float __redirect_expf (float); libc_ifunc_redirected (__redirect_expf, __expf, IFUNC_SELECTOR ()); +#include #ifdef SHARED __hidden_ver1 (__expf_ia32, __GI___expf, __redirect_expf) __attribute__ ((visibility ("hidden"))); # include versioned_symbol (libm, __expf, expf, GLIBC_2_27); +libm_alias_float_other (__exp, exp) #else -weak_alias (__expf, expf) +libm_alias_float (__exp, exp) #endif strong_alias (__expf, __ieee754_expf) diff --git a/sysdeps/i386/i686/fpu/multiarch/e_log2f.c b/sysdeps/i386/i686/fpu/multiarch/e_log2f.c index 2c47949..af089de 100644 --- a/sysdeps/i386/i686/fpu/multiarch/e_log2f.c +++ b/sysdeps/i386/i686/fpu/multiarch/e_log2f.c @@ -23,14 +23,16 @@ extern float __redirect_log2f (float); libc_ifunc_redirected (__redirect_log2f, __log2f, IFUNC_SELECTOR ()); +#include #ifdef SHARED __hidden_ver1 (__log2f_ia32, __GI___log2f, __redirect_log2f) __attribute__ ((visibility ("hidden"))); # include versioned_symbol (libm, __log2f, log2f, GLIBC_2_27); +libm_alias_float_other (__log2, log2) #else -weak_alias (__log2f, log2f) +libm_alias_float (__log2, log2) #endif strong_alias (__log2f, __ieee754_log2f) diff --git a/sysdeps/i386/i686/fpu/multiarch/e_logf.c b/sysdeps/i386/i686/fpu/multiarch/e_logf.c index 1414d17..f69065e 100644 --- a/sysdeps/i386/i686/fpu/multiarch/e_logf.c +++ b/sysdeps/i386/i686/fpu/multiarch/e_logf.c @@ -23,14 +23,16 @@ extern float __redirect_logf (float); libc_ifunc_redirected (__redirect_logf, __logf, IFUNC_SELECTOR ()); +#include #ifdef SHARED __hidden_ver1 (__logf_ia32, __GI___logf, __redirect_logf) __attribute__ ((visibility ("hidden"))); # include versioned_symbol (libm, __logf, logf, GLIBC_2_27); +libm_alias_float_other (__log, log) #else -weak_alias (__logf, logf) +libm_alias_float (__log, log) #endif strong_alias (__logf, __ieee754_logf) diff --git a/sysdeps/i386/i686/fpu/multiarch/e_powf.c b/sysdeps/i386/i686/fpu/multiarch/e_powf.c index 4dc4c87..281563f 100644 --- a/sysdeps/i386/i686/fpu/multiarch/e_powf.c +++ b/sysdeps/i386/i686/fpu/multiarch/e_powf.c @@ -26,14 +26,16 @@ libc_ifunc_redirected (__redirect_powf, __powf, IFUNC_SELECTOR ()); +#include #ifdef SHARED __hidden_ver1 (__powf_ia32, __GI___powf, __redirect_powf) __attribute__ ((visibility ("hidden"))); # include versioned_symbol (libm, __powf, powf, GLIBC_2_27); +libm_alias_float_other (__pow, pow) #else -weak_alias (__powf, powf) +libm_alias_float (__pow, pow) #endif strong_alias (__powf, __ieee754_powf) diff --git a/sysdeps/i386/i686/fpu/multiarch/s_cosf.c b/sysdeps/i386/i686/fpu/multiarch/s_cosf.c index af588de..d16b05b 100644 --- a/sysdeps/i386/i686/fpu/multiarch/s_cosf.c +++ b/sysdeps/i386/i686/fpu/multiarch/s_cosf.c @@ -17,13 +17,14 @@ . */ #include +#include extern float __cosf_sse2 (float); extern float __cosf_ia32 (float); float __cosf (float); libm_ifunc (__cosf, HAS_CPU_FEATURE (SSE2) ? __cosf_sse2 : __cosf_ia32); -weak_alias (__cosf, cosf); +libm_alias_float (__cos, cos); #define COSF __cosf_ia32 #include diff --git a/sysdeps/i386/i686/fpu/multiarch/s_sincosf.c b/sysdeps/i386/i686/fpu/multiarch/s_sincosf.c index 9428f9b..5cedffb 100644 --- a/sysdeps/i386/i686/fpu/multiarch/s_sincosf.c +++ b/sysdeps/i386/i686/fpu/multiarch/s_sincosf.c @@ -17,6 +17,7 @@ . */ #include +#include extern void __sincosf_sse2 (float, float *, float *); extern void __sincosf_ia32 (float, float *, float *); @@ -24,7 +25,7 @@ void __sincosf (float, float *, float *); libm_ifunc (__sincosf, HAS_CPU_FEATURE (SSE2) ? __sincosf_sse2 : __sincosf_ia32); -weak_alias (__sincosf, sincosf); +libm_alias_float (__sincos, sincos); #define SINCOSF __sincosf_ia32 #include diff --git a/sysdeps/i386/i686/fpu/multiarch/s_sinf.c b/sysdeps/i386/i686/fpu/multiarch/s_sinf.c index 8ccdd2f..9bde8fa 100644 --- a/sysdeps/i386/i686/fpu/multiarch/s_sinf.c +++ b/sysdeps/i386/i686/fpu/multiarch/s_sinf.c @@ -17,12 +17,13 @@ . */ #include +#include extern float __sinf_sse2 (float); extern float __sinf_ia32 (float); float __sinf (float); libm_ifunc (__sinf, HAS_CPU_FEATURE (SSE2) ? __sinf_sse2 : __sinf_ia32); -weak_alias (__sinf, sinf); +libm_alias_float (__sin, sin); #define SINF __sinf_ia32 #include diff --git a/sysdeps/i386/i686/fpu/s_fmaxf.S b/sysdeps/i386/i686/fpu/s_fmaxf.S index 3a25951..73da61d 100644 --- a/sysdeps/i386/i686/fpu/s_fmaxf.S +++ b/sysdeps/i386/i686/fpu/s_fmaxf.S @@ -18,6 +18,7 @@ . */ #include +#include .text ENTRY(__fmaxf) @@ -36,4 +37,4 @@ ENTRY(__fmaxf) ret END(__fmaxf) -weak_alias (__fmaxf, fmaxf) +libm_alias_float (__fmax, fmax) diff --git a/sysdeps/i386/i686/fpu/s_fminf.S b/sysdeps/i386/i686/fpu/s_fminf.S index 52ea892..4c9dc9f 100644 --- a/sysdeps/i386/i686/fpu/s_fminf.S +++ b/sysdeps/i386/i686/fpu/s_fminf.S @@ -18,6 +18,7 @@ . */ #include +#include .text ENTRY(__fminf) @@ -34,4 +35,4 @@ ENTRY(__fminf) ret END(__fminf) -weak_alias (__fminf, fminf) +libm_alias_float (__fmin, fmin) diff --git a/sysdeps/i386/i686/multiarch/s_fmaf.c b/sysdeps/i386/i686/multiarch/s_fmaf.c index 00b0fbc..9b9785f 100644 --- a/sysdeps/i386/i686/multiarch/s_fmaf.c +++ b/sysdeps/i386/i686/multiarch/s_fmaf.c @@ -21,13 +21,14 @@ #include #include +#include extern float __fmaf_ia32 (float x, float y, float z) attribute_hidden; extern float __fmaf_fma (float x, float y, float z) attribute_hidden; libm_ifunc (__fmaf, HAS_ARCH_FEATURE (FMA_Usable) ? __fmaf_fma : __fmaf_ia32); -weak_alias (__fmaf, fmaf) +libm_alias_float (__fma, fma) #define __fmaf __fmaf_ia32