/* Common definitions for libm tests for long double.
- Copyright (C) 1997-2018 Free Software Foundation, Inc.
+ Copyright (C) 1997-2021 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
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#include <float.h>
#if LDBL_MANT_DIG == DBL_MANT_DIG
# define TYPE_STR "double"
# define ULP_IDX ULP_DBL
-# define ULP_I_IDX ULP_I_DBL
+/* On architectures which redirect long double to _Float128 ABI, we must
+ choose the float128 ulps. Similarly, on such architectures, the ABI
+ used may be dependent on how the compiler was invoked. */
+#elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
+# define TYPE_STR "float128"
+# define ULP_IDX ULP_FLT128
#else
# define TYPE_STR "ldouble"
# define ULP_IDX ULP_LDBL
-# define ULP_I_IDX ULP_I_LDBL
#endif
#define LIT(x) (x ## L)
#define LITM(x) x ## l