[PATCH 37/59] math: Fix modf{f} build on clang
Adhemerval Zanella Netto
adhemerval.zanella@linaro.org
Mon Oct 20 17:58:52 GMT 2025
On 18/10/25 03:28, H.J. Lu wrote:
> On Sat, Oct 18, 2025 at 3:58 AM Adhemerval Zanella
> <adhemerval.zanella@linaro.org> wrote:
>>
>> We need to disable the internal optimize for math builtins
>> (NO_MATH_REDIRECT) for the USE_TRUNC_BUILTIN case.
>
> Does it change GCC codegen?
No, both with clang and gcc either the builtin is issues (on
aarch64 for instance) or the internal symbol is called.
The issue is for some reason it does not apply correctly on clang
when the target has the builtin (it emits calls to the internal
aliases instead of properly inline the intrinsic).>
>> ---
>> sysdeps/ieee754/dbl-64/s_modf.c | 1 +
>> sysdeps/ieee754/flt-32/s_modff.c | 1 +
>> 2 files changed, 2 insertions(+)
>>
>> diff --git a/sysdeps/ieee754/dbl-64/s_modf.c b/sysdeps/ieee754/dbl-64/s_modf.c
>> index 90cd8e8c3e..727dc412c0 100644
>> --- a/sysdeps/ieee754/dbl-64/s_modf.c
>> +++ b/sysdeps/ieee754/dbl-64/s_modf.c
>> @@ -16,6 +16,7 @@
>> License along with the GNU C Library; if not, see
>> <https://www.gnu.org/licenses/>. */
>>
>> +#define NO_MATH_REDIRECT
>> #include <math.h>
>> #include <libm-alias-double.h>
>> #include "math_config.h"
>> diff --git a/sysdeps/ieee754/flt-32/s_modff.c b/sysdeps/ieee754/flt-32/s_modff.c
>> index 965136bac9..a06178f803 100644
>> --- a/sysdeps/ieee754/flt-32/s_modff.c
>> +++ b/sysdeps/ieee754/flt-32/s_modff.c
>> @@ -16,6 +16,7 @@
>> License along with the GNU C Library; if not, see
>> <https://www.gnu.org/licenses/>. */
>>
>> +#define NO_MATH_REDIRECT
>> #include <math.h>
>> #include <libm-alias-float.h>
>> #include "math_config.h"
>> --
>> 2.43.0
>>
>
>
More information about the Libc-alpha
mailing list