diff options
Diffstat (limited to 'sysdeps')
28 files changed, 181 insertions, 312 deletions
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 0000000..17d6452 --- /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 0000000..553c067 --- /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 0000000..eede75a --- /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 0000000..a2590c9 --- /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 0000000..45c3307 --- /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 0000000..f6083d7 --- /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 0000000..e94c915 --- /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 0000000..4fc6da4 --- /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 50a1ba0..0000000 --- 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 0000000..0698033 --- /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 0000000..b774931 --- /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 0000000..b0858d9 --- /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 0000000..51dcb6a --- /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 0000000..ab45353 --- /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 0000000..2479375 --- /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 0000000..de2dce1 --- /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 0000000..7b4fed3 --- /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 0000000..59e6d97 --- /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 cf25ed8..78d6146 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 0000000..5652e55 --- /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 72e28ec..0000000 --- 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 0000000..bec147a --- /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 0000000..6c034e0 --- /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 0000000..2f3936e --- /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 0000000..2ba16ee --- /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 0000000..d92daa9 --- /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 0000000..9b5b02d --- /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 3a80f86..0000000 --- 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 */ |