# 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 __LONG_DOUBLE_USES_FLOAT128 == 1
+# define TYPE_STR "float128"
+# define ULP_IDX ULP_FLT128
+# define ULP_I_IDX ULP_I_FLT128
#else
# define TYPE_STR "ldouble"
# define ULP_IDX ULP_LDBL