diff options
Diffstat (limited to 'sysdeps/mips')
-rw-r--r-- | sysdeps/mips/fpu/fenv_private.h (renamed from sysdeps/mips/math_private.h) | 108 |
1 files changed, 52 insertions, 56 deletions
diff --git a/sysdeps/mips/math_private.h b/sysdeps/mips/fpu/fenv_private.h index 01ae8b18fd..ae6f8eb6a8 100644 --- a/sysdeps/mips/math_private.h +++ b/sysdeps/mips/fpu/fenv_private.h @@ -16,22 +16,20 @@ License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ -#ifndef MIPS_MATH_PRIVATE_H -#define MIPS_MATH_PRIVATE_H 1 +#ifndef MIPS_FENV_PRIVATE_H +#define MIPS_FENV_PRIVATE_H 1 /* Inline functions to speed up the math library implementation. The - default versions of these routines are in generic/math_private.h + default versions of these routines are in generic/fenv_private.h and call fesetround, feholdexcept, etc. These routines use inlined code instead. */ -#ifdef __mips_hard_float +#include <fenv.h> +#include <fenv_libc.h> +#include <fpu_control.h> -# include <fenv.h> -# include <fenv_libc.h> -# include <fpu_control.h> - -# define _FPU_MASK_ALL (_FPU_MASK_V | _FPU_MASK_Z | _FPU_MASK_O \ - |_FPU_MASK_U | _FPU_MASK_I | FE_ALL_EXCEPT) +#define _FPU_MASK_ALL (_FPU_MASK_V | _FPU_MASK_Z | _FPU_MASK_O \ + |_FPU_MASK_U | _FPU_MASK_I | FE_ALL_EXCEPT) static __always_inline void libc_feholdexcept_mips (fenv_t *envp) @@ -46,9 +44,9 @@ libc_feholdexcept_mips (fenv_t *envp) cw &= ~(_FPU_MASK_ALL); _FPU_SETCW (cw); } -# define libc_feholdexcept libc_feholdexcept_mips -# define libc_feholdexceptf libc_feholdexcept_mips -# define libc_feholdexceptl libc_feholdexcept_mips +#define libc_feholdexcept libc_feholdexcept_mips +#define libc_feholdexceptf libc_feholdexcept_mips +#define libc_feholdexceptl libc_feholdexcept_mips static __always_inline void libc_fesetround_mips (int round) @@ -65,9 +63,9 @@ libc_fesetround_mips (int round) /* Set new state. */ _FPU_SETCW (cw); } -# define libc_fesetround libc_fesetround_mips -# define libc_fesetroundf libc_fesetround_mips -# define libc_fesetroundl libc_fesetround_mips +#define libc_fesetround libc_fesetround_mips +#define libc_fesetroundf libc_fesetround_mips +#define libc_fesetroundl libc_fesetround_mips static __always_inline void libc_feholdexcept_setround_mips (fenv_t *envp, int round) @@ -88,13 +86,13 @@ libc_feholdexcept_setround_mips (fenv_t *envp, int round) /* Set new state. */ _FPU_SETCW (cw); } -# define libc_feholdexcept_setround libc_feholdexcept_setround_mips -# define libc_feholdexcept_setroundf libc_feholdexcept_setround_mips -# define libc_feholdexcept_setroundl libc_feholdexcept_setround_mips +#define libc_feholdexcept_setround libc_feholdexcept_setround_mips +#define libc_feholdexcept_setroundf libc_feholdexcept_setround_mips +#define libc_feholdexcept_setroundl libc_feholdexcept_setround_mips -# define libc_feholdsetround libc_feholdexcept_setround_mips -# define libc_feholdsetroundf libc_feholdexcept_setround_mips -# define libc_feholdsetroundl libc_feholdexcept_setround_mips +#define libc_feholdsetround libc_feholdexcept_setround_mips +#define libc_feholdsetroundf libc_feholdexcept_setround_mips +#define libc_feholdsetroundl libc_feholdexcept_setround_mips static __always_inline void libc_fesetenv_mips (fenv_t *envp) @@ -106,9 +104,9 @@ libc_fesetenv_mips (fenv_t *envp) _FPU_SETCW (envp->__fp_control_register); } -# define libc_fesetenv libc_fesetenv_mips -# define libc_fesetenvf libc_fesetenv_mips -# define libc_fesetenvl libc_fesetenv_mips +#define libc_fesetenv libc_fesetenv_mips +#define libc_fesetenvf libc_fesetenv_mips +#define libc_fesetenvl libc_fesetenv_mips static __always_inline int libc_feupdateenv_test_mips (fenv_t *envp, int excepts) @@ -131,22 +129,22 @@ libc_feupdateenv_test_mips (fenv_t *envp, int excepts) return cw & excepts & FE_ALL_EXCEPT; } -# define libc_feupdateenv_test libc_feupdateenv_test_mips -# define libc_feupdateenv_testf libc_feupdateenv_test_mips -# define libc_feupdateenv_testl libc_feupdateenv_test_mips +#define libc_feupdateenv_test libc_feupdateenv_test_mips +#define libc_feupdateenv_testf libc_feupdateenv_test_mips +#define libc_feupdateenv_testl libc_feupdateenv_test_mips static __always_inline void libc_feupdateenv_mips (fenv_t *envp) { libc_feupdateenv_test_mips (envp, 0); } -# define libc_feupdateenv libc_feupdateenv_mips -# define libc_feupdateenvf libc_feupdateenv_mips -# define libc_feupdateenvl libc_feupdateenv_mips +#define libc_feupdateenv libc_feupdateenv_mips +#define libc_feupdateenvf libc_feupdateenv_mips +#define libc_feupdateenvl libc_feupdateenv_mips -# define libc_feresetround libc_feupdateenv_mips -# define libc_feresetroundf libc_feupdateenv_mips -# define libc_feresetroundl libc_feupdateenv_mips +#define libc_feresetround libc_feupdateenv_mips +#define libc_feresetroundf libc_feupdateenv_mips +#define libc_feresetroundl libc_feupdateenv_mips static __always_inline int libc_fetestexcept_mips (int excepts) @@ -158,12 +156,12 @@ libc_fetestexcept_mips (int excepts) return cw & excepts & FE_ALL_EXCEPT; } -# define libc_fetestexcept libc_fetestexcept_mips -# define libc_fetestexceptf libc_fetestexcept_mips -# define libc_fetestexceptl libc_fetestexcept_mips +#define libc_fetestexcept libc_fetestexcept_mips +#define libc_fetestexceptf libc_fetestexcept_mips +#define libc_fetestexceptl libc_fetestexcept_mips /* Enable support for rounding mode context. */ -# define HAVE_RM_CTX 1 +#define HAVE_RM_CTX 1 static __always_inline void libc_feholdexcept_setround_mips_ctx (struct rm_ctx *ctx, int round) @@ -188,18 +186,18 @@ libc_feholdexcept_setround_mips_ctx (struct rm_ctx *ctx, int round) else ctx->updated_status = false; } -# define libc_feholdexcept_setround_ctx libc_feholdexcept_setround_mips_ctx -# define libc_feholdexcept_setroundf_ctx libc_feholdexcept_setround_mips_ctx -# define libc_feholdexcept_setroundl_ctx libc_feholdexcept_setround_mips_ctx +#define libc_feholdexcept_setround_ctx libc_feholdexcept_setround_mips_ctx +#define libc_feholdexcept_setroundf_ctx libc_feholdexcept_setround_mips_ctx +#define libc_feholdexcept_setroundl_ctx libc_feholdexcept_setround_mips_ctx static __always_inline void libc_fesetenv_mips_ctx (struct rm_ctx *ctx) { libc_fesetenv_mips (&ctx->env); } -# define libc_fesetenv_ctx libc_fesetenv_mips_ctx -# define libc_fesetenvf_ctx libc_fesetenv_mips_ctx -# define libc_fesetenvl_ctx libc_fesetenv_mips_ctx +#define libc_fesetenv_ctx libc_fesetenv_mips_ctx +#define libc_fesetenvf_ctx libc_fesetenv_mips_ctx +#define libc_fesetenvl_ctx libc_fesetenv_mips_ctx static __always_inline void libc_feupdateenv_mips_ctx (struct rm_ctx *ctx) @@ -207,12 +205,12 @@ libc_feupdateenv_mips_ctx (struct rm_ctx *ctx) if (__glibc_unlikely (ctx->updated_status)) libc_feupdateenv_test_mips (&ctx->env, 0); } -# define libc_feupdateenv_ctx libc_feupdateenv_mips_ctx -# define libc_feupdateenvf_ctx libc_feupdateenv_mips_ctx -# define libc_feupdateenvl_ctx libc_feupdateenv_mips_ctx -# define libc_feresetround_ctx libc_feupdateenv_mips_ctx -# define libc_feresetroundf_ctx libc_feupdateenv_mips_ctx -# define libc_feresetroundl_ctx libc_feupdateenv_mips_ctx +#define libc_feupdateenv_ctx libc_feupdateenv_mips_ctx +#define libc_feupdateenvf_ctx libc_feupdateenv_mips_ctx +#define libc_feupdateenvl_ctx libc_feupdateenv_mips_ctx +#define libc_feresetround_ctx libc_feupdateenv_mips_ctx +#define libc_feresetroundf_ctx libc_feupdateenv_mips_ctx +#define libc_feresetroundl_ctx libc_feupdateenv_mips_ctx static __always_inline void libc_feholdsetround_mips_ctx (struct rm_ctx *ctx, int round) @@ -234,12 +232,10 @@ libc_feholdsetround_mips_ctx (struct rm_ctx *ctx, int round) else ctx->updated_status = false; } -# define libc_feholdsetround_ctx libc_feholdsetround_mips_ctx -# define libc_feholdsetroundf_ctx libc_feholdsetround_mips_ctx -# define libc_feholdsetroundl_ctx libc_feholdsetround_mips_ctx - -#endif +#define libc_feholdsetround_ctx libc_feholdsetround_mips_ctx +#define libc_feholdsetroundf_ctx libc_feholdsetround_mips_ctx +#define libc_feholdsetroundl_ctx libc_feholdsetround_mips_ctx -#include_next <math_private.h> +#include_next <fenv_private.h> #endif |