]> sourceware.org Git - glibc.git/commitdiff
x86 long double: Support pseudo numbers in fpclassifyl
authorSiddhesh Poyarekar <siddhesh@sourceware.org>
Wed, 23 Dec 2020 08:23:34 +0000 (13:53 +0530)
committerSiddhesh Poyarekar <siddhesh@sourceware.org>
Thu, 24 Dec 2020 00:35:26 +0000 (06:05 +0530)
Also move sysdeps/i386/fpu/s_fpclassifyl.c to
sysdeps/x86/fpu/s_fpclassifyl.c and remove
sysdeps/x86_64/fpu/s_fpclassifyl.c

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
sysdeps/x86/fpu/s_fpclassifyl.c [moved from sysdeps/i386/fpu/s_fpclassifyl.c with 87% similarity]
sysdeps/x86_64/fpu/s_fpclassifyl.c [deleted file]

similarity index 87%
rename from sysdeps/i386/fpu/s_fpclassifyl.c
rename to sysdeps/x86/fpu/s_fpclassifyl.c
index 501312f51ee6e536a0b2867946134e3116046a28..a48b7685c42b0301a4413e167b188da1e393492e 100644 (file)
@@ -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 (file)
index 856854b..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-#include <sysdeps/i386/fpu/s_fpclassifyl.c>
-
This page took 0.047718 seconds and 5 git commands to generate.