From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15049 invoked by alias); 9 Nov 2016 18:41:27 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 14355 invoked by uid 89); 9 Nov 2016 18:41:19 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.6 required=5.0 tests=BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_LOW autolearn=no version=3.3.2 spammy=murphy, 2411, makefiles, F X-HELO: mx0a-001b2d01.pphosted.com From: "Gabriel F. T. Gomes" To: libc-alpha@sourceware.org Subject: [PATCH 2/8] float128: Add _Float128 make bits to libm. Date: Wed, 09 Nov 2016 18:41:00 -0000 In-Reply-To: <1478716859-3246-1-git-send-email-gftg@linux.vnet.ibm.com> References: <1478716859-3246-1-git-send-email-gftg@linux.vnet.ibm.com> X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 16110918-0028-0000-0000-00000169F8B3 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 16110918-0029-0000-0000-00001463B801 Message-Id: <1478716859-3246-3-git-send-email-gftg@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2016-11-09_08:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=1 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1609300000 definitions=main-1611090343 X-SW-Source: 2016-11/txt/msg00352.txt.bz2 From: "Paul E. Murphy" This adds the appropriate common bits for a platform to enable float128 and expose ABI. 2016-10-21 Paul E. Murphy * math/Makefile: (type-float128-suffix): New variable (type-float128-routines): Likewise (type-float128-yes): Likewise (types): Append float128 if supported * sysdeps/ieee754/float128/Makeconfig: New file. * sysdeps/ieee754/float128/Versions: New file. --- math/Makefile | 6 ++ sysdeps/ieee754/float128/Makeconfig | 3 + sysdeps/ieee754/float128/Versions | 133 ++++++++++++++++++++++++++++++++++++ 3 files changed, 142 insertions(+) create mode 100644 sysdeps/ieee754/float128/Makeconfig create mode 100644 sysdeps/ieee754/float128/Versions diff --git a/math/Makefile b/math/Makefile index f400d7b..37e7ea0 100644 --- a/math/Makefile +++ b/math/Makefile @@ -108,6 +108,11 @@ type-double-routines := branred doasin dosincos halfulp mpa mpatan2 \ type-float-suffix := f type-float-routines := k_rem_pio2f +# _Float128 support +type-float128-suffix := f128 +type-float128-routines := t_sincosf128 k_sincosf128 +type-float128-yes := float128 +types += $(type-float128-$(float128-fcts)) # Apply suffix to each type in arg 1 type-foreach = $(foreach t,$(types),$(subst F,$(type-$(t)-suffix),$(1))) @@ -374,6 +379,7 @@ endif CFLAGS-s_modf.c += -fsignaling-nans CFLAGS-s_modff.c += -fsignaling-nans CFLAGS-s_modfl.c += -fsignaling-nans +CFLAGS-s_modff128.c += -fsignaling-nans # The -lieee library is actually an object file. # The module just defines the _LIB_VERSION_ variable. diff --git a/sysdeps/ieee754/float128/Makeconfig b/sysdeps/ieee754/float128/Makeconfig new file mode 100644 index 0000000..6c385d2 --- /dev/null +++ b/sysdeps/ieee754/float128/Makeconfig @@ -0,0 +1,3 @@ +# Include this earlier so it can be used earlier in Makefiles, +# and sysdep/ makefiles. +float128-fcts = yes diff --git a/sysdeps/ieee754/float128/Versions b/sysdeps/ieee754/float128/Versions new file mode 100644 index 0000000..cee823b --- /dev/null +++ b/sysdeps/ieee754/float128/Versions @@ -0,0 +1,133 @@ +%include +%ifndef FLOAT128_VERSION +% error "float128-abi.h must define FLOAT128_VERSION" +%endif +libm { + FLOAT128_VERSION { + acosf128; + acoshf128; + asinf128; + asinhf128; + atan2f128; + atanf128; + atanhf128; + copysignf128; + cosf128; + coshf128; + erff128; + erfcf128; + exp2f128; + expf128; + expm1f128; + fabsf128; + fdimf128; + floorf128; + fmaf128; + fmaxf128; + fminf128; + fmodf128; + frexpf128; + getpayloadf128; + hypotf128; + ilogbf128; + ldexpf128; + lgammaf128; + llrintf128; + llroundf128; + log10f128; + log1pf128; + log2f128; + logf128; + logbf128; + lrintf128; + lroundf128; + modff128; + nanf128; + nearbyintf128; + nextafterf128; + nextdownf128; + nextupf128; + powf128; + remainderf128; + remquof128; + rintf128; + roundf128; + scalblnf128; + scalbnf128; + sinf128; + sinhf128; + sqrtf128; + tanf128; + tanhf128; + tgammaf128; + totalorderf128; + totalordermagf128; + truncf128; + exp10f128; + j0f128; + j1f128; + jnf128; + lgammaf128_r; + sincosf128; + y0f128; + y1f128; + ynf128; + __finitef128; + __fpclassifyf128; + __isinff128; + __isnanf128; + __issignalingf128; + __signbitf128; + cabsf128; + cacosf128; + cacoshf128; + cargf128; + casinf128; + casinhf128; + catanf128; + catanhf128; + cbrtf128; + ccosf128; + ccoshf128; + ceilf128; + cexpf128; + cimagf128; + clogf128; + conjf128; + cprojf128; + crealf128; + csinf128; + csinhf128; + csqrtf128; + ctanf128; + ctanhf128; + cpowf128; + clog10f128; + __acosf128_finite; + __acoshf128_finite; + __asinf128_finite; + __atan2f128_finite; + __atanhf128_finite; + __coshf128_finite; + __exp2f128_finite; + __expf128_finite; + __fmodf128_finite; + __hypotf128_finite; + __lgammaf128_r_finite; + __log10f128_finite; + __log2f128_finite; + __logf128_finite; + __powf128_finite; + __remainderf128_finite; + __sinhf128_finite; + __sqrtf128_finite; + __gammaf128_r_finite; + __exp10f128_finite; + __j0f128_finite; + __j1f128_finite; + __jnf128_finite; + __y0f128_finite; + __y1f128_finite; + __ynf128_finite; + } +} -- 2.4.11