summary refs log tree commit diff
path: root/sysdeps/libm-ieee754/s_isinfl.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/libm-ieee754/s_isinfl.c')
-rw-r--r--sysdeps/libm-ieee754/s_isinfl.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sysdeps/libm-ieee754/s_isinfl.c b/sysdeps/libm-ieee754/s_isinfl.c
index 697534ed0d..6f7c07c5af 100644
--- a/sysdeps/libm-ieee754/s_isinfl.c
+++ b/sysdeps/libm-ieee754/s_isinfl.c
@@ -21,9 +21,9 @@ __isinfl (long double x)
 {
 	int32_t se,hx,lx;
 	GET_LDOUBLE_WORDS(se,hx,lx,x);
-	hx |= lx | ((se & 0x7fff) ^ 0x7fff);
-	hx |= -hx;
+	lx |= (hx & 0x7fffffff) | ((se & 0x7fff) ^ 0x7fff);
+	lx |= -lx;
 	se &= 0x8000;
-	return ~(hx >> 31) & (1 - (se >> 14));
+	return ~(lx >> 31) & (1 - (se >> 14));
 }
 weak_alias (__isinfl, isinfl)