aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/sparc/sparc64/Versions
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2025-07-17 16:00:42 -0700
committerH.J. Lu <hjl.tools@gmail.com>2025-07-18 10:22:19 -0700
commitaec84988738cd6bc67f22a26d54b0f5ac9167ee4 (patch)
tree43891b625b76e1d249d741f8ee76d0cd8b7cc64d /sysdeps/unix/sysv/linux/sparc/sparc64/Versions
parent13bf7812ef512d86d026ada34e75b22692152441 (diff)
downloadglibc-master.zip
glibc-master.tar.gz
glibc-master.tar.bz2
x86-64: Properly compile ISA optimized modf and modffHEADmaster
There are 3 variants of modf and modff: SSE2, SSE4.1 and AVX. s_modf.c and s_modff.c include the generic implementation compiled with the minimum x86 ISA level. The IFUNC selector is used only if the minimum ISA level is less than AVX. SSE4.1 variant is included only if the ISA level is less than SSE4.1. AVX variant is included only the ISA level is less than AVX. AVX variant should be compiled with -mavx, not -msse2avx -DSSE2AVX which are used to encode SSE assembly sources with EVEX encoding. The routines that are shared between libc and libm should use different rules to avoid using the same MODULE_NAME, to avoid potential issues like BZ #33165 where __stack_chk_fail not being routed to the internal symbol. Tested with -march=x86-64, -march=x86-64-v2, -march=x86-64-v3 and -march=x86-64-v4. This fixes BZ #33165 and BZ #33173. Co-authored-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Diffstat (limited to 'sysdeps/unix/sysv/linux/sparc/sparc64/Versions')
0 files changed, 0 insertions, 0 deletions