From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1105) id E5ABB3857BB0; Mon, 31 Oct 2022 23:20:32 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E5ABB3857BB0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1667258432; bh=uGM5JWWMgA3tgmH7TDt6ToVkOysTGm5N3gwj4nnysf4=; h=From:To:Subject:Date:From; b=cAo0A1E2DSaxgOWAcINspil/PjI+Xmf4ieKQr0h505wHP0/XnfQaJ834uDZiEbI30 4RB6ay5goqiJZr9gkhy8YnBdYJhZcgNQ3dk55P9UW3p4QxWX68PgWnwg3WCXwRqOks EJccH+rlsFbzf9+1836bJfikXqeI9EmlLYgn1CaM= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Joseph Myers To: glibc-cvs@sourceware.org Subject: [glibc] Fix build with GCC 13 _FloatN, _FloatNx built-in functions X-Act-Checkin: glibc X-Git-Author: Joseph Myers X-Git-Refname: refs/heads/master X-Git-Oldrev: bbff275fb1b16f5b7dd95933bde6e1e496414dbf X-Git-Newrev: f66780ba46805760a328f01967836416b06c93ca Message-Id: <20221031232032.E5ABB3857BB0@sourceware.org> Date: Mon, 31 Oct 2022 23:20:32 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=f66780ba46805760a328f01967836416b06c93ca commit f66780ba46805760a328f01967836416b06c93ca Author: Joseph Myers Date: Mon Oct 31 23:20:08 2022 +0000 Fix build with GCC 13 _FloatN, _FloatNx built-in functions GCC 13 has added more _FloatN and _FloatNx versions of existing and built-in functions, for use in libstdc++-v3. This breaks the glibc build because of how those functions are defined as aliases to functions with the same ABI but different types. Add appropriate -fno-builtin-* options for compiling relevant files, as already done for the case of long double functions aliasing double ones and based on the list of files used there. I fixed some mistakes in that list of double files that I noticed while implementing this fix, but there may well be more such (harmless) cases, in this list or the new one (files that don't actually exist or don't define the named functions as aliases so don't need the options). I did try to exclude cases where glibc doesn't define certain functions for _FloatN or _FloatNx types at all from the new uses of -fno-builtin-* options. As with the options for double files (see the commit message for commit 49348beafe9ba150c9bd48595b3f372299bddbb0, "Fix build with GCC 10 when long double = double."), it's deliberate that the options are used even if GCC currently doesn't have a built-in version of a given functions, so providing some level of future-proofing against more such built-in functions being added in future. Tested with build-many-glibcs.py for aarch64-linux-gnu powerpc-linux-gnu powerpc64le-linux-gnu x86_64-linux-gnu (compilers and glibcs builds) with GCC mainline. Diff: --- math/Makefile | 247 ++++++++++++++++++++- sysdeps/ieee754/float128/Makefile | 127 +++++++++++ sysdeps/ieee754/ldbl-128/Makefile | 127 +++++++++++ sysdeps/ieee754/ldbl-96/Makefile | 126 +++++++++++ sysdeps/powerpc/powerpc32/fpu/Makefile | 4 +- sysdeps/powerpc/powerpc64/fpu/Makefile | 6 +- .../powerpc/powerpc64/le/fpu/multiarch/Makefile | 125 +++++++++++ sysdeps/x86_64/x32/Makefile | 3 +- 8 files changed, 753 insertions(+), 12 deletions(-) diff --git a/math/Makefile b/math/Makefile index 7dae2313ba..b3dae4edf3 100644 --- a/math/Makefile +++ b/math/Makefile @@ -668,18 +668,18 @@ CFLAGS-s_csinh.c += -fno-builtin-csinhl CFLAGS-s_csqrt.c += -fno-builtin-csqrtl CFLAGS-s_ctan.c += -fno-builtin-ctanl CFLAGS-s_ctanh.c += -fno-builtin-ctanhl -CFLAGS-s_dadd.c += -fno-builtin-daddl -CFLAGS-s_ddiv.c += -fno-builtin-ddivl -CFLAGS-s_dfma.c += -fno-builtin-dfmal -CFLAGS-s_dmul.c += -fno-builtin-dmull -CFLAGS-s_dsqrt.c += -fno-builtin-dsqrtl -CFLAGS-s_dsub.c += -fno-builtin-dsubl CFLAGS-s_erf.c += -fno-builtin-erfl CFLAGS-s_erfc.c += -fno-builtin-erfcl CFLAGS-e_exp.c += -fno-builtin-expl CFLAGS-w_exp10.c += -fno-builtin-exp10l CFLAGS-e_exp2.c += -fno-builtin-exp2l CFLAGS-s_expm1.c += -fno-builtin-expm1l +CFLAGS-s_f32xaddf64.c += -fno-builtin-daddl +CFLAGS-s_f32xdivf64.c += -fno-builtin-ddivl +CFLAGS-s_f32xfmaf64.c += -fno-builtin-dfmal +CFLAGS-s_f32xmulf64.c += -fno-builtin-dmull +CFLAGS-s_f32xsqrtf64.c += -fno-builtin-dsqrtl +CFLAGS-s_f32xsubf64.c += -fno-builtin-dsubl CFLAGS-s_fabs.c += -fno-builtin-fabsl CFLAGS-s_fadd.c += -fno-builtin-faddl CFLAGS-s_fdim.c += -fno-builtin-fdiml @@ -707,7 +707,6 @@ CFLAGS-s_fromfp.c += -fno-builtin-fromfpl CFLAGS-s_fromfpx.c += -fno-builtin-fromfpxl CFLAGS-s_fsqrt.c += -fno-builtin-fsqrtl CFLAGS-s_fsub.c += -fno-builtin-fsubl -CFLAGS-s_gamma.c += -fno-builtin-gammal CFLAGS-s_getpayload.c += -fno-builtin-getpayloadl CFLAGS-w_hypot.c += -fno-builtin-hypotl CFLAGS-w_ilogb.c += -fno-builtin-ilogbl @@ -766,6 +765,240 @@ CFLAGS-s_y1.c += -fno-builtin-y1l CFLAGS-s_yn.c += -fno-builtin-ynl endif +# Likewise, for _Float32x and _Float64 aliases. +CFLAGS-w_acos.c += -fno-builtin-acosf32x -fno-builtin-acosf64 +CFLAGS-w_acosh.c += -fno-builtin-acoshf32x -fno-builtin-acoshf64 +CFLAGS-w_asin.c += -fno-builtin-asinf32x -fno-builtin-asinf64 +CFLAGS-s_asinh.c += -fno-builtin-asinhf32x -fno-builtin-asinhf64 +CFLAGS-s_atan.c += -fno-builtin-atanf32x -fno-builtin-atanf64 +CFLAGS-w_atan2.c += -fno-builtin-atan2f32x -fno-builtin-atan2f64 +CFLAGS-w_atanh.c += -fno-builtin-atanhf32x -fno-builtin-atanhf64 +CFLAGS-s_cabs.c += -fno-builtin-cabsf32x -fno-builtin-cabsf64 +CFLAGS-s_cacos.c += -fno-builtin-cacosf32x -fno-builtin-cacosf64 +CFLAGS-s_cacosh.c += -fno-builtin-cacoshf32x -fno-builtin-cacoshf64 +CFLAGS-s_canonicalize.c += -fno-builtin-canonicalizef32x -fno-builtin-canonicalizef64 +CFLAGS-s_carg.c += -fno-builtin-cargf32x -fno-builtin-cargf64 +CFLAGS-s_casin.c += -fno-builtin-casinf32x -fno-builtin-casinf64 +CFLAGS-s_casinh.c += -fno-builtin-casinhf32x -fno-builtin-casinhf64 +CFLAGS-s_catan.c += -fno-builtin-catanf32x -fno-builtin-catanf64 +CFLAGS-s_catanh.c += -fno-builtin-catanhf32x -fno-builtin-catanhf64 +CFLAGS-s_cbrt.c += -fno-builtin-cbrtf32x -fno-builtin-cbrtf64 +CFLAGS-s_ccos.c += -fno-builtin-ccosf32x -fno-builtin-ccosf64 +CFLAGS-s_ccosh.c += -fno-builtin-ccoshf32x -fno-builtin-ccoshf64 +CFLAGS-s_ceil.c += -fno-builtin-ceilf32x -fno-builtin-ceilf64 +CFLAGS-s_cexp.c += -fno-builtin-cexpf32x -fno-builtin-cexpf64 +CFLAGS-s_cimag.c += -fno-builtin-cimagf32x -fno-builtin-cimagf64 +CFLAGS-s_clog.c += -fno-builtin-clogf32x -fno-builtin-clogf64 +CFLAGS-s_clog10.c += -fno-builtin-clog10f32x -fno-builtin-clog10f64 +CFLAGS-s_conj.c += -fno-builtin-conjf32x -fno-builtin-conjf64 +CFLAGS-s_copysign.c += -fno-builtin-copysignf32x -fno-builtin-copysignf64 +CFLAGS-s_cos.c += -fno-builtin-cosf32x -fno-builtin-cosf64 +CFLAGS-w_cosh.c += -fno-builtin-coshf32x -fno-builtin-coshf64 +CFLAGS-s_cpow.c += -fno-builtin-cpowf32x -fno-builtin-cpowf64 +CFLAGS-s_cproj.c += -fno-builtin-cprojf32x -fno-builtin-cprojf64 +CFLAGS-s_creal.c += -fno-builtin-crealf32x -fno-builtin-crealf64 +CFLAGS-s_csin.c += -fno-builtin-csinf32x -fno-builtin-csinf64 +CFLAGS-s_csinh.c += -fno-builtin-csinhf32x -fno-builtin-csinhf64 +CFLAGS-s_csqrt.c += -fno-builtin-csqrtf32x -fno-builtin-csqrtf64 +CFLAGS-s_ctan.c += -fno-builtin-ctanf32x -fno-builtin-ctanf64 +CFLAGS-s_ctanh.c += -fno-builtin-ctanhf32x -fno-builtin-ctanhf64 +CFLAGS-s_erf.c += -fno-builtin-erff32x -fno-builtin-erff64 +CFLAGS-s_erfc.c += -fno-builtin-erfcf32x -fno-builtin-erfcf64 +CFLAGS-e_exp.c += -fno-builtin-expf32x -fno-builtin-expf64 +CFLAGS-w_exp10.c += -fno-builtin-exp10f32x -fno-builtin-exp10f64 +CFLAGS-e_exp2.c += -fno-builtin-exp2f32x -fno-builtin-exp2f64 +CFLAGS-s_expm1.c += -fno-builtin-expm1f32x -fno-builtin-expm1f64 +CFLAGS-s_fabs.c += -fno-builtin-fabsf32x -fno-builtin-fabsf64 +CFLAGS-s_fadd.c += -fno-builtin-f32addf32x -fno-builtin-f32addf64 +CFLAGS-s_fdim.c += -fno-builtin-fdimf32x -fno-builtin-fdimf64 +CFLAGS-s_fdiv.c += -fno-builtin-f32divf32x -fno-builtin-f32divf64 +CFLAGS-s_ffma.c += -fno-builtin-f32fmaf32x -fno-builtin-f32fmaf64 +CFLAGS-s_floor.c += -fno-builtin-floorf32x -fno-builtin-floorf64 +CFLAGS-s_fma.c += -fno-builtin-fmaf32x -fno-builtin-fmaf64 +CFLAGS-s_fmax.c += -fno-builtin-fmaxf32x -fno-builtin-fmaxf64 +CFLAGS-s_fmaximum.c += -fno-builtin-fmaximumf32x -fno-builtin-fmaximumf64 +CFLAGS-s_fmaximum_mag.c += -fno-builtin-fmaximum_magf32x -fno-builtin-fmaximum_magf64 +CFLAGS-s_fmaximum_mag_num.c += -fno-builtin-fmaximum_mag_numf32x -fno-builtin-fmaximum_mag_numf64 +CFLAGS-s_fmaximum_num.c += -fno-builtin-fmaximum_numf32x -fno-builtin-fmaximum_numf64 +CFLAGS-s_fmaxmag.c += -fno-builtin-fmaxmagf32x -fno-builtin-fmaxmagf64 +CFLAGS-s_fmin.c += -fno-builtin-fminf32x -fno-builtin-fminf64 +CFLAGS-s_fminimum.c += -fno-builtin-fminimumf32x -fno-builtin-fminimumf64 +CFLAGS-s_fminimum_mag.c += -fno-builtin-fminimum_magf32x -fno-builtin-fminimum_magf64 +CFLAGS-s_fminimum_mag_num.c += -fno-builtin-fminimum_mag_numf32x -fno-builtin-fminimum_mag_numf64 +CFLAGS-s_fminimum_num.c += -fno-builtin-fminimum_numf32x -fno-builtin-fminimum_numf64 +CFLAGS-s_fminmag.c += -fno-builtin-fminmagf32x -fno-builtin-fminmagf64 +CFLAGS-w_fmod.c += -fno-builtin-fmodf32x -fno-builtin-fmodf64 +CFLAGS-s_fmul.c += -fno-builtin-f32mulf32x -fno-builtin-f32mulf64 +CFLAGS-s_frexp.c += -fno-builtin-frexpf32x -fno-builtin-frexpf64 +CFLAGS-s_fromfp.c += -fno-builtin-fromfpf32x -fno-builtin-fromfpf64 +CFLAGS-s_fromfpx.c += -fno-builtin-fromfpxf32x -fno-builtin-fromfpxf64 +CFLAGS-s_fsqrt.c += -fno-builtin-f32sqrtf32x -fno-builtin-f32sqrtf64 +CFLAGS-s_fsub.c += -fno-builtin-f32subf32x -fno-builtin-f32subf64 +CFLAGS-s_getpayload.c += -fno-builtin-getpayloadf32x -fno-builtin-getpayloadf64 +CFLAGS-w_hypot.c += -fno-builtin-hypotf32x -fno-builtin-hypotf64 +CFLAGS-w_ilogb.c += -fno-builtin-ilogbf32x -fno-builtin-ilogbf64 +CFLAGS-w_j0.c += -fno-builtin-j0f32x -fno-builtin-j0f64 +CFLAGS-w_j1.c += -fno-builtin-j1f32x -fno-builtin-j1f64 +CFLAGS-w_jn.c += -fno-builtin-jnf32x -fno-builtin-jnf64 +CFLAGS-s_ldexp.c += -fno-builtin-ldexpf32x -fno-builtin-ldexpf64 +CFLAGS-w_lgamma.c += -fno-builtin-lgammaf32x -fno-builtin-lgammaf64 +CFLAGS-w_lgamma_r.c += -fno-builtin-lgammaf32x_r -fno-builtin-lgammaf64_r +CFLAGS-w_llogb.c += -fno-builtin-llogbf32x -fno-builtin-llogbf64 +CFLAGS-s_llrint.c += -fno-builtin-llrintf32x -fno-builtin-llrintf64 +CFLAGS-s_llround.c += -fno-builtin-llroundf32x -fno-builtin-llroundf64 +CFLAGS-e_log.c += -fno-builtin-logf32x -fno-builtin-logf64 +CFLAGS-w_log10.c += -fno-builtin-log10f32x -fno-builtin-log10f64 +CFLAGS-w_log1p.c += -fno-builtin-log1pf32x -fno-builtin-log1pf64 +CFLAGS-e_log2.c += -fno-builtin-log2f32x -fno-builtin-log2f64 +CFLAGS-s_logb.c += -fno-builtin-logbf32x -fno-builtin-logbf64 +CFLAGS-s_lrint.c += -fno-builtin-lrintf32x -fno-builtin-lrintf64 +CFLAGS-s_lround.c += -fno-builtin-lroundf32x -fno-builtin-lroundf64 +CFLAGS-s_modf.c += -fno-builtin-modff32x -fno-builtin-modff64 +CFLAGS-s_nan.c += -fno-builtin-nanf32x -fno-builtin-nanf64 +CFLAGS-s_nearbyint.c += -fno-builtin-nearbyintf32x -fno-builtin-nearbyintf64 +CFLAGS-s_nextafter.c += -fno-builtin-nextafterf32x -fno-builtin-nextafterf64 +CFLAGS-s_nextdown.c += -fno-builtin-nextdownf32x -fno-builtin-nextdownf64 +CFLAGS-s_nextup.c += -fno-builtin-nextupf32x -fno-builtin-nextupf64 +CFLAGS-e_pow.c += -fno-builtin-powf32x -fno-builtin-powf64 +CFLAGS-w_remainder.c += -fno-builtin-remainderf32x -fno-builtin-remainderf64 +CFLAGS-s_remquo.c += -fno-builtin-remquof32x -fno-builtin-remquof64 +CFLAGS-s_rint.c += -fno-builtin-rintf32x -fno-builtin-rintf64 +CFLAGS-s_round.c += -fno-builtin-roundf32x -fno-builtin-roundf64 +CFLAGS-s_roundeven.c += -fno-builtin-roundevenf32x -fno-builtin-roundevenf64 +CFLAGS-w_scalbln.c += -fno-builtin-scalblnf32x -fno-builtin-scalblnf64 +CFLAGS-s_scalbn.c += -fno-builtin-scalbnf32x -fno-builtin-scalbnf64 +CFLAGS-s_setpayload.c += -fno-builtin-setpayloadf32x -fno-builtin-setpayloadf64 +CFLAGS-s_setpayloadsig.c += -fno-builtin-setpayloadsigf32x -fno-builtin-setpayloadsigf64 +CFLAGS-s_sin.c += -fno-builtin-sinf32x -fno-builtin-sinf64 +CFLAGS-s_sincos.c += -fno-builtin-sincosf32x -fno-builtin-sincosf64 +CFLAGS-w_sinh.c += -fno-builtin-sinhf32x -fno-builtin-sinhf64 +CFLAGS-w_sqrt.c += -fno-builtin-sqrtf32x -fno-builtin-sqrtf64 +CFLAGS-s_tan.c += -fno-builtin-tanf32x -fno-builtin-tanf64 +CFLAGS-s_tanh.c += -fno-builtin-tanhf32x -fno-builtin-tanhf64 +CFLAGS-w_tgamma.c += -fno-builtin-tgammaf32x -fno-builtin-tgammaf64 +CFLAGS-s_totalorder.c += -fno-builtin-totalorderf32x -fno-builtin-totalorderf64 +CFLAGS-s_totalordermag.c += -fno-builtin-totalordermagf32x -fno-builtin-totalordermagf64 +CFLAGS-s_trunc.c += -fno-builtin-truncf32x -fno-builtin-truncf64 +CFLAGS-s_ufromfp.c += -fno-builtin-ufromfpf32x -fno-builtin-ufromfpf64 +CFLAGS-s_ufromfpx.c += -fno-builtin-ufromfpxf32x -fno-builtin-ufromfpxf64 +CFLAGS-s_y0.c += -fno-builtin-y0f32x -fno-builtin-y0f64 +CFLAGS-s_y1.c += -fno-builtin-y1f32x -fno-builtin-y1f64 +CFLAGS-s_yn.c += -fno-builtin-ynf32x -fno-builtin-ynf64 + +# Likewise, for _Float32 aliases. +CFLAGS-w_acosf.c += -fno-builtin-acosf32 +CFLAGS-w_acoshf.c += -fno-builtin-acoshf32 +CFLAGS-w_asinf.c += -fno-builtin-asinf32 +CFLAGS-s_asinhf.c += -fno-builtin-asinhf32 +CFLAGS-s_atanf.c += -fno-builtin-atanf32 +CFLAGS-w_atan2f.c += -fno-builtin-atan2f32 +CFLAGS-w_atanhf.c += -fno-builtin-atanhf32 +CFLAGS-s_cabsf.c += -fno-builtin-cabsf32 +CFLAGS-s_cacosf.c += -fno-builtin-cacosf32 +CFLAGS-s_cacoshf.c += -fno-builtin-cacoshf32 +CFLAGS-s_canonicalizef.c += -fno-builtin-canonicalizef32 +CFLAGS-s_cargf.c += -fno-builtin-cargf32 +CFLAGS-s_casinf.c += -fno-builtin-casinf32 +CFLAGS-s_casinhf.c += -fno-builtin-casinhf32 +CFLAGS-s_catanf.c += -fno-builtin-catanf32 +CFLAGS-s_catanhf.c += -fno-builtin-catanhf32 +CFLAGS-s_cbrtf.c += -fno-builtin-cbrtf32 +CFLAGS-s_ccosf.c += -fno-builtin-ccosf32 +CFLAGS-s_ccoshf.c += -fno-builtin-ccoshf32 +CFLAGS-s_ceilf.c += -fno-builtin-ceilf32 +CFLAGS-s_cexpf.c += -fno-builtin-cexpf32 +CFLAGS-s_cimagf.c += -fno-builtin-cimagf32 +CFLAGS-s_clogf.c += -fno-builtin-clogf32 +CFLAGS-s_clog10f.c += -fno-builtin-clog10f32 +CFLAGS-s_conjf.c += -fno-builtin-conjf32 +CFLAGS-s_copysignf.c += -fno-builtin-copysignf32 +CFLAGS-s_cosf.c += -fno-builtin-cosf32 +CFLAGS-w_coshf.c += -fno-builtin-coshf32 +CFLAGS-s_cpowf.c += -fno-builtin-cpowf32 +CFLAGS-s_cprojf.c += -fno-builtin-cprojf32 +CFLAGS-s_crealf.c += -fno-builtin-crealf32 +CFLAGS-s_csinf.c += -fno-builtin-csinf32 +CFLAGS-s_csinhf.c += -fno-builtin-csinhf32 +CFLAGS-s_csqrtf.c += -fno-builtin-csqrtf32 +CFLAGS-s_ctanf.c += -fno-builtin-ctanf32 +CFLAGS-s_ctanhf.c += -fno-builtin-ctanhf32 +CFLAGS-s_erff.c += -fno-builtin-erff32 +CFLAGS-s_erfcf.c += -fno-builtin-erfcf32 +CFLAGS-e_expf.c += -fno-builtin-expf32 +CFLAGS-w_exp10f.c += -fno-builtin-exp10f32 +CFLAGS-e_exp2f.c += -fno-builtin-exp2f32 +CFLAGS-s_expm1f.c += -fno-builtin-expm1f32 +CFLAGS-s_fabsf.c += -fno-builtin-fabsf32 +CFLAGS-s_fdimf.c += -fno-builtin-fdimf32 +CFLAGS-s_floorf.c += -fno-builtin-floorf32 +CFLAGS-s_fmaf.c += -fno-builtin-fmaf32 +CFLAGS-s_fmaxf.c += -fno-builtin-fmaxf32 +CFLAGS-s_fmaximumf.c += -fno-builtin-fmaximumf32 +CFLAGS-s_fmaximum_magf.c += -fno-builtin-fmaximum_magf32 +CFLAGS-s_fmaximum_mag_numf.c += -fno-builtin-fmaximum_mag_numf32 +CFLAGS-s_fmaximum_numf.c += -fno-builtin-fmaximum_numf32 +CFLAGS-s_fmaxmagf.c += -fno-builtin-fmaxmagf32 +CFLAGS-s_fminf.c += -fno-builtin-fminf32 +CFLAGS-s_fminimumf.c += -fno-builtin-fminimumf32 +CFLAGS-s_fminimum_magf.c += -fno-builtin-fminimum_magf32 +CFLAGS-s_fminimum_mag_numf.c += -fno-builtin-fminimum_mag_numf32 +CFLAGS-s_fminimum_numf.c += -fno-builtin-fminimum_numf32 +CFLAGS-s_fminmagf.c += -fno-builtin-fminmagf32 +CFLAGS-w_fmodf.c += -fno-builtin-fmodf32 +CFLAGS-s_frexpf.c += -fno-builtin-frexpf32 +CFLAGS-s_fromfpf.c += -fno-builtin-fromfpf32 +CFLAGS-s_fromfpxf.c += -fno-builtin-fromfpxf32 +CFLAGS-s_getpayloadf.c += -fno-builtin-getpayloadf32 +CFLAGS-w_hypotf.c += -fno-builtin-hypotf32 +CFLAGS-w_ilogbf.c += -fno-builtin-ilogbf32 +CFLAGS-w_j0f.c += -fno-builtin-j0f32 +CFLAGS-w_j1f.c += -fno-builtin-j1f32 +CFLAGS-w_jnf.c += -fno-builtin-jnf32 +CFLAGS-s_ldexpf.c += -fno-builtin-ldexpf32 +CFLAGS-w_lgammaf.c += -fno-builtin-lgammaf32 +CFLAGS-w_lgammaf_r.c += -fno-builtin-lgammaf32_r +CFLAGS-w_llogbf.c += -fno-builtin-llogbf32 +CFLAGS-s_llrintf.c += -fno-builtin-llrintf32 +CFLAGS-s_llroundf.c += -fno-builtin-llroundf32 +CFLAGS-e_logf.c += -fno-builtin-logf32 +CFLAGS-w_log10f.c += -fno-builtin-log10f32 +CFLAGS-w_log1pf.c += -fno-builtin-log1pf32 +CFLAGS-e_log2f.c += -fno-builtin-log2f32 +CFLAGS-s_logbf.c += -fno-builtin-logbf32 +CFLAGS-s_lrintf.c += -fno-builtin-lrintf32 +CFLAGS-s_lroundf.c += -fno-builtin-lroundf32 +CFLAGS-s_modff.c += -fno-builtin-modff32 +CFLAGS-s_nanf.c += -fno-builtin-nanf32 +CFLAGS-s_nearbyintf.c += -fno-builtin-nearbyintf32 +CFLAGS-s_nextafterf.c += -fno-builtin-nextafterf32 +CFLAGS-s_nextdownf.c += -fno-builtin-nextdownf32 +CFLAGS-s_nextupf.c += -fno-builtin-nextupf32 +CFLAGS-e_powf.c += -fno-builtin-powf32 +CFLAGS-w_remainderf.c += -fno-builtin-remainderf32 +CFLAGS-s_remquof.c += -fno-builtin-remquof32 +CFLAGS-s_rintf.c += -fno-builtin-rintf32 +CFLAGS-s_roundf.c += -fno-builtin-roundf32 +CFLAGS-s_roundevenf.c += -fno-builtin-roundevenf32 +CFLAGS-w_scalblnf.c += -fno-builtin-scalblnf32 +CFLAGS-s_scalbnf.c += -fno-builtin-scalbnf32 +CFLAGS-s_setpayloadf.c += -fno-builtin-setpayloadf32 +CFLAGS-s_setpayloadsigf.c += -fno-builtin-setpayloadsigf32 +CFLAGS-s_sinf.c += -fno-builtin-sinf32 +CFLAGS-s_sincosf.c += -fno-builtin-sincosf32 +CFLAGS-w_sinhf.c += -fno-builtin-sinhf32 +CFLAGS-w_sqrtf.c += -fno-builtin-sqrtf32 +CFLAGS-s_tanf.c += -fno-builtin-tanf32 +CFLAGS-s_tanhf.c += -fno-builtin-tanhf32 +CFLAGS-w_tgammaf.c += -fno-builtin-tgammaf32 +CFLAGS-s_totalorderf.c += -fno-builtin-totalorderf32 +CFLAGS-s_totalordermagf.c += -fno-builtin-totalordermagf32 +CFLAGS-s_truncf.c += -fno-builtin-truncf32 +CFLAGS-s_ufromfpf.c += -fno-builtin-ufromfpf32 +CFLAGS-s_ufromfpxf.c += -fno-builtin-ufromfpxf32 +CFLAGS-s_y0f.c += -fno-builtin-y0f32 +CFLAGS-s_y1f.c += -fno-builtin-y1f32 +CFLAGS-s_ynf.c += -fno-builtin-ynf32 + # These files quiet sNaNs in a way that is optimized away without # -fsignaling-nans. CFLAGS-s_modf.c += -fsignaling-nans diff --git a/sysdeps/ieee754/float128/Makefile b/sysdeps/ieee754/float128/Makefile index 571a841809..f869e80f26 100644 --- a/sysdeps/ieee754/float128/Makefile +++ b/sysdeps/ieee754/float128/Makefile @@ -10,3 +10,130 @@ endif ifeq ($(subdir),wcsmbs) routines += wcstof128_l wcstof128 wcstof128_nan endif + +ifeq ($(subdir),math) +CFLAGS-w_acosf128.c += -fno-builtin-acosf64x +CFLAGS-w_acoshf128.c += -fno-builtin-acoshf64x +CFLAGS-w_asinf128.c += -fno-builtin-asinf64x +CFLAGS-s_asinhf128.c += -fno-builtin-asinhf64x +CFLAGS-s_atanf128.c += -fno-builtin-atanf64x +CFLAGS-w_atan2f128.c += -fno-builtin-atan2f64x +CFLAGS-w_atanhf128.c += -fno-builtin-atanhf64x +CFLAGS-s_cabsf128.c += -fno-builtin-cabsf64x +CFLAGS-s_cacosf128.c += -fno-builtin-cacosf64x +CFLAGS-s_cacoshf128.c += -fno-builtin-cacoshf64x +CFLAGS-s_canonicalizef128.c += -fno-builtin-canonicalizef64x +CFLAGS-s_cargf128.c += -fno-builtin-cargf64x +CFLAGS-s_casinf128.c += -fno-builtin-casinf64x +CFLAGS-s_casinhf128.c += -fno-builtin-casinhf64x +CFLAGS-s_catanf128.c += -fno-builtin-catanf64x +CFLAGS-s_catanhf128.c += -fno-builtin-catanhf64x +CFLAGS-s_cbrtf128.c += -fno-builtin-cbrtf64x +CFLAGS-s_ccosf128.c += -fno-builtin-ccosf64x +CFLAGS-s_ccoshf128.c += -fno-builtin-ccoshf64x +CFLAGS-s_ceilf128.c += -fno-builtin-ceilf64x +CFLAGS-s_cexpf128.c += -fno-builtin-cexpf64x +CFLAGS-s_cimagf128.c += -fno-builtin-cimagf64x +CFLAGS-s_clogf128.c += -fno-builtin-clogf64x +CFLAGS-s_clog10f128.c += -fno-builtin-clog10f64x +CFLAGS-s_conjf128.c += -fno-builtin-conjf64x +CFLAGS-s_copysignf128.c += -fno-builtin-copysignf64x +CFLAGS-s_cosf128.c += -fno-builtin-cosf64x +CFLAGS-w_coshf128.c += -fno-builtin-coshf64x +CFLAGS-s_cpowf128.c += -fno-builtin-cpowf64x +CFLAGS-s_cprojf128.c += -fno-builtin-cprojf64x +CFLAGS-s_crealf128.c += -fno-builtin-crealf64x +CFLAGS-s_csinf128.c += -fno-builtin-csinf64x +CFLAGS-s_csinhf128.c += -fno-builtin-csinhf64x +CFLAGS-s_csqrtf128.c += -fno-builtin-csqrtf64x +CFLAGS-s_ctanf128.c += -fno-builtin-ctanf64x +CFLAGS-s_ctanhf128.c += -fno-builtin-ctanhf64x +CFLAGS-s_daddf128.c += -fno-builtin-f64addf64x +CFLAGS-s_ddivf128.c += -fno-builtin-f64divf64x +CFLAGS-s_dfmaf128.c += -fno-builtin-f64fmaf64x +CFLAGS-s_dmulf128.c += -fno-builtin-f64mulf64x +CFLAGS-s_dsqrtf128.c += -fno-builtin-f64sqrtf64x +CFLAGS-s_dsubf128.c += -fno-builtin-f64subf64x +CFLAGS-s_erff128.c += -fno-builtin-erff64x +CFLAGS-s_erfcf128.c += -fno-builtin-erfcf64x +CFLAGS-e_expf128.c += -fno-builtin-expf64x +CFLAGS-w_exp10f128.c += -fno-builtin-exp10f64x +CFLAGS-e_exp2f128.c += -fno-builtin-exp2f64x +CFLAGS-s_expm1f128.c += -fno-builtin-expm1f64x +CFLAGS-s_fabsf128.c += -fno-builtin-fabsf64x +CFLAGS-s_faddf128.c += -fno-builtin-f32addf64x +CFLAGS-s_fdimf128.c += -fno-builtin-fdimf64x +CFLAGS-s_fdivf128.c += -fno-builtin-f32divf64x +CFLAGS-s_ffmaf128.c += -fno-builtin-f32fmaf64x +CFLAGS-s_floorf128.c += -fno-builtin-floorf64x +CFLAGS-s_fmaf128.c += -fno-builtin-fmaf64x +CFLAGS-s_fmaxf128.c += -fno-builtin-fmaxf64x +CFLAGS-s_fmaximumf128.c += -fno-builtin-fmaximumf64x +CFLAGS-s_fmaximum_magf128.c += -fno-builtin-fmaximum_magf64x +CFLAGS-s_fmaximum_mag_numf128.c += -fno-builtin-fmaximum_mag_numf64x +CFLAGS-s_fmaximum_numf128.c += -fno-builtin-fmaximum_numf64x +CFLAGS-s_fmaxmagf128.c += -fno-builtin-fmaxmagf64x +CFLAGS-s_fminf128.c += -fno-builtin-fminf64x +CFLAGS-s_fminimumf128.c += -fno-builtin-fminimumf64x +CFLAGS-s_fminimum_magf128.c += -fno-builtin-fminimum_magf64x +CFLAGS-s_fminimum_mag_numf128.c += -fno-builtin-fminimum_mag_numf64x +CFLAGS-s_fminimum_numf128.c += -fno-builtin-fminimum_numf64x +CFLAGS-s_fminmagf128.c += -fno-builtin-fminmagf64x +CFLAGS-w_fmodf128.c += -fno-builtin-fmodf64x +CFLAGS-s_fmulf128.c += -fno-builtin-f32mulf64x +CFLAGS-s_frexpf128.c += -fno-builtin-frexpf64x +CFLAGS-s_fromfpf128.c += -fno-builtin-fromfpf64x +CFLAGS-s_fromfpxf128.c += -fno-builtin-fromfpxf64x +CFLAGS-s_fsqrtf128.c += -fno-builtin-f32sqrtf64x +CFLAGS-s_fsubf128.c += -fno-builtin-f32subf64x +CFLAGS-s_getpayloadf128.c += -fno-builtin-getpayloadf64x +CFLAGS-w_hypotf128.c += -fno-builtin-hypotf64x +CFLAGS-w_ilogbf128.c += -fno-builtin-ilogbf64x +CFLAGS-w_j0f128.c += -fno-builtin-j0f64x +CFLAGS-w_j1f128.c += -fno-builtin-j1f64x +CFLAGS-w_jnf128.c += -fno-builtin-jnf64x +CFLAGS-s_ldexpf128.c += -fno-builtin-ldexpf64x +CFLAGS-w_lgammaf128.c += -fno-builtin-lgammaf64x +CFLAGS-w_lgammaf128_r.c += -fno-builtin-lgammaf64x_r +CFLAGS-w_llogbf128.c += -fno-builtin-llogbf64x +CFLAGS-s_llrintf128.c += -fno-builtin-llrintf64x +CFLAGS-s_llroundf128.c += -fno-builtin-llroundf64x +CFLAGS-e_logf128.c += -fno-builtin-logf64x +CFLAGS-w_log10f128.c += -fno-builtin-log10f64x +CFLAGS-w_log1pf128.c += -fno-builtin-log1pf64x +CFLAGS-e_log2f128.c += -fno-builtin-log2f64x +CFLAGS-s_logbf128.c += -fno-builtin-logbf64x +CFLAGS-s_lrintf128.c += -fno-builtin-lrintf64x +CFLAGS-s_lroundf128.c += -fno-builtin-lroundf64x +CFLAGS-s_modff128.c += -fno-builtin-modff64x +CFLAGS-s_nanf128.c += -fno-builtin-nanf64x +CFLAGS-s_nearbyintf128.c += -fno-builtin-nearbyintf64x +CFLAGS-s_nextafterf128.c += -fno-builtin-nextafterf64x +CFLAGS-s_nextdownf128.c += -fno-builtin-nextdownf64x +CFLAGS-s_nextupf128.c += -fno-builtin-nextupf64x +CFLAGS-e_powf128.c += -fno-builtin-powf64x +CFLAGS-w_remainderf128.c += -fno-builtin-remainderf64x +CFLAGS-s_remquof128.c += -fno-builtin-remquof64x +CFLAGS-s_rintf128.c += -fno-builtin-rintf64x +CFLAGS-s_roundf128.c += -fno-builtin-roundf64x +CFLAGS-s_roundevenf128.c += -fno-builtin-roundevenf64x +CFLAGS-w_scalblnf128.c += -fno-builtin-scalblnf64x +CFLAGS-s_scalbnf128.c += -fno-builtin-scalbnf64x +CFLAGS-s_setpayloadf128.c += -fno-builtin-setpayloadf64x +CFLAGS-s_setpayloadsigf128.c += -fno-builtin-setpayloadsigf64x +CFLAGS-s_sinf128.c += -fno-builtin-sinf64x +CFLAGS-s_sincosf128.c += -fno-builtin-sincosf64x +CFLAGS-w_sinhf128.c += -fno-builtin-sinhf64x +CFLAGS-w_sqrtf128.c += -fno-builtin-sqrtf64x +CFLAGS-s_tanf128.c += -fno-builtin-tanf64x +CFLAGS-s_tanhf128.c += -fno-builtin-tanhf64x +CFLAGS-w_tgammaf128.c += -fno-builtin-tgammaf64x +CFLAGS-s_totalorderf128.c += -fno-builtin-totalorderf64x +CFLAGS-s_totalordermagf128.c += -fno-builtin-totalordermagf64x +CFLAGS-s_truncf128.c += -fno-builtin-truncf64x +CFLAGS-s_ufromfpf128.c += -fno-builtin-ufromfpf64x +CFLAGS-s_ufromfpxf128.c += -fno-builtin-ufromfpxf64x +CFLAGS-s_y0f128.c += -fno-builtin-y0f64x +CFLAGS-s_y1f128.c += -fno-builtin-y1f64x +CFLAGS-s_ynf128.c += -fno-builtin-ynf64x +endif diff --git a/sysdeps/ieee754/ldbl-128/Makefile b/sysdeps/ieee754/ldbl-128/Makefile index 8fd6dad343..9cbfc7ff6e 100644 --- a/sysdeps/ieee754/ldbl-128/Makefile +++ b/sysdeps/ieee754/ldbl-128/Makefile @@ -1 +1,128 @@ long-double-fcts = yes + +ifeq ($(subdir),math) +CFLAGS-w_acosl.c += -fno-builtin-acosf64x -fno-builtin-acosf128 +CFLAGS-w_acoshl.c += -fno-builtin-acoshf64x -fno-builtin-acoshf128 +CFLAGS-w_asinl.c += -fno-builtin-asinf64x -fno-builtin-asinf128 +CFLAGS-s_asinhl.c += -fno-builtin-asinhf64x -fno-builtin-asinhf128 +CFLAGS-s_atanl.c += -fno-builtin-atanf64x -fno-builtin-atanf128 +CFLAGS-w_atan2l.c += -fno-builtin-atan2f64x -fno-builtin-atan2f128 +CFLAGS-w_atanhl.c += -fno-builtin-atanhf64x -fno-builtin-atanhf128 +CFLAGS-s_cabsl.c += -fno-builtin-cabsf64x -fno-builtin-cabsf128 +CFLAGS-s_cacosl.c += -fno-builtin-cacosf64x -fno-builtin-cacosf128 +CFLAGS-s_cacoshl.c += -fno-builtin-cacoshf64x -fno-builtin-cacoshf128 +CFLAGS-s_canonicalizel.c += -fno-builtin-canonicalizef64x -fno-builtin-canonicalizef128 +CFLAGS-s_cargl.c += -fno-builtin-cargf64x -fno-builtin-cargf128 +CFLAGS-s_casinl.c += -fno-builtin-casinf64x -fno-builtin-casinf128 +CFLAGS-s_casinhl.c += -fno-builtin-casinhf64x -fno-builtin-casinhf128 +CFLAGS-s_catanl.c += -fno-builtin-catanf64x -fno-builtin-catanf128 +CFLAGS-s_catanhl.c += -fno-builtin-catanhf64x -fno-builtin-catanhf128 +CFLAGS-s_cbrtl.c += -fno-builtin-cbrtf64x -fno-builtin-cbrtf128 +CFLAGS-s_ccosl.c += -fno-builtin-ccosf64x -fno-builtin-ccosf128 +CFLAGS-s_ccoshl.c += -fno-builtin-ccoshf64x -fno-builtin-ccoshf128 +CFLAGS-s_ceill.c += -fno-builtin-ceilf64x -fno-builtin-ceilf128 +CFLAGS-s_cexpl.c += -fno-builtin-cexpf64x -fno-builtin-cexpf128 +CFLAGS-s_cimagl.c += -fno-builtin-cimagf64x -fno-builtin-cimagf128 +CFLAGS-s_clogl.c += -fno-builtin-clogf64x -fno-builtin-clogf128 +CFLAGS-s_clog10l.c += -fno-builtin-clog10f64x -fno-builtin-clog10f128 +CFLAGS-s_conjl.c += -fno-builtin-conjf64x -fno-builtin-conjf128 +CFLAGS-s_copysignl.c += -fno-builtin-copysignf64x -fno-builtin-copysignf128 +CFLAGS-s_cosl.c += -fno-builtin-cosf64x -fno-builtin-cosf128 +CFLAGS-w_coshl.c += -fno-builtin-coshf64x -fno-builtin-coshf128 +CFLAGS-s_cpowl.c += -fno-builtin-cpowf64x -fno-builtin-cpowf128 +CFLAGS-s_cprojl.c += -fno-builtin-cprojf64x -fno-builtin-cprojf128 +CFLAGS-s_creall.c += -fno-builtin-crealf64x -fno-builtin-crealf128 +CFLAGS-s_csinl.c += -fno-builtin-csinf64x -fno-builtin-csinf128 +CFLAGS-s_csinhl.c += -fno-builtin-csinhf64x -fno-builtin-csinhf128 +CFLAGS-s_csqrtl.c += -fno-builtin-csqrtf64x -fno-builtin-csqrtf128 +CFLAGS-s_ctanl.c += -fno-builtin-ctanf64x -fno-builtin-ctanf128 +CFLAGS-s_ctanhl.c += -fno-builtin-ctanhf64x -fno-builtin-ctanhf128 +CFLAGS-s_daddl.c += -fno-builtin-f64addf64x -fno-builtin-f64addf128 +CFLAGS-s_ddivl.c += -fno-builtin-f64divf64x -fno-builtin-f64divf128 +CFLAGS-s_dfmal.c += -fno-builtin-f64fmaf64x -fno-builtin-f64fmaf128 +CFLAGS-s_dmull.c += -fno-builtin-f64mulf64x -fno-builtin-f64mulf128 +CFLAGS-s_dsqrtl.c += -fno-builtin-f64sqrtf64x -fno-builtin-f64sqrtf128 +CFLAGS-s_dsubl.c += -fno-builtin-f64subf64x -fno-builtin-f64subf128 +CFLAGS-s_erfl.c += -fno-builtin-erff64x -fno-builtin-erff128 +CFLAGS-s_erfcl.c += -fno-builtin-erfcf64x -fno-builtin-erfcf128 +CFLAGS-e_expl.c += -fno-builtin-expf64x -fno-builtin-expf128 +CFLAGS-w_exp10l.c += -fno-builtin-exp10f64x -fno-builtin-exp10f128 +CFLAGS-e_exp2l.c += -fno-builtin-exp2f64x -fno-builtin-exp2f128 +CFLAGS-s_expm1l.c += -fno-builtin-expm1f64x -fno-builtin-expm1f128 +CFLAGS-s_fabsl.c += -fno-builtin-fabsf64x -fno-builtin-fabsf128 +CFLAGS-s_faddl.c += -fno-builtin-f32addf64x -fno-builtin-f32addf128 +CFLAGS-s_fdiml.c += -fno-builtin-fdimf64x -fno-builtin-fdimf128 +CFLAGS-s_fdivl.c += -fno-builtin-f32divf64x -fno-builtin-f32divf128 +CFLAGS-s_ffmal.c += -fno-builtin-f32fmaf64x -fno-builtin-f32fmaf128 +CFLAGS-s_floorl.c += -fno-builtin-floorf64x -fno-builtin-floorf128 +CFLAGS-s_fmal.c += -fno-builtin-fmaf64x -fno-builtin-fmaf128 +CFLAGS-s_fmaxl.c += -fno-builtin-fmaxf64x -fno-builtin-fmaxf128 +CFLAGS-s_fmaximuml.c += -fno-builtin-fmaximumf64x -fno-builtin-fmaximumf128 +CFLAGS-s_fmaximum_magl.c += -fno-builtin-fmaximum_magf64x -fno-builtin-fmaximum_magf128 +CFLAGS-s_fmaximum_mag_numl.c += -fno-builtin-fmaximum_mag_numf64x -fno-builtin-fmaximum_mag_numf128 +CFLAGS-s_fmaximum_numl.c += -fno-builtin-fmaximum_numf64x -fno-builtin-fmaximum_numf128 +CFLAGS-s_fmaxmagl.c += -fno-builtin-fmaxmagf64x -fno-builtin-fmaxmagf128 +CFLAGS-s_fminl.c += -fno-builtin-fminf64x -fno-builtin-fminf128 +CFLAGS-s_fminimuml.c += -fno-builtin-fminimumf64x -fno-builtin-fminimumf128 +CFLAGS-s_fminimum_magl.c += -fno-builtin-fminimum_magf64x -fno-builtin-fminimum_magf128 +CFLAGS-s_fminimum_mag_numl.c += -fno-builtin-fminimum_mag_numf64x -fno-builtin-fminimum_mag_numf128 +CFLAGS-s_fminimum_numl.c += -fno-builtin-fminimum_numf64x -fno-builtin-fminimum_numf128 +CFLAGS-s_fminmagl.c += -fno-builtin-fminmagf64x -fno-builtin-fminmagf128 +CFLAGS-w_fmodl.c += -fno-builtin-fmodf64x -fno-builtin-fmodf128 +CFLAGS-s_fmull.c += -fno-builtin-f32mulf64x -fno-builtin-f32mulf128 +CFLAGS-s_frexpl.c += -fno-builtin-frexpf64x -fno-builtin-frexpf128 +CFLAGS-s_fromfpl.c += -fno-builtin-fromfpf64x -fno-builtin-fromfpf128 +CFLAGS-s_fromfpxl.c += -fno-builtin-fromfpxf64x -fno-builtin-fromfpxf128 +CFLAGS-s_fsqrtl.c += -fno-builtin-f32sqrtf64x -fno-builtin-f32sqrtf128 +CFLAGS-s_fsubl.c += -fno-builtin-f32subf64x -fno-builtin-f32subf128 +CFLAGS-s_getpayloadl.c += -fno-builtin-getpayloadf64x -fno-builtin-getpayloadf128 +CFLAGS-w_hypotl.c += -fno-builtin-hypotf64x -fno-builtin-hypotf128 +CFLAGS-w_ilogbl.c += -fno-builtin-ilogbf64x -fno-builtin-ilogbf128 +CFLAGS-w_j0l.c += -fno-builtin-j0f64x -fno-builtin-j0f128 +CFLAGS-w_j1l.c += -fno-builtin-j1f64x -fno-builtin-j1f128 +CFLAGS-w_jnl.c += -fno-builtin-jnf64x -fno-builtin-jnf128 +CFLAGS-s_ldexpl.c += -fno-builtin-ldexpf64x -fno-builtin-ldexpf128 +CFLAGS-w_lgammal.c += -fno-builtin-lgammaf64x -fno-builtin-lgammaf128 +CFLAGS-w_lgammal_r.c += -fno-builtin-lgammaf64x_r +CFLAGS-w_llogbl.c += -fno-builtin-llogbf64x -fno-builtin-llogbf128 +CFLAGS-s_llrintl.c += -fno-builtin-llrintf64x -fno-builtin-llrintf128 +CFLAGS-s_llroundl.c += -fno-builtin-llroundf64x -fno-builtin-llroundf128 +CFLAGS-e_logl.c += -fno-builtin-logf64x -fno-builtin-logf128 +CFLAGS-w_log10l.c += -fno-builtin-log10f64x -fno-builtin-log10f128 +CFLAGS-w_log1pl.c += -fno-builtin-log1pf64x -fno-builtin-log1pf128 +CFLAGS-e_log2l.c += -fno-builtin-log2f64x -fno-builtin-log2f128 +CFLAGS-s_logbl.c += -fno-builtin-logbf64x -fno-builtin-logbf128 +CFLAGS-s_lrintl.c += -fno-builtin-lrintf64x -fno-builtin-lrintf128 +CFLAGS-s_lroundl.c += -fno-builtin-lroundf64x -fno-builtin-lroundf128 +CFLAGS-s_modfl.c += -fno-builtin-modff64x -fno-builtin-modff128 +CFLAGS-s_nanl.c += -fno-builtin-nanf64x -fno-builtin-nanf128 +CFLAGS-s_nearbyintl.c += -fno-builtin-nearbyintf64x -fno-builtin-nearbyintf128 +CFLAGS-s_nextafterl.c += -fno-builtin-nextafterf64x -fno-builtin-nextafterf128 +CFLAGS-s_nextdownl.c += -fno-builtin-nextdownf64x -fno-builtin-nextdownf128 +CFLAGS-s_nextupl.c += -fno-builtin-nextupf64x -fno-builtin-nextupf128 +CFLAGS-e_powl.c += -fno-builtin-powf64x -fno-builtin-powf128 +CFLAGS-w_remainderl.c += -fno-builtin-remainderf64x -fno-builtin-remainderf128 +CFLAGS-s_remquol.c += -fno-builtin-remquof64x -fno-builtin-remquof128 +CFLAGS-s_rintl.c += -fno-builtin-rintf64x -fno-builtin-rintf128 +CFLAGS-s_roundl.c += -fno-builtin-roundf64x -fno-builtin-roundf128 +CFLAGS-s_roundevenl.c += -fno-builtin-roundevenf64x -fno-builtin-roundevenf128 +CFLAGS-w_scalblnl.c += -fno-builtin-scalblnf64x -fno-builtin-scalblnf128 +CFLAGS-s_scalbnl.c += -fno-builtin-scalbnf64x -fno-builtin-scalbnf128 +CFLAGS-s_setpayloadl.c += -fno-builtin-setpayloadf64x -fno-builtin-setpayloadf128 +CFLAGS-s_setpayloadsigl.c += -fno-builtin-setpayloadsigf64x -fno-builtin-setpayloadsigf128 +CFLAGS-s_sinl.c += -fno-builtin-sinf64x -fno-builtin-sinf128 +CFLAGS-s_sincosl.c += -fno-builtin-sincosf64x -fno-builtin-sincosf128 +CFLAGS-w_sinhl.c += -fno-builtin-sinhf64x -fno-builtin-sinhf128 +CFLAGS-w_sqrtl.c += -fno-builtin-sqrtf64x -fno-builtin-sqrtf128 +CFLAGS-s_tanl.c += -fno-builtin-tanf64x -fno-builtin-tanf128 +CFLAGS-s_tanhl.c += -fno-builtin-tanhf64x -fno-builtin-tanhf128 +CFLAGS-w_tgammal.c += -fno-builtin-tgammaf64x -fno-builtin-tgammaf128 +CFLAGS-s_totalorderl.c += -fno-builtin-totalorderf64x -fno-builtin-totalorderf128 +CFLAGS-s_totalordermagl.c += -fno-builtin-totalordermagf64x -fno-builtin-totalordermagf128 +CFLAGS-s_truncl.c += -fno-builtin-truncf64x -fno-builtin-truncf128 +CFLAGS-s_ufromfpl.c += -fno-builtin-ufromfpf64x -fno-builtin-ufromfpf128 +CFLAGS-s_ufromfpxl.c += -fno-builtin-ufromfpxf64x -fno-builtin-ufromfpxf128 +CFLAGS-s_y0l.c += -fno-builtin-y0f64x -fno-builtin-y0f128 +CFLAGS-s_y1l.c += -fno-builtin-y1f64x -fno-builtin-y1f128 +CFLAGS-s_ynl.c += -fno-builtin-ynf64x -fno-builtin-ynf128 +endif diff --git a/sysdeps/ieee754/ldbl-96/Makefile b/sysdeps/ieee754/ldbl-96/Makefile index 1618f8ef02..da44318e9f 100644 --- a/sysdeps/ieee754/ldbl-96/Makefile +++ b/sysdeps/ieee754/ldbl-96/Makefile @@ -21,4 +21,130 @@ tests += test-canonical-ldbl-96 test-totalorderl-ldbl-96 test-sinl-pseudo ifeq ($(have-ssp),yes) CFLAGS-test-sinl-pseudo.c += -fstack-protector-all endif + +CFLAGS-w_acosl.c += -fno-builtin-acosf64x +CFLAGS-w_acoshl.c += -fno-builtin-acoshf64x +CFLAGS-w_asinl.c += -fno-builtin-asinf64x +CFLAGS-s_asinhl.c += -fno-builtin-asinhf64x +CFLAGS-s_atanl.c += -fno-builtin-atanf64x +CFLAGS-w_atan2l.c += -fno-builtin-atan2f64x +CFLAGS-w_atanhl.c += -fno-builtin-atanhf64x +CFLAGS-s_cabsl.c += -fno-builtin-cabsf64x +CFLAGS-s_cacosl.c += -fno-builtin-cacosf64x +CFLAGS-s_cacoshl.c += -fno-builtin-cacoshf64x +CFLAGS-s_canonicalizel.c += -fno-builtin-canonicalizef64x +CFLAGS-s_cargl.c += -fno-builtin-cargf64x +CFLAGS-s_casinl.c += -fno-builtin-casinf64x +CFLAGS-s_casinhl.c += -fno-builtin-casinhf64x +CFLAGS-s_catanl.c += -fno-builtin-catanf64x +CFLAGS-s_catanhl.c += -fno-builtin-catanhf64x +CFLAGS-s_cbrtl.c += -fno-builtin-cbrtf64x +CFLAGS-s_ccosl.c += -fno-builtin-ccosf64x +CFLAGS-s_ccoshl.c += -fno-builtin-ccoshf64x +CFLAGS-s_ceill.c += -fno-builtin-ceilf64x +CFLAGS-s_cexpl.c += -fno-builtin-cexpf64x +CFLAGS-s_cimagl.c += -fno-builtin-cimagf64x +CFLAGS-s_clogl.c += -fno-builtin-clogf64x +CFLAGS-s_clog10l.c += -fno-builtin-clog10f64x +CFLAGS-s_conjl.c += -fno-builtin-conjf64x +CFLAGS-s_copysignl.c += -fno-builtin-copysignf64x +CFLAGS-s_cosl.c += -fno-builtin-cosf64x +CFLAGS-w_coshl.c += -fno-builtin-coshf64x +CFLAGS-s_cpowl.c += -fno-builtin-cpowf64x +CFLAGS-s_cprojl.c += -fno-builtin-cprojf64x +CFLAGS-s_creall.c += -fno-builtin-crealf64x +CFLAGS-s_csinl.c += -fno-builtin-csinf64x +CFLAGS-s_csinhl.c += -fno-builtin-csinhf64x +CFLAGS-s_csqrtl.c += -fno-builtin-csqrtf64x +CFLAGS-s_ctanl.c += -fno-builtin-ctanf64x +CFLAGS-s_ctanhl.c += -fno-builtin-ctanhf64x +CFLAGS-s_daddl.c += -fno-builtin-f64addf64x +CFLAGS-s_ddivl.c += -fno-builtin-f64divf64x +CFLAGS-s_dfmal.c += -fno-builtin-f64fmaf64x +CFLAGS-s_dmull.c += -fno-builtin-f64mulf64x +CFLAGS-s_dsqrtl.c += -fno-builtin-f64sqrtf64x +CFLAGS-s_dsubl.c += -fno-builtin-f64subf64x +CFLAGS-s_erfl.c += -fno-builtin-erff64x +CFLAGS-s_erfcl.c += -fno-builtin-erfcf64x +CFLAGS-e_expl.c += -fno-builtin-expf64x +CFLAGS-w_exp10l.c += -fno-builtin-exp10f64x +CFLAGS-e_exp2l.c += -fno-builtin-exp2f64x +CFLAGS-s_expm1l.c += -fno-builtin-expm1f64x +CFLAGS-s_fabsl.c += -fno-builtin-fabsf64x +CFLAGS-s_faddl.c += -fno-builtin-f32addf64x +CFLAGS-s_fdiml.c += -fno-builtin-fdimf64x +CFLAGS-s_fdivl.c += -fno-builtin-f32divf64x +CFLAGS-s_ffmal.c += -fno-builtin-f32fmaf64x +CFLAGS-s_floorl.c += -fno-builtin-floorf64x +CFLAGS-s_fmal.c += -fno-builtin-fmaf64x +CFLAGS-s_fmaxl.c += -fno-builtin-fmaxf64x +CFLAGS-s_fmaximuml.c += -fno-builtin-fmaximumf64x +CFLAGS-s_fmaximum_magl.c += -fno-builtin-fmaximum_magf64x +CFLAGS-s_fmaximum_mag_numl.c += -fno-builtin-fmaximum_mag_numf64x +CFLAGS-s_fmaximum_numl.c += -fno-builtin-fmaximum_numf64x +CFLAGS-s_fmaxmagl.c += -fno-builtin-fmaxmagf64x +CFLAGS-s_fminl.c += -fno-builtin-fminf64x +CFLAGS-s_fminimuml.c += -fno-builtin-fminimumf64x +CFLAGS-s_fminimum_magl.c += -fno-builtin-fminimum_magf64x +CFLAGS-s_fminimum_mag_numl.c += -fno-builtin-fminimum_mag_numf64x +CFLAGS-s_fminimum_numl.c += -fno-builtin-fminimum_numf64x +CFLAGS-s_fminmagl.c += -fno-builtin-fminmagf64x +CFLAGS-w_fmodl.c += -fno-builtin-fmodf64x +CFLAGS-s_fmull.c += -fno-builtin-f32mulf64x +CFLAGS-s_frexpl.c += -fno-builtin-frexpf64x +CFLAGS-s_fromfpl.c += -fno-builtin-fromfpf64x +CFLAGS-s_fromfpxl.c += -fno-builtin-fromfpxf64x +CFLAGS-s_fsqrtl.c += -fno-builtin-f32sqrtf64x +CFLAGS-s_fsubl.c += -fno-builtin-f32subf64x +CFLAGS-s_getpayloadl.c += -fno-builtin-getpayloadf64x +CFLAGS-w_hypotl.c += -fno-builtin-hypotf64x +CFLAGS-w_ilogbl.c += -fno-builtin-ilogbf64x +CFLAGS-w_j0l.c += -fno-builtin-j0f64x +CFLAGS-w_j1l.c += -fno-builtin-j1f64x +CFLAGS-w_jnl.c += -fno-builtin-jnf64x +CFLAGS-s_ldexpl.c += -fno-builtin-ldexpf64x +CFLAGS-w_lgammal.c += -fno-builtin-lgammaf64x +CFLAGS-w_lgammal_r.c += -fno-builtin-lgammaf64x_r +CFLAGS-w_llogbl.c += -fno-builtin-llogbf64x +CFLAGS-s_llrintl.c += -fno-builtin-llrintf64x +CFLAGS-s_llroundl.c += -fno-builtin-llroundf64x +CFLAGS-e_logl.c += -fno-builtin-logf64x +CFLAGS-w_log10l.c += -fno-builtin-log10f64x +CFLAGS-w_log1pl.c += -fno-builtin-log1pf64x +CFLAGS-e_log2l.c += -fno-builtin-log2f64x +CFLAGS-s_logbl.c += -fno-builtin-logbf64x +CFLAGS-s_lrintl.c += -fno-builtin-lrintf64x +CFLAGS-s_lroundl.c += -fno-builtin-lroundf64x +CFLAGS-s_modfl.c += -fno-builtin-modff64x +CFLAGS-s_nanl.c += -fno-builtin-nanf64x +CFLAGS-s_nearbyintl.c += -fno-builtin-nearbyintf64x +CFLAGS-s_nextafterl.c += -fno-builtin-nextafterf64x +CFLAGS-s_nextdownl.c += -fno-builtin-nextdownf64x +CFLAGS-s_nextupl.c += -fno-builtin-nextupf64x +CFLAGS-e_powl.c += -fno-builtin-powf64x +CFLAGS-w_remainderl.c += -fno-builtin-remainderf64x +CFLAGS-s_remquol.c += -fno-builtin-remquof64x +CFLAGS-s_rintl.c += -fno-builtin-rintf64x +CFLAGS-s_roundl.c += -fno-builtin-roundf64x +CFLAGS-s_roundevenl.c += -fno-builtin-roundevenf64x +CFLAGS-w_scalblnl.c += -fno-builtin-scalblnf64x +CFLAGS-s_scalbnl.c += -fno-builtin-scalbnf64x +CFLAGS-s_setpayloadl.c += -fno-builtin-setpayloadf64x +CFLAGS-s_setpayloadsigl.c += -fno-builtin-setpayloadsigf64x +CFLAGS-s_sinl.c += -fno-builtin-sinf64x +CFLAGS-s_sincosl.c += -fno-builtin-sincosf64x +CFLAGS-w_sinhl.c += -fno-builtin-sinhf64x +CFLAGS-w_sqrtl.c += -fno-builtin-sqrtf64x +CFLAGS-s_tanl.c += -fno-builtin-tanf64x +CFLAGS-s_tanhl.c += -fno-builtin-tanhf64x +CFLAGS-w_tgammal.c += -fno-builtin-tgammaf64x +CFLAGS-s_totalorderl.c += -fno-builtin-totalorderf64x +CFLAGS-s_totalordermagl.c += -fno-builtin-totalordermagf64x +CFLAGS-s_truncl.c += -fno-builtin-truncf64x +CFLAGS-s_ufromfpl.c += -fno-builtin-ufromfpf64x +CFLAGS-s_ufromfpxl.c += -fno-builtin-ufromfpxf64x +CFLAGS-s_y0l.c += -fno-builtin-y0f64x +CFLAGS-s_y1l.c += -fno-builtin-y1f64x +CFLAGS-s_ynl.c += -fno-builtin-ynf64x + endif # $(subdir) == math diff --git a/sysdeps/powerpc/powerpc32/fpu/Makefile b/sysdeps/powerpc/powerpc32/fpu/Makefile index b8b6bb0fa2..4c0c65c18a 100644 --- a/sysdeps/powerpc/powerpc32/fpu/Makefile +++ b/sysdeps/powerpc/powerpc32/fpu/Makefile @@ -1,8 +1,8 @@ ifeq ($(subdir),math) # lrint is aliased to lrintf, so suppress compiler builtins to # avoid mismatched signatures. -CFLAGS-s_lrint.c += -fno-builtin-lrintf -CFLAGS-s_lround.c += -fno-builtin-lroundf +CFLAGS-s_lrint.c += -fno-builtin-lrintf -fno-builtin-lrintf32 +CFLAGS-s_lround.c += -fno-builtin-lroundf -fno-builtin-lroundf32 endif ifeq ($(subdir),misc) diff --git a/sysdeps/powerpc/powerpc64/fpu/Makefile b/sysdeps/powerpc/powerpc64/fpu/Makefile index 05075c2a75..9359049b55 100644 --- a/sysdeps/powerpc/powerpc64/fpu/Makefile +++ b/sysdeps/powerpc/powerpc64/fpu/Makefile @@ -1,7 +1,9 @@ ifeq ($(subdir),math) # lrintf and llrintf are aliased to llrint, so suppress compiler builtins to # avoid mismatched signatures. -CFLAGS-s_llrint.c += -fno-builtin-lrintf -fno-builtin-llrintf +CFLAGS-s_llrint.c += -fno-builtin-lrintf -fno-builtin-llrintf \ + -fno-builtin-lrintf32 -fno-builtin-llrintf32 # Same as before but for lroundf and llroundf -CFLAGS-s_llround.c += -fno-builtin-lroundf -fno-builtin-llroundf +CFLAGS-s_llround.c += -fno-builtin-lroundf -fno-builtin-llroundf \ + -fno-builtin-lroundf32 -fno-builtin-llroundf32 endif diff --git a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/Makefile b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/Makefile index cc073b53d3..858061484e 100644 --- a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/Makefile +++ b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/Makefile @@ -207,6 +207,131 @@ endef object-suffixes-left := $(all-object-suffixes) include $(o-iterator) +CFLAGS-w_acosf128-ifunc.c += -fno-builtin-acosf64x +CFLAGS-w_acoshf128-ifunc.c += -fno-builtin-acoshf64x +CFLAGS-w_asinf128-ifunc.c += -fno-builtin-asinf64x +CFLAGS-s_asinhf128-ifunc.c += -fno-builtin-asinhf64x +CFLAGS-s_atanf128-ifunc.c += -fno-builtin-atanf64x +CFLAGS-w_atan2f128-ifunc.c += -fno-builtin-atan2f64x +CFLAGS-w_atanhf128-ifunc.c += -fno-builtin-atanhf64x +CFLAGS-s_cabsf128-ifunc.c += -fno-builtin-cabsf64x +CFLAGS-s_cacosf128-ifunc.c += -fno-builtin-cacosf64x +CFLAGS-s_cacoshf128-ifunc.c += -fno-builtin-cacoshf64x +CFLAGS-s_canonicalizef128-ifunc.c += -fno-builtin-canonicalizef64x +CFLAGS-s_cargf128-ifunc.c += -fno-builtin-cargf64x +CFLAGS-s_casinf128-ifunc.c += -fno-builtin-casinf64x +CFLAGS-s_casinhf128-ifunc.c += -fno-builtin-casinhf64x +CFLAGS-s_catanf128-ifunc.c += -fno-builtin-catanf64x +CFLAGS-s_catanhf128-ifunc.c += -fno-builtin-catanhf64x +CFLAGS-s_cbrtf128-ifunc.c += -fno-builtin-cbrtf64x +CFLAGS-s_ccosf128-ifunc.c += -fno-builtin-ccosf64x +CFLAGS-s_ccoshf128-ifunc.c += -fno-builtin-ccoshf64x +CFLAGS-s_ceilf128-ifunc.c += -fno-builtin-ceilf64x +CFLAGS-s_cexpf128-ifunc.c += -fno-builtin-cexpf64x +CFLAGS-s_cimagf128-ifunc.c += -fno-builtin-cimagf64x +CFLAGS-s_clogf128-ifunc.c += -fno-builtin-clogf64x +CFLAGS-s_clog10f128-ifunc.c += -fno-builtin-clog10f64x +CFLAGS-s_conjf128-ifunc.c += -fno-builtin-conjf64x +CFLAGS-s_copysignf128-ifunc.c += -fno-builtin-copysignf64x +CFLAGS-s_cosf128-ifunc.c += -fno-builtin-cosf64x +CFLAGS-w_coshf128-ifunc.c += -fno-builtin-coshf64x +CFLAGS-s_cpowf128-ifunc.c += -fno-builtin-cpowf64x +CFLAGS-s_cprojf128-ifunc.c += -fno-builtin-cprojf64x +CFLAGS-s_crealf128-ifunc.c += -fno-builtin-crealf64x +CFLAGS-s_csinf128-ifunc.c += -fno-builtin-csinf64x +CFLAGS-s_csinhf128-ifunc.c += -fno-builtin-csinhf64x +CFLAGS-s_csqrtf128-ifunc.c += -fno-builtin-csqrtf64x +CFLAGS-s_ctanf128-ifunc.c += -fno-builtin-ctanf64x +CFLAGS-s_ctanhf128-ifunc.c += -fno-builtin-ctanhf64x +CFLAGS-s_daddf128-ifunc.c += -fno-builtin-f64addf64x +CFLAGS-s_ddivf128-ifunc.c += -fno-builtin-f64divf64x +CFLAGS-s_dfmaf128-ifunc.c += -fno-builtin-f64fmaf64x +CFLAGS-s_dmulf128-ifunc.c += -fno-builtin-f64mulf64x +CFLAGS-s_dsqrtf128-ifunc.c += -fno-builtin-f64sqrtf64x +CFLAGS-s_dsubf128-ifunc.c += -fno-builtin-f64subf64x +CFLAGS-s_erff128-ifunc.c += -fno-builtin-erff64x +CFLAGS-s_erfcf128-ifunc.c += -fno-builtin-erfcf64x +CFLAGS-e_expf128-ifunc.c += -fno-builtin-expf64x +CFLAGS-w_exp10f128-ifunc.c += -fno-builtin-exp10f64x +CFLAGS-e_exp2f128-ifunc.c += -fno-builtin-exp2f64x +CFLAGS-s_expm1f128-ifunc.c += -fno-builtin-expm1f64x +CFLAGS-s_fabsf128-ifunc.c += -fno-builtin-fabsf64x +CFLAGS-s_faddf128-ifunc.c += -fno-builtin-f32addf64x +CFLAGS-s_fdimf128-ifunc.c += -fno-builtin-fdimf64x +CFLAGS-s_fdivf128-ifunc.c += -fno-builtin-f32divf64x +CFLAGS-s_ffmaf128-ifunc.c += -fno-builtin-f32fmaf64x +CFLAGS-s_floorf128-ifunc.c += -fno-builtin-floorf64x +CFLAGS-s_fmaf128-ifunc.c += -fno-builtin-fmaf64x +CFLAGS-s_fmaxf128-ifunc.c += -fno-builtin-fmaxf64x +CFLAGS-s_fmaximumf128-ifunc.c += -fno-builtin-fmaximumf64x +CFLAGS-s_fmaximum_magf128-ifunc.c += -fno-builtin-fmaximum_magf64x +CFLAGS-s_fmaximum_mag_numf128-ifunc.c += -fno-builtin-fmaximum_mag_numf64x +CFLAGS-s_fmaximum_numf128-ifunc.c += -fno-builtin-fmaximum_numf64x +CFLAGS-s_fmaxmagf128-ifunc.c += -fno-builtin-fmaxmagf64x +CFLAGS-s_fminf128-ifunc.c += -fno-builtin-fminf64x +CFLAGS-s_fminimumf128-ifunc.c += -fno-builtin-fminimumf64x +CFLAGS-s_fminimum_magf128-ifunc.c += -fno-builtin-fminimum_magf64x +CFLAGS-s_fminimum_mag_numf128-ifunc.c += -fno-builtin-fminimum_mag_numf64x +CFLAGS-s_fminimum_numf128-ifunc.c += -fno-builtin-fminimum_numf64x +CFLAGS-s_fminmagf128-ifunc.c += -fno-builtin-fminmagf64x +CFLAGS-w_fmodf128-ifunc.c += -fno-builtin-fmodf64x +CFLAGS-s_fmulf128-ifunc.c += -fno-builtin-f32mulf64x +CFLAGS-s_frexpf128-ifunc.c += -fno-builtin-frexpf64x +CFLAGS-s_fromfpf128-ifunc.c += -fno-builtin-fromfpf64x +CFLAGS-s_fromfpxf128-ifunc.c += -fno-builtin-fromfpxf64x +CFLAGS-s_fsqrtf128-ifunc.c += -fno-builtin-f32sqrtf64x +CFLAGS-s_fsubf128-ifunc.c += -fno-builtin-f32subf64x +CFLAGS-s_getpayloadf128-ifunc.c += -fno-builtin-getpayloadf64x +CFLAGS-w_hypotf128-ifunc.c += -fno-builtin-hypotf64x +CFLAGS-w_ilogbf128-ifunc.c += -fno-builtin-ilogbf64x +CFLAGS-w_j0f128-ifunc.c += -fno-builtin-j0f64x +CFLAGS-w_j1f128-ifunc.c += -fno-builtin-j1f64x +CFLAGS-w_jnf128-ifunc.c += -fno-builtin-jnf64x +CFLAGS-s_ldexpf128-ifunc.c += -fno-builtin-ldexpf64x +CFLAGS-w_lgammaf128-ifunc.c += -fno-builtin-lgammaf64x +CFLAGS-w_lgammaf128_r-ifunc.c += -fno-builtin-lgammaf64x_r +CFLAGS-w_llogbf128-ifunc.c += -fno-builtin-llogbf64x +CFLAGS-s_llrintf128-ifunc.c += -fno-builtin-llrintf64x +CFLAGS-s_llroundf128-ifunc.c += -fno-builtin-llroundf64x +CFLAGS-e_logf128-ifunc.c += -fno-builtin-logf64x +CFLAGS-w_log10f128-ifunc.c += -fno-builtin-log10f64x +CFLAGS-w_log1pf128-ifunc.c += -fno-builtin-log1pf64x +CFLAGS-e_log2f128-ifunc.c += -fno-builtin-log2f64x +CFLAGS-s_logbf128-ifunc.c += -fno-builtin-logbf64x +CFLAGS-s_lrintf128-ifunc.c += -fno-builtin-lrintf64x +CFLAGS-s_lroundf128-ifunc.c += -fno-builtin-lroundf64x +CFLAGS-s_modff128-ifunc.c += -fno-builtin-modff64x +CFLAGS-s_nanf128-ifunc.c += -fno-builtin-nanf64x +CFLAGS-s_nearbyintf128-ifunc.c += -fno-builtin-nearbyintf64x +CFLAGS-s_nextafterf128-ifunc.c += -fno-builtin-nextafterf64x +CFLAGS-s_nextdownf128-ifunc.c += -fno-builtin-nextdownf64x +CFLAGS-s_nextupf128-ifunc.c += -fno-builtin-nextupf64x +CFLAGS-e_powf128-ifunc.c += -fno-builtin-powf64x +CFLAGS-w_remainderf128-ifunc.c += -fno-builtin-remainderf64x +CFLAGS-s_remquof128-ifunc.c += -fno-builtin-remquof64x +CFLAGS-s_rintf128-ifunc.c += -fno-builtin-rintf64x +CFLAGS-s_roundf128-ifunc.c += -fno-builtin-roundf64x +CFLAGS-s_roundevenf128-ifunc.c += -fno-builtin-roundevenf64x +CFLAGS-w_scalblnf128-ifunc.c += -fno-builtin-scalblnf64x +CFLAGS-s_scalbnf128-ifunc.c += -fno-builtin-scalbnf64x +CFLAGS-s_setpayloadf128-ifunc.c += -fno-builtin-setpayloadf64x +CFLAGS-s_setpayloadsigf128-ifunc.c += -fno-builtin-setpayloadsigf64x +CFLAGS-s_sinf128-ifunc.c += -fno-builtin-sinf64x +CFLAGS-s_sincosf128-ifunc.c += -fno-builtin-sincosf64x +CFLAGS-w_sinhf128-ifunc.c += -fno-builtin-sinhf64x +CFLAGS-w_sqrtf128-ifunc.c += -fno-builtin-sqrtf64x +CFLAGS-s_tanf128-ifunc.c += -fno-builtin-tanf64x +CFLAGS-s_tanhf128-ifunc.c += -fno-builtin-tanhf64x +CFLAGS-w_tgammaf128-ifunc.c += -fno-builtin-tgammaf64x +CFLAGS-s_totalorderf128-ifunc.c += -fno-builtin-totalorderf64x +CFLAGS-s_totalordermagf128-ifunc.c += -fno-builtin-totalordermagf64x +CFLAGS-s_truncf128-ifunc.c += -fno-builtin-truncf64x +CFLAGS-s_ufromfpf128-ifunc.c += -fno-builtin-ufromfpf64x +CFLAGS-s_ufromfpxf128-ifunc.c += -fno-builtin-ufromfpxf64x +CFLAGS-s_y0f128-ifunc.c += -fno-builtin-y0f64x +CFLAGS-s_y1f128-ifunc.c += -fno-builtin-y1f64x +CFLAGS-s_ynf128-ifunc.c += -fno-builtin-ynf64x + endif # do_f128_multiarch libm-sysdep_routines += e_log-ppc64 diff --git a/sysdeps/x86_64/x32/Makefile b/sysdeps/x86_64/x32/Makefile index 8748956563..31732aa248 100644 --- a/sysdeps/x86_64/x32/Makefile +++ b/sysdeps/x86_64/x32/Makefile @@ -2,7 +2,8 @@ ifeq ($(subdir),math) # Since x32 returns 32-bit long int and 64-bit long long int in the # same 64-bit register, we make the 32b-bit lround an alias of the # 64-bit llround. Add -fno-builtin-lround to silence the compiler. -CFLAGS-s_llround.c += -fno-builtin-lround +CFLAGS-s_llround.c += -fno-builtin-lround -fno-builtin-lroundf32x \ + -fno-builtin-lroundf64 endif ifeq ($(subdir),string)