aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/i386/i686/fpu/multiarch/libm-test-ulps24
-rw-r--r--sysdeps/ieee754/ldbl-128ibm-compat/Versions1
-rw-r--r--sysdeps/ieee754/ldbl-opt/Makefile2
-rw-r--r--sysdeps/ieee754/ldbl-opt/nldbl-tanpi.c8
-rw-r--r--sysdeps/mach/hurd/i386/libm.abilist8
-rw-r--r--sysdeps/mach/hurd/x86_64/libm.abilist8
-rw-r--r--sysdeps/powerpc/nofpu/Makefile1
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libm.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libm.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/arc/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/csky/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/i386/libm.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/libm.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/or1k/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libm.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libm.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist8
-rw-r--r--sysdeps/x86_64/fpu/libm-test-ulps24
38 files changed, 285 insertions, 0 deletions
diff --git a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
index 326dfeb..225e8f9 100644
--- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
+++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
@@ -1709,6 +1709,30 @@ float: 3
float128: 3
ldouble: 4
+Function: "tanpi":
+double: 2
+float: 2
+float128: 2
+ldouble: 2
+
+Function: "tanpi_downward":
+double: 2
+float: 3
+float128: 4
+ldouble: 4
+
+Function: "tanpi_towardzero":
+double: 2
+float: 3
+float128: 4
+ldouble: 4
+
+Function: "tanpi_upward":
+double: 2
+float: 4
+float128: 3
+ldouble: 4
+
Function: "tgamma":
double: 9
float128: 4
diff --git a/sysdeps/ieee754/ldbl-128ibm-compat/Versions b/sysdeps/ieee754/ldbl-128ibm-compat/Versions
index 00dba38..336ce74 100644
--- a/sysdeps/ieee754/ldbl-128ibm-compat/Versions
+++ b/sysdeps/ieee754/ldbl-128ibm-compat/Versions
@@ -147,6 +147,7 @@ libm {
GLIBC_2.41 {
__cospiieee128;
__sinpiieee128;
+ __tanpiieee128;
}
}
libc {
diff --git a/sysdeps/ieee754/ldbl-opt/Makefile b/sysdeps/ieee754/ldbl-opt/Makefile
index 3512cff..bd1a379 100644
--- a/sysdeps/ieee754/ldbl-opt/Makefile
+++ b/sysdeps/ieee754/ldbl-opt/Makefile
@@ -207,6 +207,7 @@ libnldbl-calls = \
syslog_chk \
tan \
tanh \
+ tanpi \
tgamma \
totalorder \
totalordermag \
@@ -383,6 +384,7 @@ CFLAGS-nldbl-sinpi.c = -fno-builtin-sinpi
CFLAGS-nldbl-sqrt.c = -fno-builtin-sqrtl
CFLAGS-nldbl-tan.c = -fno-builtin-tanl
CFLAGS-nldbl-tanh.c = -fno-builtin-tanhl
+CFLAGS-nldbl-tanpi.c = -fno-builtin-tanpi
CFLAGS-nldbl-tgamma.c = -fno-builtin-tgammal
CFLAGS-nldbl-totalorder.c = -fno-builtin-totalorderl
CFLAGS-nldbl-totalordermag.c = -fno-builtin-totalordermagl
diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-tanpi.c b/sysdeps/ieee754/ldbl-opt/nldbl-tanpi.c
new file mode 100644
index 0000000..2bd6133
--- /dev/null
+++ b/sysdeps/ieee754/ldbl-opt/nldbl-tanpi.c
@@ -0,0 +1,8 @@
+#include "nldbl-compat.h"
+
+double
+attribute_hidden
+tanpil (double x)
+{
+ return tanpi (x);
+}
diff --git a/sysdeps/mach/hurd/i386/libm.abilist b/sysdeps/mach/hurd/i386/libm.abilist
index d61b892..67c17d7 100644
--- a/sysdeps/mach/hurd/i386/libm.abilist
+++ b/sysdeps/mach/hurd/i386/libm.abilist
@@ -1237,3 +1237,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif128 F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpif64x F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/mach/hurd/x86_64/libm.abilist b/sysdeps/mach/hurd/x86_64/libm.abilist
index 5dd8dc5..53b84f6 100644
--- a/sysdeps/mach/hurd/x86_64/libm.abilist
+++ b/sysdeps/mach/hurd/x86_64/libm.abilist
@@ -1094,3 +1094,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif128 F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpif64x F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/powerpc/nofpu/Makefile b/sysdeps/powerpc/nofpu/Makefile
index 64357ce..8131c5a 100644
--- a/sysdeps/powerpc/nofpu/Makefile
+++ b/sysdeps/powerpc/nofpu/Makefile
@@ -58,4 +58,5 @@ CFLAGS-s_fminimum_mag_numl.c += -fno-builtin-fabsl
CFLAGS-s_log10p1l.c += -fno-builtin-fabsl
CFLAGS-s_log2p1l.c += -fno-builtin-fabsl
CFLAGS-s_sinpil.c += -fno-builtin-fabsl
+CFLAGS-s_tanpil.c += -fno-builtin-fabsl
endif
diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist
index fcc0bfb..ddde060 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist
@@ -1205,3 +1205,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif128 F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpif64x F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist
index 29e36c6..1b94ce3 100644
--- a/sysdeps/unix/sysv/linux/alpha/libm.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist
@@ -1364,3 +1364,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif128 F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpif64x F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/unix/sysv/linux/arc/libm.abilist b/sysdeps/unix/sysv/linux/arc/libm.abilist
index c0313b0..caacdfe 100644
--- a/sysdeps/unix/sysv/linux/arc/libm.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libm.abilist
@@ -799,3 +799,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libm.abilist b/sysdeps/unix/sysv/linux/arm/be/libm.abilist
index f901290..e771722 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libm.abilist
@@ -890,3 +890,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libm.abilist b/sysdeps/unix/sysv/linux/arm/le/libm.abilist
index f901290..e771722 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libm.abilist
@@ -890,3 +890,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/unix/sysv/linux/csky/libm.abilist b/sysdeps/unix/sysv/linux/csky/libm.abilist
index c860a75..2604592 100644
--- a/sysdeps/unix/sysv/linux/csky/libm.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libm.abilist
@@ -865,3 +865,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/unix/sysv/linux/hppa/libm.abilist b/sysdeps/unix/sysv/linux/hppa/libm.abilist
index 0dd9643..2f12876 100644
--- a/sysdeps/unix/sysv/linux/hppa/libm.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist
@@ -890,3 +890,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist
index faf4ddb..3427dd7 100644
--- a/sysdeps/unix/sysv/linux/i386/libm.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libm.abilist
@@ -1244,3 +1244,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif128 F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpif64x F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist b/sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist
index 47e5f7a..dd37a07 100644
--- a/sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist
@@ -1084,3 +1084,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif128 F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpif64x F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
index f901290..e771722 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
@@ -890,3 +890,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist
index 39d61d3..f0eedc7 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist
@@ -926,3 +926,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
index e5341f8..0054224 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
@@ -890,3 +890,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
index e5341f8..0054224 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
@@ -890,3 +890,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
index b89ae52..3040f1d 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
@@ -890,3 +890,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
index 6c49ba0..e3e0597 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
@@ -1205,3 +1205,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif128 F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpif64x F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/unix/sysv/linux/or1k/libm.abilist b/sysdeps/unix/sysv/linux/or1k/libm.abilist
index 1e14a50..cd05986 100644
--- a/sysdeps/unix/sysv/linux/or1k/libm.abilist
+++ b/sysdeps/unix/sysv/linux/or1k/libm.abilist
@@ -799,3 +799,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
index 91f18d4..4b44d4a 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
@@ -1037,3 +1037,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
index 2dbca61..cd95cf0 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
@@ -1036,3 +1036,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
index f05fe49..74ea537 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
@@ -1030,3 +1030,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
index a482b28..765adfc 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
@@ -1368,6 +1368,7 @@ GLIBC_2.40 logp1f64x F
GLIBC_2.40 logp1l F
GLIBC_2.41 __cospiieee128 F
GLIBC_2.41 __sinpiieee128 F
+GLIBC_2.41 __tanpiieee128 F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F
@@ -1384,3 +1385,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif128 F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpif64x F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist
index 1df1635..273f0d0 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist
@@ -1084,3 +1084,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif128 F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpif64x F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist
index aea6a26..c5e3afe 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist
@@ -1181,3 +1181,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif128 F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpif64x F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
index 2c7511b..5615af2 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
@@ -1308,3 +1308,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif128 F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpif64x F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
index 1a5108d..88e6647 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
@@ -1308,3 +1308,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif128 F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpif64x F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libm.abilist b/sysdeps/unix/sysv/linux/sh/be/libm.abilist
index 158b524..6349d9f 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libm.abilist
@@ -890,3 +890,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libm.abilist b/sysdeps/unix/sysv/linux/sh/le/libm.abilist
index 158b524..6349d9f 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libm.abilist
@@ -890,3 +890,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
index 5436ebb..09cabc5 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
@@ -1315,3 +1315,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif128 F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpif64x F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
index b2bcba1..1ac1a53 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
@@ -1205,3 +1205,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif128 F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpif64x F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
index d1677b1..ebcb839 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
@@ -1238,3 +1238,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif128 F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpif64x F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
index c5b8668..5dfc308 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
@@ -1238,3 +1238,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
+GLIBC_2.41 tanpi F
+GLIBC_2.41 tanpif F
+GLIBC_2.41 tanpif128 F
+GLIBC_2.41 tanpif32 F
+GLIBC_2.41 tanpif32x F
+GLIBC_2.41 tanpif64 F
+GLIBC_2.41 tanpif64x F
+GLIBC_2.41 tanpil F
diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps
index 1653c5a..c09c81c 100644
--- a/sysdeps/x86_64/fpu/libm-test-ulps
+++ b/sysdeps/x86_64/fpu/libm-test-ulps
@@ -2262,6 +2262,30 @@ double: 1
Function: "tanh_vlen8":
double: 1
+Function: "tanpi":
+double: 2
+float: 2
+float128: 2
+ldouble: 2
+
+Function: "tanpi_downward":
+double: 2
+float: 3
+float128: 4
+ldouble: 4
+
+Function: "tanpi_towardzero":
+double: 2
+float: 3
+float128: 4
+ldouble: 4
+
+Function: "tanpi_upward":
+double: 2
+float: 4
+float128: 3
+ldouble: 4
+
Function: "tgamma":
double: 9
float128: 4