summaryrefslogtreecommitdiff
path: root/sysdeps/aarch64/fpu/math_private.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/aarch64/fpu/math_private.h')
-rw-r--r--sysdeps/aarch64/fpu/math_private.h14
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