[PATCH v2 1/5] x86 long double: Support pseudo numbers in fpclassifyl
Siddhesh Poyarekar
siddhesh@sourceware.org
Wed Dec 23 11:55:58 GMT 2020
Also move sysdeps/i386/fpu/s_fpclassifyl.c to
sysdeps/x86/fpu/s_fpclassifyl.c and remove
sysdeps/x86_64/fpu/s_fpclassifyl.c
---
sysdeps/{i386 => x86}/fpu/s_fpclassifyl.c | 4 ++++
sysdeps/x86_64/fpu/s_fpclassifyl.c | 2 --
2 files changed, 4 insertions(+), 2 deletions(-)
rename sysdeps/{i386 => x86}/fpu/s_fpclassifyl.c (87%)
delete mode 100644 sysdeps/x86_64/fpu/s_fpclassifyl.c
diff --git a/sysdeps/i386/fpu/s_fpclassifyl.c b/sysdeps/x86/fpu/s_fpclassifyl.c
similarity index 87%
rename from sysdeps/i386/fpu/s_fpclassifyl.c
rename to sysdeps/x86/fpu/s_fpclassifyl.c
index 501312f51e..a48b7685c4 100644
--- a/sysdeps/i386/fpu/s_fpclassifyl.c
+++ b/sysdeps/x86/fpu/s_fpclassifyl.c
@@ -34,6 +34,10 @@ __fpclassifyl (long double x)
retval = FP_ZERO;
else if (ex == 0 && (hx & 0x80000000) == 0)
retval = FP_SUBNORMAL;
+ /* Pseudo-normals, i.e. pseudo-zero, pseudo-infinity and un-normals. They
+ behave like NaNs, so categorize them as such. */
+ else if ((hx & 0x80000000) == 0)
+ retval = FP_NAN;
else if (ex == 0x7fff)
retval = ((hx & 0x7fffffff) | lx) != 0 ? FP_NAN : FP_INFINITE;
diff --git a/sysdeps/x86_64/fpu/s_fpclassifyl.c b/sysdeps/x86_64/fpu/s_fpclassifyl.c
deleted file mode 100644
index 856854b0f5..0000000000
--- a/sysdeps/x86_64/fpu/s_fpclassifyl.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include <sysdeps/i386/fpu/s_fpclassifyl.c>
-
--
2.29.2
More information about the Libc-alpha
mailing list