From 41c67149b94676347b0068a902058f130e3e88e6 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Wed, 21 Dec 2016 01:48:27 +0000 Subject: Add roundeven, roundevenf, roundevenl. TS 18661-1 defines roundeven functions that round a floating-point number to the nearest integer, in that floating-point type, with ties rounding to even (whereas the round functions round ties away from zero). As with other such functions, they raise no exceptions apart from "invalid" for signaling NaNs. There was a previous user request for this functionality in glibc in . This patch implements these functions for glibc. The implementations use integer bit-manipulation (or roundeven on the high and low parts, in the IBM long double case). It's possible that there may be faster approaches on some architectures (in particular, on AArch64 the frintn instruction should do exactly what's required); I'll leave it to architecture maintainers or others interested to implement such architecture-specific versions if desired. (Where architectures have instructions to round to nearest integer in the current rounding mode, implementations saving and restoring the rounding mode - and dealing with exceptions if those instructions generate "inexact" - are also possible, though their performance depends on the cost of manipulating exceptions / rounding mode state.) Tested for x86_64, x86, mips64 and powerpc. * math/bits/mathcalls.h [__GLIBC_USE (IEC_60559_BFP_EXT)] (roundeven): New declaration. * math/tgmath.h [__GLIBC_USE (IEC_60559_BFP_EXT)] (roundeven): New macro. * math/Versions (roundeven): New libm symbol at version GLIBC_2.25. (roundevenf): Likewise. (roundevenl): Likewise. * math/Makefile (libm-calls): Add s_roundevenF. * math/libm-test.inc (roundeven_test_data): New array. (roundeven_test): New function. (main): Call roundeven_test. * math/test-tgmath.c (NCALLS): Increase to 134. (F(compile_test)): Call roundeven. (F(roundeven)): New function. * manual/arith.texi (Rounding Functions): Document roundeven, roundevenf and roundevenl. * manual/libm-err-tab.pl (@all_functions): Add roundeven. * include/math.h (roundeven): Use libm_hidden_proto. * sysdeps/ieee754/dbl-64/s_roundeven.c: New file. * sysdeps/ieee754/dbl-64/wordsize-64/s_roundeven.c: Likewise. * sysdeps/ieee754/flt-32/s_roundevenf.c: Likewise. * sysdeps/ieee754/ldbl-128/s_roundevenl.c: Likewise. * sysdeps/ieee754/ldbl-128ibm/s_roundevenl.c: Likewise. * sysdeps/ieee754/ldbl-96/s_roundevenl.c: Likewise. * sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add roundeven. (CFLAGS-nldbl-roundeven.c): New variable. * sysdeps/ieee754/ldbl-opt/nldbl-roundeven.c: New file. * sysdeps/nacl/libm.abilist: Update. * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise. --- sysdeps/unix/sysv/linux/aarch64/libm.abilist | 3 +++ sysdeps/unix/sysv/linux/alpha/libm.abilist | 3 +++ sysdeps/unix/sysv/linux/arm/libm.abilist | 3 +++ sysdeps/unix/sysv/linux/hppa/libm.abilist | 3 +++ sysdeps/unix/sysv/linux/i386/libm.abilist | 3 +++ sysdeps/unix/sysv/linux/ia64/libm.abilist | 3 +++ sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist | 3 +++ sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist | 3 +++ sysdeps/unix/sysv/linux/microblaze/libm.abilist | 3 +++ sysdeps/unix/sysv/linux/mips/mips32/libm.abilist | 3 +++ sysdeps/unix/sysv/linux/mips/mips64/libm.abilist | 3 +++ sysdeps/unix/sysv/linux/nios2/libm.abilist | 3 +++ sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist | 3 +++ sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist | 3 +++ sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist | 3 +++ sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist | 3 +++ sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist | 3 +++ sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist | 3 +++ sysdeps/unix/sysv/linux/sh/libm.abilist | 3 +++ sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist | 3 +++ sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist | 3 +++ sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist | 3 +++ sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist | 3 +++ sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist | 3 +++ sysdeps/unix/sysv/linux/x86_64/64/libm.abilist | 3 +++ sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist | 3 +++ 26 files changed, 78 insertions(+) (limited to 'sysdeps/unix/sysv') diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist index 3afa24c382..8059e40c50 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist @@ -433,6 +433,9 @@ GLIBC_2.25 getpayloadl F GLIBC_2.25 llogb F GLIBC_2.25 llogbf F GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F GLIBC_2.25 setpayload F GLIBC_2.25 setpayloadf F GLIBC_2.25 setpayloadl F diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist index 0d9823c017..41284933d7 100644 --- a/sysdeps/unix/sysv/linux/alpha/libm.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist @@ -443,6 +443,9 @@ GLIBC_2.25 getpayloadl F GLIBC_2.25 llogb F GLIBC_2.25 llogbf F GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F GLIBC_2.25 setpayload F GLIBC_2.25 setpayloadf F GLIBC_2.25 setpayloadl F diff --git a/sysdeps/unix/sysv/linux/arm/libm.abilist b/sysdeps/unix/sysv/linux/arm/libm.abilist index c2acd838bd..7af2ea0624 100644 --- a/sysdeps/unix/sysv/linux/arm/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/libm.abilist @@ -90,6 +90,9 @@ GLIBC_2.25 getpayloadl F GLIBC_2.25 llogb F GLIBC_2.25 llogbf F GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F GLIBC_2.25 setpayload F GLIBC_2.25 setpayloadf F GLIBC_2.25 setpayloadl F diff --git a/sysdeps/unix/sysv/linux/hppa/libm.abilist b/sysdeps/unix/sysv/linux/hppa/libm.abilist index dabaa17aca..14670bdfbc 100644 --- a/sysdeps/unix/sysv/linux/hppa/libm.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist @@ -402,6 +402,9 @@ GLIBC_2.25 getpayloadl F GLIBC_2.25 llogb F GLIBC_2.25 llogbf F GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F GLIBC_2.25 setpayload F GLIBC_2.25 setpayloadf F GLIBC_2.25 setpayloadl F diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist index 929a8b0f95..ab94e90f91 100644 --- a/sysdeps/unix/sysv/linux/i386/libm.abilist +++ b/sysdeps/unix/sysv/linux/i386/libm.abilist @@ -446,6 +446,9 @@ GLIBC_2.25 getpayloadl F GLIBC_2.25 llogb F GLIBC_2.25 llogbf F GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F GLIBC_2.25 setpayload F GLIBC_2.25 setpayloadf F GLIBC_2.25 setpayloadl F diff --git a/sysdeps/unix/sysv/linux/ia64/libm.abilist b/sysdeps/unix/sysv/linux/ia64/libm.abilist index 7b21f7818a..ad89d24f13 100644 --- a/sysdeps/unix/sysv/linux/ia64/libm.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libm.abilist @@ -375,6 +375,9 @@ GLIBC_2.25 getpayloadl F GLIBC_2.25 llogb F GLIBC_2.25 llogbf F GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F GLIBC_2.25 setpayload F GLIBC_2.25 setpayloadf F GLIBC_2.25 setpayloadl F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist index c2acd838bd..7af2ea0624 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist @@ -90,6 +90,9 @@ GLIBC_2.25 getpayloadl F GLIBC_2.25 llogb F GLIBC_2.25 llogbf F GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F GLIBC_2.25 setpayload F GLIBC_2.25 setpayloadf F GLIBC_2.25 setpayloadl F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist index dd072f2d71..f09e2c2c3a 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist @@ -444,6 +444,9 @@ GLIBC_2.25 getpayloadl F GLIBC_2.25 llogb F GLIBC_2.25 llogbf F GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F GLIBC_2.25 setpayload F GLIBC_2.25 setpayloadf F GLIBC_2.25 setpayloadl F diff --git a/sysdeps/unix/sysv/linux/microblaze/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/libm.abilist index 2b9bcdb875..652fa4ad37 100644 --- a/sysdeps/unix/sysv/linux/microblaze/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/libm.abilist @@ -401,6 +401,9 @@ GLIBC_2.25 getpayloadl F GLIBC_2.25 llogb F GLIBC_2.25 llogbf F GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F GLIBC_2.25 setpayload F GLIBC_2.25 setpayloadf F GLIBC_2.25 setpayloadl F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist index 4894b3446e..3b34a14ddd 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist @@ -403,6 +403,9 @@ GLIBC_2.25 getpayloadl F GLIBC_2.25 llogb F GLIBC_2.25 llogbf F GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F GLIBC_2.25 setpayload F GLIBC_2.25 setpayloadf F GLIBC_2.25 setpayloadl F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist index 0f0798e97e..bec1e69d92 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist @@ -435,6 +435,9 @@ GLIBC_2.25 getpayloadl F GLIBC_2.25 llogb F GLIBC_2.25 llogbf F GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F GLIBC_2.25 setpayload F GLIBC_2.25 setpayloadf F GLIBC_2.25 setpayloadl F diff --git a/sysdeps/unix/sysv/linux/nios2/libm.abilist b/sysdeps/unix/sysv/linux/nios2/libm.abilist index 4ac5f07a64..3af50698de 100644 --- a/sysdeps/unix/sysv/linux/nios2/libm.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libm.abilist @@ -401,6 +401,9 @@ GLIBC_2.25 getpayloadl F GLIBC_2.25 llogb F GLIBC_2.25 llogbf F GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F GLIBC_2.25 setpayload F GLIBC_2.25 setpayloadf F GLIBC_2.25 setpayloadl F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist index 0b5757802f..b365e15dda 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist @@ -446,6 +446,9 @@ GLIBC_2.25 getpayloadl F GLIBC_2.25 llogb F GLIBC_2.25 llogbf F GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F GLIBC_2.25 setpayload F GLIBC_2.25 setpayloadf F GLIBC_2.25 setpayloadl F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist index 1365d0c39a..f486c2f5e9 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist @@ -445,6 +445,9 @@ GLIBC_2.25 getpayloadl F GLIBC_2.25 llogb F GLIBC_2.25 llogbf F GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F GLIBC_2.25 setpayload F GLIBC_2.25 setpayloadf F GLIBC_2.25 setpayloadl F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist index 6f930d8da0..eeb5236ac5 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist @@ -440,6 +440,9 @@ GLIBC_2.25 getpayloadl F GLIBC_2.25 llogb F GLIBC_2.25 llogbf F GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F GLIBC_2.25 setpayload F GLIBC_2.25 setpayloadf F GLIBC_2.25 setpayloadl F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist index 4407cbbb88..f7198006e5 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist @@ -121,6 +121,9 @@ GLIBC_2.25 getpayloadl F GLIBC_2.25 llogb F GLIBC_2.25 llogbf F GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F GLIBC_2.25 setpayload F GLIBC_2.25 setpayloadf F GLIBC_2.25 setpayloadl F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist index 645106c63d..e720f35791 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist @@ -433,6 +433,9 @@ GLIBC_2.25 getpayloadl F GLIBC_2.25 llogb F GLIBC_2.25 llogbf F GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F GLIBC_2.25 setpayload F GLIBC_2.25 setpayloadf F GLIBC_2.25 setpayloadl F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist index 228724a624..36bab6a884 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist @@ -431,6 +431,9 @@ GLIBC_2.25 getpayloadl F GLIBC_2.25 llogb F GLIBC_2.25 llogbf F GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F GLIBC_2.25 setpayload F GLIBC_2.25 setpayloadf F GLIBC_2.25 setpayloadl F diff --git a/sysdeps/unix/sysv/linux/sh/libm.abilist b/sysdeps/unix/sysv/linux/sh/libm.abilist index d2346591ca..0dcfb78190 100644 --- a/sysdeps/unix/sysv/linux/sh/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/libm.abilist @@ -402,6 +402,9 @@ GLIBC_2.25 getpayloadl F GLIBC_2.25 llogb F GLIBC_2.25 llogbf F GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F GLIBC_2.25 setpayload F GLIBC_2.25 setpayloadf F GLIBC_2.25 setpayloadl F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist index 789ccd3359..676d0353cd 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist @@ -436,6 +436,9 @@ GLIBC_2.25 getpayloadl F GLIBC_2.25 llogb F GLIBC_2.25 llogbf F GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F GLIBC_2.25 setpayload F GLIBC_2.25 setpayloadf F GLIBC_2.25 setpayloadl F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist index 2377bb2e46..3589368989 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist @@ -434,6 +434,9 @@ GLIBC_2.25 getpayloadl F GLIBC_2.25 llogb F GLIBC_2.25 llogbf F GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F GLIBC_2.25 setpayload F GLIBC_2.25 setpayloadf F GLIBC_2.25 setpayloadl F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist b/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist index bd57079bf8..8323ccf270 100644 --- a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist +++ b/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist @@ -402,6 +402,9 @@ GLIBC_2.25 getpayloadl F GLIBC_2.25 llogb F GLIBC_2.25 llogbf F GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F GLIBC_2.25 setpayload F GLIBC_2.25 setpayloadf F GLIBC_2.25 setpayloadl F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist b/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist index bd57079bf8..8323ccf270 100644 --- a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist +++ b/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist @@ -402,6 +402,9 @@ GLIBC_2.25 getpayloadl F GLIBC_2.25 llogb F GLIBC_2.25 llogbf F GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F GLIBC_2.25 setpayload F GLIBC_2.25 setpayloadf F GLIBC_2.25 setpayloadl F diff --git a/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist b/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist index bd57079bf8..8323ccf270 100644 --- a/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist +++ b/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist @@ -402,6 +402,9 @@ GLIBC_2.25 getpayloadl F GLIBC_2.25 llogb F GLIBC_2.25 llogbf F GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F GLIBC_2.25 setpayload F GLIBC_2.25 setpayloadf F GLIBC_2.25 setpayloadl F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist index 801da8aeae..34ece25098 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist @@ -435,6 +435,9 @@ GLIBC_2.25 getpayloadl F GLIBC_2.25 llogb F GLIBC_2.25 llogbf F GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F GLIBC_2.25 setpayload F GLIBC_2.25 setpayloadf F GLIBC_2.25 setpayloadl F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist index 3c7082ec50..d23a83d502 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist @@ -434,6 +434,9 @@ GLIBC_2.25 getpayloadl F GLIBC_2.25 llogb F GLIBC_2.25 llogbf F GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F GLIBC_2.25 setpayload F GLIBC_2.25 setpayloadf F GLIBC_2.25 setpayloadl F -- cgit v1.2.1