diff options
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/i386/fpu/fenv_private.h | 2 | ||||
-rw-r--r-- | sysdeps/ieee754/float128/float128_private.h | 17 |
2 files changed, 19 insertions, 0 deletions
diff --git a/sysdeps/i386/fpu/fenv_private.h b/sysdeps/i386/fpu/fenv_private.h index 38fd0b92b5..a258f48e07 100644 --- a/sysdeps/i386/fpu/fenv_private.h +++ b/sysdeps/i386/fpu/fenv_private.h @@ -337,6 +337,8 @@ libc_feresetround_387 (fenv_t *e) x86_64, so that must be set for float128 computations. */ # define SET_RESTORE_ROUNDF128(RM) \ SET_RESTORE_ROUND_GENERIC (RM, libc_feholdsetround_sse, libc_feresetround_sse) +# define libc_feholdexcept_setroundf128 libc_feholdexcept_setround_sse +# define libc_feupdateenv_testf128 libc_feupdateenv_test_sse #endif /* We have support for rounding mode context. */ diff --git a/sysdeps/ieee754/float128/float128_private.h b/sysdeps/ieee754/float128/float128_private.h index c9d9924169..d0d41c3cef 100644 --- a/sysdeps/ieee754/float128/float128_private.h +++ b/sysdeps/ieee754/float128/float128_private.h @@ -54,6 +54,16 @@ # define SET_RESTORE_ROUNDL(RM) SET_RESTORE_ROUNDF128 (RM) #endif +#ifdef libc_feholdexcept_setroundf128 +# undef libc_feholdexcept_setroundl +# define libc_feholdexcept_setroundl(ENV, RM) \ + libc_feholdexcept_setroundf128 (ENV, RM) +#endif + +#ifdef libc_feupdateenv_testf128 +# undef libc_feupdateenv_testl +# define libc_feupdateenv_testl(ENV, EX) libc_feupdateenv_testf128 (ENV, EX) +#endif /* misc macros from the header below. */ #include <fix-fp-int-convert-overflow.h> @@ -122,6 +132,13 @@ #define libm_alias_ldouble_r(from, to, r) libm_alias_float128_r (from, to, r) +#include <math/math-narrow.h> +#undef libm_alias_float_ldouble +#define libm_alias_float_ldouble(func) libm_alias_float32_float128 (func) +#undef libm_alias_double_ldouble +#define libm_alias_double_ldouble(func) libm_alias_float64_float128 (func) + + /* IEEE function renames. */ #define __ieee754_acoshl __ieee754_acoshf128 #define __ieee754_acosl __ieee754_acosf128 |