diff options
author | Joseph Myers <joseph@codesourcery.com> | 2016-12-21 01:48:27 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2016-12-21 01:48:27 +0000 |
commit | 41c67149b94676347b0068a902058f130e3e88e6 (patch) | |
tree | b4f50fdb48fd83914ad570b581188b74ab90e984 /sysdeps/unix/sysv | |
parent | 60c07b058f9fe34e2ffd7e02b20657db6f5f68d4 (diff) | |
download | glibc-41c67149b94676347b0068a902058f130e3e88e6.tar.gz |
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
<https://sourceware.org/ml/libc-help/2015-02/msg00005.html>.
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.
Diffstat (limited to 'sysdeps/unix/sysv')
26 files changed, 78 insertions, 0 deletions
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 |