diff options
author | Anton Blanchard <anton@ozlabs.org> | 2021-07-27 15:47:51 +1000 |
---|---|---|
committer | Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com> | 2021-08-06 16:10:08 -0300 |
commit | 60b4dd25790342b40e8942e3a4115f511a6b6911 (patch) | |
tree | 3e2684b2432e8fe0ff9f65fa66cb238112309a0b /sysdeps/powerpc/powerpc64/multiarch/memcpy.c | |
parent | f2a15dd668913c5a1388ba7e1131b25162b2ea75 (diff) | |
download | glibc-60b4dd25790342b40e8942e3a4115f511a6b6911.tar.gz glibc-60b4dd25790342b40e8942e3a4115f511a6b6911.tar.xz glibc-60b4dd25790342b40e8942e3a4115f511a6b6911.zip |
powerpc64: Add checks for Altivec and VSX in ifunc selection
We'd like to support processors without Altivec or VSX, so check the relevant hwcap bits before selecting them. Reviewed-by: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
Diffstat (limited to 'sysdeps/powerpc/powerpc64/multiarch/memcpy.c')
-rw-r--r-- | sysdeps/powerpc/powerpc64/multiarch/memcpy.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sysdeps/powerpc/powerpc64/multiarch/memcpy.c b/sysdeps/powerpc/powerpc64/multiarch/memcpy.c index 53ab32ef26..684ee064f2 100644 --- a/sysdeps/powerpc/powerpc64/multiarch/memcpy.c +++ b/sysdeps/powerpc/powerpc64/multiarch/memcpy.c @@ -45,9 +45,12 @@ libc_ifunc (__libc_memcpy, (hwcap2 & PPC_FEATURE2_ARCH_3_1 && hwcap & PPC_FEATURE_HAS_VSX) ? __memcpy_power10 : # endif - ((hwcap2 & PPC_FEATURE2_ARCH_2_07) && use_cached_memopt) + (hwcap2 & PPC_FEATURE2_ARCH_2_07 + && hwcap & PPC_FEATURE_HAS_ALTIVEC + && use_cached_memopt) ? __memcpy_power8_cached : - (hwcap & PPC_FEATURE_HAS_VSX) + (hwcap & PPC_FEATURE_ARCH_2_06 + && hwcap & PPC_FEATURE_HAS_ALTIVEC) ? __memcpy_power7 : (hwcap & PPC_FEATURE_ARCH_2_06) ? __memcpy_a2 : |