]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Revert "x86: Do not use __builtin_isinf_sign for _Float64x/long double"
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Tue, 13 Jan 2026 14:19:28 +0000 (11:19 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Wed, 14 Jan 2026 17:33:16 +0000 (14:33 -0300)
This reverts commit 999cd617cb7e40a2fa719e91fe1028c853ae14d5.  It
breaks libstdc++ and other languages bootstrap.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
bits/fp-builtin-denormal.h
math/math.h
sysdeps/x86/bits/fp-builtin-denormal.h
sysdeps/x86/fpu/test-builtin-denormal.c

index 0f24de149a2328dfa7ad86e0c65b01079f08f3fe..457ab0c97a8b429b3cd21e0512a3a3160e507eec 100644 (file)
@@ -26,7 +26,3 @@
     Intel double extended-precision (long double).  By default assume 1 to
     enable the usage of compiler builtin on math.h.  */
 #define __FP_BUILTIN_FPCLASSIFY_DENORMAL 1
-
-/* __FP_BUILTIN_ISINF_SIGN_DENORMAL is defined to 1 if compiler supports
-   handling pseudo-dernormal numbers with isinf_sign builtin.  */
-#define __FP_BUILTIN_ISINF_SIGN_DENORMAL 1
index 1066113ca6e97f7935561f66f16772c45217a08a..77dfcdc36b04a3b133812f5e60411e0986f03b0d 100644 (file)
@@ -1249,10 +1249,7 @@ enum
      ? __isinff128 (x) : __builtin_isinf_sign (x))
 # elif (__GNUC_PREREQ (4,4) && !defined __SUPPORT_SNAN__) \
        || __glibc_clang_prereq (3,7)
-#  define isinf(x) __MATH_TG_BUILTIN_CLASSIFY ((x),                          \
-                                              __builtin_isinf_sign, (x),     \
-                                              isinf, (x),                    \
-                                              __FP_BUILTIN_ISINF_SIGN_DENORMAL)
+#  define isinf(x) __builtin_isinf_sign (x)
 # else
 #  define isinf(x) __MATH_TG ((x), __isinf, (x))
 # endif
index 30ed7c899a60bf6e0ab6c49d7739ac89466c1cfb..33549c876a2a7bed2adb2b930a7220198a9435c7 100644 (file)
@@ -23,7 +23,3 @@
 /* Neither GCC (bug 123161) nor clang (issue 172533) handles pseudo-normal
    numbers correctly with fpclassify builtin.  */
 #define __FP_BUILTIN_FPCLASSIFY_DENORMAL 0
-
-/* Neither GCC (bug 123173) nor clang (issue 172651) handles pseudo-normal
-   numbers correctly with isinf_sign builtin.  */
-#define __FP_BUILTIN_ISINF_SIGN_DENORMAL 0
index 8856ebce800496032d89f041e395fa3416af18dc..6584ec339f1421ddcc8a44be6fc68874a3d13ae7 100644 (file)
@@ -45,10 +45,6 @@ do_test (void)
       TEST_COMPARE (feclearexcept (FE_INVALID), 0);
       TEST_COMPARE (fpclassify (inputs[i].value), FP_NAN);
       TEST_COMPARE (fetestexcept (FE_INVALID), 0);
-
-      TEST_COMPARE (feclearexcept (FE_INVALID), 0);
-      TEST_COMPARE (isinf (inputs[i].value), 0);
-      TEST_COMPARE (fetestexcept (FE_INVALID), 0);
     }
 
   return 0;