summaryrefslogtreecommitdiff
path: root/sysdeps/sparc/sparc64/fpu/s_nearbyint.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/sparc/sparc64/fpu/s_nearbyint.S')
-rw-r--r--sysdeps/sparc/sparc64/fpu/s_nearbyint.S6
1 files changed, 4 insertions, 2 deletions
diff --git a/sysdeps/sparc/sparc64/fpu/s_nearbyint.S b/sysdeps/sparc/sparc64/fpu/s_nearbyint.S
index caf4d729e0..a8f099779f 100644
--- a/sysdeps/sparc/sparc64/fpu/s_nearbyint.S
+++ b/sysdeps/sparc/sparc64/fpu/s_nearbyint.S
@@ -1,7 +1,7 @@
/* Round float to int floating-point values without generating
an inexact exception, sparc64 version.
- Copyright (C) 2013-2016 Free Software Foundation, Inc.
+ Copyright (C) 2013-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller <davem@davemloft.net>, 2013.
@@ -20,6 +20,7 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <libm-alias-double.h>
/* We pop constants into the FPU registers using the incoming
argument stack slots, since this avoid having to use any PIC
@@ -35,6 +36,7 @@
#define SIGN_BIT %f12 /* -0.0 */
ENTRY (__nearbyint)
+ fcmpd %fcc3, %f0, %f0 /* Check for sNaN */
stx %fsr, [%sp + STACK_BIAS + 144]
sethi %hi(TWO_FIFTYTWO), %o2
sllx %o2, 32, %o2
@@ -60,4 +62,4 @@ ENTRY (__nearbyint)
retl
ldx [%sp + STACK_BIAS + 144], %fsr
END (__nearbyint)
-weak_alias (__nearbyint, nearbyint)
+libm_alias_double (__nearbyint, nearbyint)