about summary refs log tree commit diff
path: root/sysdeps/ieee754/flt-32/e_hypotf.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/ieee754/flt-32/e_hypotf.c')
-rw-r--r--sysdeps/ieee754/flt-32/e_hypotf.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sysdeps/ieee754/flt-32/e_hypotf.c b/sysdeps/ieee754/flt-32/e_hypotf.c
index 717b82e42f..fda2651a84 100644
--- a/sysdeps/ieee754/flt-32/e_hypotf.c
+++ b/sysdeps/ieee754/flt-32/e_hypotf.c
@@ -26,9 +26,9 @@ __ieee754_hypotf(float x, float y)
 	ha &= 0x7fffffff;
 	GET_FLOAT_WORD(hb,y);
 	hb &= 0x7fffffff;
-	if (ha == 0x7f800000)
+	if (ha == 0x7f800000 && !issignaling (y))
 	  return fabsf(x);
-	else if (hb == 0x7f800000)
+	else if (hb == 0x7f800000 && !issignaling (x))
 	  return fabsf(y);
 	else if (ha > 0x7f800000 || hb > 0x7f800000)
 	  return fabsf(x) * fabsf(y);