diff --git a/sysdeps/aarch64/fpu/math-use-builtins-ceil.h b/sysdeps/aarch64/fpu/math-use-builtins-ceil.h
new file mode 100644
index 0000000000..17d6452e51
--- /dev/null
+++ b/sysdeps/aarch64/fpu/math-use-builtins-ceil.h
@@ -0,0 +1,4 @@
+#define USE_CEIL_BUILTIN 1
+#define USE_CEILF_BUILTIN 1
+#define USE_CEILL_BUILTIN 0
+#define USE_CEILF128_BUILTIN 0
diff --git a/sysdeps/aarch64/fpu/math-use-builtins-floor.h b/sysdeps/aarch64/fpu/math-use-builtins-floor.h
new file mode 100644
index 0000000000..553c0674af
--- /dev/null
+++ b/sysdeps/aarch64/fpu/math-use-builtins-floor.h
@@ -0,0 +1,4 @@
+#define USE_FLOOR_BUILTIN 1
+#define USE_FLOORF_BUILTIN 1
+#define USE_FLOORL_BUILTIN 0
+#define USE_FLOORF128_BUILTIN 0
diff --git a/sysdeps/aarch64/fpu/math-use-builtins-fma.h b/sysdeps/aarch64/fpu/math-use-builtins-fma.h
new file mode 100644
index 0000000000..eede75aa41
--- /dev/null
+++ b/sysdeps/aarch64/fpu/math-use-builtins-fma.h
@@ -0,0 +1,4 @@
+#define USE_FMA_BUILTIN 1
+#define USE_FMAF_BUILTIN 1
+#define USE_FMAL_BUILTIN 0
+#define USE_FMAF128_BUILTIN 0
diff --git a/sysdeps/aarch64/fpu/math-use-builtins-nearbyint.h b/sysdeps/aarch64/fpu/math-use-builtins-nearbyint.h
new file mode 100644
index 0000000000..a2590c920f
--- /dev/null
+++ b/sysdeps/aarch64/fpu/math-use-builtins-nearbyint.h
@@ -0,0 +1,4 @@
+#define USE_NEARBYINT_BUILTIN 1
+#define USE_NEARBYINTF_BUILTIN 1
+#define USE_NEARBYINTL_BUILTIN 0
+#define USE_NEARBYINTF128_BUILTIN 0
diff --git a/sysdeps/aarch64/fpu/math-use-builtins-rint.h b/sysdeps/aarch64/fpu/math-use-builtins-rint.h
new file mode 100644
index 0000000000..45c3307692
--- /dev/null
+++ b/sysdeps/aarch64/fpu/math-use-builtins-rint.h
@@ -0,0 +1,4 @@
+#define USE_RINT_BUILTIN 1
+#define USE_RINTF_BUILTIN 1
+#define USE_RINTL_BUILTIN 0
+#define USE_RINTF128_BUILTIN 0
diff --git a/sysdeps/aarch64/fpu/math-use-builtins-round.h b/sysdeps/aarch64/fpu/math-use-builtins-round.h
new file mode 100644
index 0000000000..f6083d7d0a
--- /dev/null
+++ b/sysdeps/aarch64/fpu/math-use-builtins-round.h
@@ -0,0 +1,4 @@
+#define USE_ROUND_BUILTIN 1
+#define USE_ROUNDF_BUILTIN 1
+#define USE_ROUNDL_BUILTIN 0
+#define USE_ROUNDF128_BUILTIN 0
diff --git a/sysdeps/aarch64/fpu/math-use-builtins-sqrt.h b/sysdeps/aarch64/fpu/math-use-builtins-sqrt.h
new file mode 100644
index 0000000000..e94c915ba6
--- /dev/null
+++ b/sysdeps/aarch64/fpu/math-use-builtins-sqrt.h
@@ -0,0 +1,4 @@
+#define USE_SQRT_BUILTIN 1
+#define USE_SQRTF_BUILTIN 1
+#define USE_SQRTL_BUILTIN 0
+#define USE_SQRTF128_BUILTIN 0
diff --git a/sysdeps/aarch64/fpu/math-use-builtins-trunc.h b/sysdeps/aarch64/fpu/math-use-builtins-trunc.h
new file mode 100644
index 0000000000..4fc6da42b6
--- /dev/null
+++ b/sysdeps/aarch64/fpu/math-use-builtins-trunc.h
@@ -0,0 +1,4 @@
+#define USE_TRUNC_BUILTIN 1
+#define USE_TRUNCF_BUILTIN 1
+#define USE_TRUNCL_BUILTIN 0
+#define USE_TRUNCF128_BUILTIN 0
diff --git a/sysdeps/aarch64/fpu/math-use-builtins.h b/sysdeps/aarch64/fpu/math-use-builtins.h
deleted file mode 100644
index 50a1ba0db5..0000000000
--- a/sysdeps/aarch64/fpu/math-use-builtins.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* Using math gcc builtins instead of generic implementation.  aarch64 version.
-   Copyright (C) 2020 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <https://www.gnu.org/licenses/>.  */
-
-#ifndef MATH_USE_BUILTINS_H
-#define MATH_USE_BUILTINS_H	1
-
-#include <features.h> /* For __GNUC_PREREQ.  */
-
-/* Define these macros to 1 to use __builtin_xyz instead of the
-   generic implementation.  */
-#define USE_NEARBYINT_BUILTIN 1
-#define USE_NEARBYINTF_BUILTIN 1
-#define USE_NEARBYINTL_BUILTIN 0
-#define USE_NEARBYINTF128_BUILTIN 0
-
-#define USE_RINT_BUILTIN 1
-#define USE_RINTF_BUILTIN 1
-#define USE_RINTL_BUILTIN 0
-#define USE_RINTF128_BUILTIN 0
-
-#define USE_FLOOR_BUILTIN 1
-#define USE_FLOORF_BUILTIN 1
-#define USE_FLOORL_BUILTIN 0
-#define USE_FLOORF128_BUILTIN 0
-
-#define USE_CEIL_BUILTIN 1
-#define USE_CEILF_BUILTIN 1
-#define USE_CEILL_BUILTIN 0
-#define USE_CEILF128_BUILTIN 0
-
-#define USE_TRUNC_BUILTIN 1
-#define USE_TRUNCF_BUILTIN 1
-#define USE_TRUNCL_BUILTIN 0
-#define USE_TRUNCF128_BUILTIN 0
-
-#define USE_ROUND_BUILTIN 1
-#define USE_ROUNDF_BUILTIN 1
-#define USE_ROUNDL_BUILTIN 0
-#define USE_ROUNDF128_BUILTIN 0
-
-#define USE_COPYSIGNL_BUILTIN 1
-#if __GNUC_PREREQ (7, 0)
-# define USE_COPYSIGNF128_BUILTIN 1
-#else
-# define USE_COPYSIGNF128_BUILTIN 0
-#endif
-
-#define USE_SQRT_BUILTIN 1
-#define USE_SQRTF_BUILTIN 1
-
-#define USE_FMA_BUILTIN 1
-#define USE_FMAF_BUILTIN 1
-#define USE_FMAL_BUILTIN 0
-#define USE_FMAF128_BUILTIN 0
-
-#endif
diff --git a/sysdeps/generic/math-use-builtins-ceil.h b/sysdeps/generic/math-use-builtins-ceil.h
new file mode 100644
index 0000000000..0698033493
--- /dev/null
+++ b/sysdeps/generic/math-use-builtins-ceil.h
@@ -0,0 +1,4 @@
+#define USE_CEIL_BUILTIN 0
+#define USE_CEILF_BUILTIN 0
+#define USE_CEILL_BUILTIN 0
+#define USE_CEILF128_BUILTIN 0
diff --git a/sysdeps/generic/math-use-builtins-copysign.h b/sysdeps/generic/math-use-builtins-copysign.h
new file mode 100644
index 0000000000..3cf9bbe1fd
--- /dev/null
+++ b/sysdeps/generic/math-use-builtins-copysign.h
@@ -0,0 +1,7 @@
+/* Generic implementations for float and double always use the __builtin.  */
+#define USE_COPYSIGNL_BUILTIN 1
+#if __GNUC_PREREQ (7, 0)
+# define USE_COPYSIGNF128_BUILTIN 1
+#else
+# define USE_COPYSIGNF128_BUILTIN 0
+#endif
diff --git a/sysdeps/generic/math-use-builtins-floor.h b/sysdeps/generic/math-use-builtins-floor.h
new file mode 100644
index 0000000000..b0858d9eda
--- /dev/null
+++ b/sysdeps/generic/math-use-builtins-floor.h
@@ -0,0 +1,4 @@
+#define USE_FLOOR_BUILTIN 0
+#define USE_FLOORF_BUILTIN 0
+#define USE_FLOORL_BUILTIN 0
+#define USE_FLOORF128_BUILTIN 0
diff --git a/sysdeps/generic/math-use-builtins-fma.h b/sysdeps/generic/math-use-builtins-fma.h
new file mode 100644
index 0000000000..51dcb6a240
--- /dev/null
+++ b/sysdeps/generic/math-use-builtins-fma.h
@@ -0,0 +1,4 @@
+#define USE_FMA_BUILTIN 0
+#define USE_FMAF_BUILTIN 0
+#define USE_FMAL_BUILTIN 0
+#define USE_FMAF128_BUILTIN 0
diff --git a/sysdeps/generic/math-use-builtins-nearbyint.h b/sysdeps/generic/math-use-builtins-nearbyint.h
new file mode 100644
index 0000000000..ab453532b0
--- /dev/null
+++ b/sysdeps/generic/math-use-builtins-nearbyint.h
@@ -0,0 +1,4 @@
+#define USE_NEARBYINT_BUILTIN 0
+#define USE_NEARBYINTF_BUILTIN 0
+#define USE_NEARBYINTL_BUILTIN 0
+#define USE_NEARBYINTF128_BUILTIN 0
diff --git a/sysdeps/generic/math-use-builtins-rint.h b/sysdeps/generic/math-use-builtins-rint.h
new file mode 100644
index 0000000000..24793757f6
--- /dev/null
+++ b/sysdeps/generic/math-use-builtins-rint.h
@@ -0,0 +1,4 @@
+#define USE_RINT_BUILTIN 0
+#define USE_RINTF_BUILTIN 0
+#define USE_RINTL_BUILTIN 0
+#define USE_RINTF128_BUILTIN 0
diff --git a/sysdeps/generic/math-use-builtins-round.h b/sysdeps/generic/math-use-builtins-round.h
new file mode 100644
index 0000000000..de2dce1f5b
--- /dev/null
+++ b/sysdeps/generic/math-use-builtins-round.h
@@ -0,0 +1,4 @@
+#define USE_ROUND_BUILTIN 0
+#define USE_ROUNDF_BUILTIN 0
+#define USE_ROUNDL_BUILTIN 0
+#define USE_ROUNDF128_BUILTIN 0
diff --git a/sysdeps/generic/math-use-builtins-sqrt.h b/sysdeps/generic/math-use-builtins-sqrt.h
new file mode 100644
index 0000000000..7b4fed380f
--- /dev/null
+++ b/sysdeps/generic/math-use-builtins-sqrt.h
@@ -0,0 +1,4 @@
+#define USE_SQRT_BUILTIN 0
+#define USE_SQRTF_BUILTIN 0
+#define USE_SQRTL_BUILTIN 0
+#define USE_SQRTF128_BUILTIN 0
diff --git a/sysdeps/generic/math-use-builtins-trunc.h b/sysdeps/generic/math-use-builtins-trunc.h
new file mode 100644
index 0000000000..59e6d97d13
--- /dev/null
+++ b/sysdeps/generic/math-use-builtins-trunc.h
@@ -0,0 +1,4 @@
+#define USE_TRUNC_BUILTIN 0
+#define USE_TRUNCF_BUILTIN 0
+#define USE_TRUNCL_BUILTIN 0
+#define USE_TRUNCF128_BUILTIN 0
diff --git a/sysdeps/generic/math-use-builtins.h b/sysdeps/generic/math-use-builtins.h
index cf25ed8a21..78d6146762 100644
--- a/sysdeps/generic/math-use-builtins.h
+++ b/sysdeps/generic/math-use-builtins.h
@@ -23,49 +23,15 @@
 
 /* Define these macros to 1 to use __builtin_xyz instead of the
    generic implementation.  */
-#define USE_NEARBYINT_BUILTIN 0
-#define USE_NEARBYINTF_BUILTIN 0
-#define USE_NEARBYINTL_BUILTIN 0
-#define USE_NEARBYINTF128_BUILTIN 0
 
-#define USE_RINT_BUILTIN 0
-#define USE_RINTF_BUILTIN 0
-#define USE_RINTL_BUILTIN 0
-#define USE_RINTF128_BUILTIN 0
-
-#define USE_FLOOR_BUILTIN 0
-#define USE_FLOORF_BUILTIN 0
-#define USE_FLOORL_BUILTIN 0
-#define USE_FLOORF128_BUILTIN 0
-
-#define USE_CEIL_BUILTIN 0
-#define USE_CEILF_BUILTIN 0
-#define USE_CEILL_BUILTIN 0
-#define USE_CEILF128_BUILTIN 0
-
-#define USE_TRUNC_BUILTIN 0
-#define USE_TRUNCF_BUILTIN 0
-#define USE_TRUNCL_BUILTIN 0
-#define USE_TRUNCF128_BUILTIN 0
-
-#define USE_ROUND_BUILTIN 0
-#define USE_ROUNDF_BUILTIN 0
-#define USE_ROUNDL_BUILTIN 0
-#define USE_ROUNDF128_BUILTIN 0
-
-#define USE_COPYSIGNL_BUILTIN 1
-#if __GNUC_PREREQ (7, 0)
-# define USE_COPYSIGNF128_BUILTIN 1
-#else
-# define USE_COPYSIGNF128_BUILTIN 0
-#endif
-
-#define USE_SQRT_BUILTIN 0
-#define USE_SQRTF_BUILTIN 0
-
-#define USE_FMA_BUILTIN 0
-#define USE_FMAF_BUILTIN 0
-#define USE_FMAL_BUILTIN 0
-#define USE_FMAF128_BUILTIN 0
-
-#endif /* math-use-builtins.h */
+#include <math-use-builtins-nearbyint.h>
+#include <math-use-builtins-rint.h>
+#include <math-use-builtins-floor.h>
+#include <math-use-builtins-ceil.h>
+#include <math-use-builtins-trunc.h>
+#include <math-use-builtins-round.h>
+#include <math-use-builtins-copysign.h>
+#include <math-use-builtins-sqrt.h>
+#include <math-use-builtins-fma.h>
+
+#endif /* MATH_USE_BUILTINS_H  */
diff --git a/sysdeps/powerpc/fpu/math-use-builtins-fma.h b/sysdeps/powerpc/fpu/math-use-builtins-fma.h
new file mode 100644
index 0000000000..5652e55185
--- /dev/null
+++ b/sysdeps/powerpc/fpu/math-use-builtins-fma.h
@@ -0,0 +1,9 @@
+#define USE_FMA_BUILTIN 1
+#define USE_FMAF_BUILTIN 1
+#define USE_FMAL_BUILTIN 0
+/* This is not available for P8 or BE targets.  */
+#ifdef __FP_FAST_FMAF128
+# define USE_FMAF128_BUILTIN 1
+#else
+# define USE_FMAF128_BUILTIN 0
+#endif
diff --git a/sysdeps/powerpc/fpu/math-use-builtins.h b/sysdeps/powerpc/fpu/math-use-builtins.h
deleted file mode 100644
index 72e28ec9cc..0000000000
--- a/sysdeps/powerpc/fpu/math-use-builtins.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/* Using math gcc builtins instead of generic implementation.  PowerPC version.
-   Copyright (C) 2019-2020 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <https://www.gnu.org/licenses/>.  */
-
-#ifndef MATH_USE_BUILTINS_H
-#define MATH_USE_BUILTINS_H	1
-
-#include <features.h> /* For __GNUC_PREREQ.  */
-
-/* Define these macros to 1 to use __builtin_xyz instead of the
-   generic implementation.  */
-#define USE_NEARBYINT_BUILTIN 0
-#define USE_NEARBYINTF_BUILTIN 0
-#define USE_NEARBYINTL_BUILTIN 0
-#define USE_NEARBYINTF128_BUILTIN 0
-
-#define USE_RINT_BUILTIN 0
-#define USE_RINTF_BUILTIN 0
-#define USE_RINTL_BUILTIN 0
-#define USE_RINTF128_BUILTIN 0
-
-#define USE_FLOOR_BUILTIN 0
-#define USE_FLOORF_BUILTIN 0
-#define USE_FLOORL_BUILTIN 0
-#define USE_FLOORF128_BUILTIN 0
-
-#define USE_CEIL_BUILTIN 0
-#define USE_CEILF_BUILTIN 0
-#define USE_CEILL_BUILTIN 0
-#define USE_CEILF128_BUILTIN 0
-
-#define USE_TRUNC_BUILTIN 0
-#define USE_TRUNCF_BUILTIN 0
-#define USE_TRUNCL_BUILTIN 0
-#define USE_TRUNCF128_BUILTIN 0
-
-#define USE_ROUND_BUILTIN 0
-#define USE_ROUNDF_BUILTIN 0
-#define USE_ROUNDL_BUILTIN 0
-#define USE_ROUNDF128_BUILTIN 0
-
-#define USE_COPYSIGNL_BUILTIN 1
-#if __GNUC_PREREQ (7, 0)
-# define USE_COPYSIGNF128_BUILTIN 1
-#else
-# define USE_COPYSIGNF128_BUILTIN 0
-#endif
-
-#define USE_SQRT_BUILTIN 0
-#define USE_SQRTF_BUILTIN 0
-
-#define USE_FMA_BUILTIN 1
-#define USE_FMAF_BUILTIN 1
-#define USE_FMAL_BUILTIN 0
-
-/* This is not available for P8 or BE targets.  */
-#ifdef __FP_FAST_FMAF128
-# define USE_FMAF128_BUILTIN 1
-#else
-# define USE_FMAF128_BUILTIN 0
-#endif
-
-#endif
diff --git a/sysdeps/s390/fpu/math-use-builtins-ceil.h b/sysdeps/s390/fpu/math-use-builtins-ceil.h
new file mode 100644
index 0000000000..bec147a17f
--- /dev/null
+++ b/sysdeps/s390/fpu/math-use-builtins-ceil.h
@@ -0,0 +1,15 @@
+#ifdef HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT
+# define USE_CEIL_BUILTIN 1
+# define USE_CEILF_BUILTIN 1
+# define USE_CEILL_BUILTIN 1
+# if __GNUC_PREREQ (8, 0)
+#  define USE_CEILF128_BUILTIN 1
+# else
+#  define USE_CEILF128_BUILTIN 0
+# endif
+#else
+# define USE_CEIL_BUILTIN 0
+# define USE_CEILF_BUILTIN 0
+# define USE_CEILL_BUILTIN 0
+# define USE_CEILF128_BUILTIN 0
+#endif
diff --git a/sysdeps/s390/fpu/math-use-builtins-floor.h b/sysdeps/s390/fpu/math-use-builtins-floor.h
new file mode 100644
index 0000000000..6c034e03bb
--- /dev/null
+++ b/sysdeps/s390/fpu/math-use-builtins-floor.h
@@ -0,0 +1,15 @@
+#ifdef HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT
+# define USE_FLOOR_BUILTIN 1
+# define USE_FLOORF_BUILTIN 1
+# define USE_FLOORL_BUILTIN 1
+# if __GNUC_PREREQ (8, 0)
+#  define USE_FLOORF128_BUILTIN 1
+# else
+#  define USE_FLOORF128_BUILTIN 0
+# endif
+#else
+# define USE_FLOOR_BUILTIN 0
+# define USE_FLOORF_BUILTIN 0
+# define USE_FLOORL_BUILTIN 0
+# define USE_FLOORF128_BUILTIN 0
+#endif
diff --git a/sysdeps/s390/fpu/math-use-builtins-nearbyint.h b/sysdeps/s390/fpu/math-use-builtins-nearbyint.h
new file mode 100644
index 0000000000..2f3936e362
--- /dev/null
+++ b/sysdeps/s390/fpu/math-use-builtins-nearbyint.h
@@ -0,0 +1,15 @@
+#ifdef HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT
+# define USE_NEARBYINT_BUILTIN 1
+# define USE_NEARBYINTF_BUILTIN 1
+# define USE_NEARBYINTL_BUILTIN 1
+# if __GNUC_PREREQ (8, 0)
+#  define USE_NEARBYINTF128_BUILTIN 1
+# else
+#  define USE_NEARBYINTF128_BUILTIN 0
+# endif
+#else
+# define USE_NEARBYINT_BUILTIN 0
+# define USE_NEARBYINTF_BUILTIN 0
+# define USE_NEARBYINTL_BUILTIN 0
+# define USE_NEARBYINTF128_BUILTIN 0
+#endif
diff --git a/sysdeps/s390/fpu/math-use-builtins-rint.h b/sysdeps/s390/fpu/math-use-builtins-rint.h
new file mode 100644
index 0000000000..2ba16eeaec
--- /dev/null
+++ b/sysdeps/s390/fpu/math-use-builtins-rint.h
@@ -0,0 +1,15 @@
+#ifdef HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT
+# define USE_RINT_BUILTIN 1
+# define USE_RINTF_BUILTIN 1
+# define USE_RINTL_BUILTIN 1
+# if __GNUC_PREREQ (8, 0)
+#  define USE_RINTF128_BUILTIN 1
+# else
+#  define USE_RINTF128_BUILTIN 0
+# endif
+#else
+# define USE_RINT_BUILTIN 0
+# define USE_RINTF_BUILTIN 0
+# define USE_RINTL_BUILTIN 0
+# define USE_RINTF128_BUILTIN 0
+#endif
diff --git a/sysdeps/s390/fpu/math-use-builtins-round.h b/sysdeps/s390/fpu/math-use-builtins-round.h
new file mode 100644
index 0000000000..d92daa9654
--- /dev/null
+++ b/sysdeps/s390/fpu/math-use-builtins-round.h
@@ -0,0 +1,15 @@
+#ifdef HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT
+# define USE_ROUND_BUILTIN 1
+# define USE_ROUNDF_BUILTIN 1
+# define USE_ROUNDL_BUILTIN 1
+# if __GNUC_PREREQ (8, 0)
+#  define USE_ROUNDF128_BUILTIN 1
+# else
+#  define USE_ROUNDF128_BUILTIN 0
+# endif
+#else
+# define USE_ROUND_BUILTIN 0
+# define USE_ROUNDF_BUILTIN 0
+# define USE_ROUNDL_BUILTIN 0
+# define USE_ROUNDF128_BUILTIN 0
+#endif
diff --git a/sysdeps/s390/fpu/math-use-builtins-trunc.h b/sysdeps/s390/fpu/math-use-builtins-trunc.h
new file mode 100644
index 0000000000..9b5b02de41
--- /dev/null
+++ b/sysdeps/s390/fpu/math-use-builtins-trunc.h
@@ -0,0 +1,15 @@
+#ifdef HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT
+# define USE_TRUNC_BUILTIN 1
+# define USE_TRUNCF_BUILTIN 1
+# define USE_TRUNCL_BUILTIN 1
+# if __GNUC_PREREQ (8, 0)
+#  define USE_TRUNCF128_BUILTIN 1
+# else
+#  define USE_TRUNCF128_BUILTIN 0
+# endif
+#else
+# define USE_TRUNC_BUILTIN 0
+# define USE_TRUNCF_BUILTIN 0
+# define USE_TRUNCL_BUILTIN 0
+# define USE_TRUNCF128_BUILTIN 0
+#endif
diff --git a/sysdeps/s390/fpu/math-use-builtins.h b/sysdeps/s390/fpu/math-use-builtins.h
deleted file mode 100644
index 3a80f86b2e..0000000000
--- a/sysdeps/s390/fpu/math-use-builtins.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/* Using math gcc builtins instead of generic implementation.  s390/s390x version.
-   Copyright (C) 2019-2020 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <https://www.gnu.org/licenses/>.  */
-
-#ifndef MATH_USE_BUILTINS_S390_H
-#define MATH_USE_BUILTINS_S390_H	1
-
-#ifdef HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT
-
-# include <features.h> /* For __GNUC_PREREQ.  */
-
-/* GCC emits the z196 zarch "load fp integer" instructions for these
-   builtins if build with at least --march=z196 -mzarch.  Otherwise a
-   function call to libc is emitted.  */
-# define USE_NEARBYINT_BUILTIN 1
-# define USE_NEARBYINTF_BUILTIN 1
-# define USE_NEARBYINTL_BUILTIN 1
-
-# define USE_RINT_BUILTIN 1
-# define USE_RINTF_BUILTIN 1
-# define USE_RINTL_BUILTIN 1
-
-# define USE_FLOOR_BUILTIN 1
-# define USE_FLOORF_BUILTIN 1
-# define USE_FLOORL_BUILTIN 1
-
-# define USE_CEIL_BUILTIN 1
-# define USE_CEILF_BUILTIN 1
-# define USE_CEILL_BUILTIN 1
-
-# define USE_TRUNC_BUILTIN 1
-# define USE_TRUNCF_BUILTIN 1
-# define USE_TRUNCL_BUILTIN 1
-
-# define USE_ROUND_BUILTIN 1
-# define USE_ROUNDF_BUILTIN 1
-# define USE_ROUNDL_BUILTIN 1
-
-# if __GNUC_PREREQ (8, 0)
-#  define USE_NEARBYINTF128_BUILTIN 1
-#  define USE_RINTF128_BUILTIN 1
-#  define USE_FLOORF128_BUILTIN 1
-#  define USE_CEILF128_BUILTIN 1
-#  define USE_TRUNCF128_BUILTIN 1
-#  define USE_ROUNDF128_BUILTIN 1
-# else
-#  define USE_NEARBYINTF128_BUILTIN 0
-#  define USE_RINTF128_BUILTIN 0
-#  define USE_FLOORF128_BUILTIN 0
-#  define USE_CEILF128_BUILTIN 0
-#  define USE_TRUNCF128_BUILTIN 0
-#  define USE_ROUNDF128_BUILTIN 0
-# endif
-
-#else
-
-/* Disable the builtins if we do not have the z196 zarch instructions.  */
-# define USE_NEARBYINT_BUILTIN 0
-# define USE_NEARBYINTF_BUILTIN 0
-# define USE_NEARBYINTL_BUILTIN 0
-# define USE_NEARBYINTF128_BUILTIN 0
-
-# define USE_RINT_BUILTIN 0
-# define USE_RINTF_BUILTIN 0
-# define USE_RINTL_BUILTIN 0
-# define USE_RINTF128_BUILTIN 0
-
-# define USE_FLOOR_BUILTIN 0
-# define USE_FLOORF_BUILTIN 0
-# define USE_FLOORL_BUILTIN 0
-# define USE_FLOORF128_BUILTIN 0
-
-# define USE_CEIL_BUILTIN 0
-# define USE_CEILF_BUILTIN 0
-# define USE_CEILL_BUILTIN 0
-# define USE_CEILF128_BUILTIN 0
-
-# define USE_TRUNC_BUILTIN 0
-# define USE_TRUNCF_BUILTIN 0
-# define USE_TRUNCL_BUILTIN 0
-# define USE_TRUNCF128_BUILTIN 0
-
-# define USE_ROUND_BUILTIN 0
-# define USE_ROUNDF_BUILTIN 0
-# define USE_ROUNDL_BUILTIN 0
-# define USE_ROUNDF128_BUILTIN 0
-
-#endif /* ! HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT  */
-
-#define USE_COPYSIGNL_BUILTIN 1
-#if __GNUC_PREREQ (7, 0)
-# define USE_COPYSIGNF128_BUILTIN 1
-#else
-# define USE_COPYSIGNF128_BUILTIN 0
-#endif
-
-#define USE_SQRT_BUILTIN 0
-#define USE_SQRTF_BUILTIN 0
-
-#define USE_FMA_BUILTIN 0
-#define USE_FMAF_BUILTIN 0
-#define USE_FMAL_BUILTIN 0
-#define USE_FMAF128_BUILTIN 0
-
-#endif /* math-use-builtins.h */
