[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