aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/aarch64/fpu/fesetround.c25
2 files changed, 10 insertions, 20 deletions
diff --git a/ChangeLog b/ChangeLog
index 7279fcc..a026ad1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-12-22 Wilco Dijkstra <wdijkstr@arm.com>
+
+ * sysdeps/aarch64/fpu/fesetround.c (fesetround):
+ Call libc_fesetround_aarch64.
+
2014-12-22 Joseph Myers <joseph@codesourcery.com>
[BZ #17733]
diff --git a/sysdeps/aarch64/fpu/fesetround.c b/sysdeps/aarch64/fpu/fesetround.c
index d34706d..ba0f31e 100644
--- a/sysdeps/aarch64/fpu/fesetround.c
+++ b/sysdeps/aarch64/fpu/fesetround.c
@@ -17,31 +17,16 @@
<http://www.gnu.org/licenses/>. */
#include <fenv.h>
+#include <math_private.h>
#include <fpu_control.h>
int
fesetround (int round)
{
- fpu_control_t fpcr;
- fpu_control_t fpcr_new;
+ if (round & ~_FPU_FPCR_RM_MASK)
+ return 1;
- switch (round)
- {
- case FE_TONEAREST:
- case FE_UPWARD:
- case FE_DOWNWARD:
- case FE_TOWARDZERO:
- _FPU_GETCW (fpcr);
- fpcr_new = (fpcr & ~FE_TOWARDZERO) | round;
-
- if (fpcr != fpcr_new)
- _FPU_SETCW (fpcr_new);
- return 0;
-
- default:
- return 1;
- }
-
- return 1;
+ libc_fesetround_aarch64 (round);
+ return 0;
}
libm_hidden_def (fesetround)