[PATCH 1/2] Revert "x86: Do not use __builtin_isinf_sign for _Float64x/long double"
Adhemerval Zanella Netto
adhemerval.zanella@linaro.org
Tue Jan 13 19:19:06 GMT 2026
On 13/01/26 12:04, Carlos O'Donell wrote:
> On 1/13/26 9:19 AM, Adhemerval Zanella wrote:
>> This reverts commit 999cd617cb7e40a2fa719e91fe1028c853ae14d5. It
>> breaks libstdc++ and other languages bootstrap.
>
> I think we should continue to move this forward to improve the build
> support, so while I'm approving the revert, I think we should fix this
> and backport after due consideration.
>
> Revert matches.
>
> Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Ack, I will wait Andreas give the OK before install it.
>
>> ---
>> bits/fp-builtin-denormal.h | 4 ----
>> math/math.h | 5 +----
>> sysdeps/x86/bits/fp-builtin-denormal.h | 4 ----
>> sysdeps/x86/fpu/test-builtin-denormal.c | 4 ----
>> 4 files changed, 1 insertion(+), 16 deletions(-)
>>
>> diff --git a/bits/fp-builtin-denormal.h b/bits/fp-builtin-denormal.h
>> index 0f24de149a..457ab0c97a 100644
>> --- a/bits/fp-builtin-denormal.h
>> +++ b/bits/fp-builtin-denormal.h
>> @@ -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
>> diff --git a/math/math.h b/math/math.h
>> index 1066113ca6..77dfcdc36b 100644
>> --- a/math/math.h
>> +++ b/math/math.h
>> @@ -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
>> diff --git a/sysdeps/x86/bits/fp-builtin-denormal.h b/sysdeps/x86/bits/fp-builtin-denormal.h
>> index 30ed7c899a..33549c876a 100644
>> --- a/sysdeps/x86/bits/fp-builtin-denormal.h
>> +++ b/sysdeps/x86/bits/fp-builtin-denormal.h
>> @@ -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
>> diff --git a/sysdeps/x86/fpu/test-builtin-denormal.c b/sysdeps/x86/fpu/test-builtin-denormal.c
>> index 8856ebce80..6584ec339f 100644
>> --- a/sysdeps/x86/fpu/test-builtin-denormal.c
>> +++ b/sysdeps/x86/fpu/test-builtin-denormal.c
>> @@ -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;
>
>
More information about the Libc-alpha
mailing list