diff options
Diffstat (limited to 'sysdeps/aarch64/fpu/math_private.h')
-rw-r--r-- | sysdeps/aarch64/fpu/math_private.h | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/sysdeps/aarch64/fpu/math_private.h b/sysdeps/aarch64/fpu/math_private.h index 1f02ddb05a..fd8eb1fb56 100644 --- a/sysdeps/aarch64/fpu/math_private.h +++ b/sysdeps/aarch64/fpu/math_private.h @@ -1,5 +1,5 @@ /* Private floating point rounding and exceptions handling. AArch64 version. - Copyright (C) 2014-2015 Free Software Foundation, Inc. + Copyright (C) 2014-2016 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 @@ -252,6 +252,7 @@ libc_feholdsetround_aarch64_ctx (struct rm_ctx *ctx, int r) int round; _FPU_GETCW (fpcr); + ctx->env.__fpcr = fpcr; /* Check whether rounding modes are different. */ round = (fpcr ^ r) & _FPU_FPCR_RM_MASK; @@ -259,10 +260,7 @@ libc_feholdsetround_aarch64_ctx (struct rm_ctx *ctx, int r) /* Set the rounding mode if changed. */ if (__glibc_unlikely (round != 0)) - { - ctx->env.__fpcr = fpcr; - _FPU_SETCW (fpcr ^ round); - } + _FPU_SETCW (fpcr ^ round); } #define libc_feholdsetround_ctx libc_feholdsetround_aarch64_ctx @@ -290,6 +288,7 @@ libc_feholdsetround_noex_aarch64_ctx (struct rm_ctx *ctx, int r) _FPU_GETCW (fpcr); _FPU_GETFPSR (fpsr); + ctx->env.__fpcr = fpcr; ctx->env.__fpsr = fpsr; /* Check whether rounding modes are different. */ @@ -298,10 +297,7 @@ libc_feholdsetround_noex_aarch64_ctx (struct rm_ctx *ctx, int r) /* Set the rounding mode if changed. */ if (__glibc_unlikely (round != 0)) - { - ctx->env.__fpcr = fpcr; - _FPU_SETCW (fpcr ^ round); - } + _FPU_SETCW (fpcr ^ round); } #define libc_feholdsetround_noex_ctx libc_feholdsetround_noex_aarch64_ctx |