You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
3.4 KiB
83 lines
3.4 KiB
7 years ago
|
commit df782dc690775d93b0cc1076655a9b92b5a44ad0
|
||
|
Author: Andrew Senkevich <andrew.senkevich@intel.com>
|
||
|
Date: Tue Jan 19 14:34:53 2016 +0300
|
||
|
|
||
|
Fixed build with assembler w/o AVX-512 support.
|
||
|
|
||
|
* sysdeps/x86_64/multiarch/ifunc-impl-list.c: Fixed build with
|
||
|
assembler not supporting AVX-512.
|
||
|
|
||
|
Index: glibc-2.17-c758a686/sysdeps/x86_64/multiarch/ifunc-impl-list.c
|
||
|
===================================================================
|
||
|
--- glibc-2.17-c758a686.orig/sysdeps/x86_64/multiarch/ifunc-impl-list.c
|
||
|
+++ glibc-2.17-c758a686/sysdeps/x86_64/multiarch/ifunc-impl-list.c
|
||
|
@@ -48,9 +48,11 @@ __libc_ifunc_impl_list (const char *name
|
||
|
|
||
|
/* Support sysdeps/x86_64/multiarch/memmove_chk.c. */
|
||
|
IFUNC_IMPL (i, name, __memmove_chk,
|
||
|
+#ifdef HAVE_AVX512_ASM_SUPPORT
|
||
|
IFUNC_IMPL_ADD (array, i, __memmove_chk,
|
||
|
HAS_ARCH_FEATURE (AVX512F_Usable),
|
||
|
__memmove_chk_avx512_no_vzeroupper)
|
||
|
+#endif
|
||
|
IFUNC_IMPL_ADD (array, i, __memmove_chk, HAS_CPU_FEATURE (SSSE3),
|
||
|
__memmove_chk_ssse3_back)
|
||
|
IFUNC_IMPL_ADD (array, i, __memmove_chk, HAS_CPU_FEATURE (SSSE3),
|
||
|
@@ -60,9 +62,11 @@ __libc_ifunc_impl_list (const char *name
|
||
|
|
||
|
/* Support sysdeps/x86_64/multiarch/memmove.S. */
|
||
|
IFUNC_IMPL (i, name, memmove,
|
||
|
+#ifdef HAVE_AVX512_ASM_SUPPORT
|
||
|
IFUNC_IMPL_ADD (array, i, memmove,
|
||
|
HAS_ARCH_FEATURE (AVX512F_Usable),
|
||
|
__memmove_avx512_no_vzeroupper)
|
||
|
+#endif
|
||
|
IFUNC_IMPL_ADD (array, i, memmove, HAS_CPU_FEATURE (SSSE3),
|
||
|
__memmove_ssse3_back)
|
||
|
IFUNC_IMPL_ADD (array, i, memmove, HAS_CPU_FEATURE (SSSE3),
|
||
|
@@ -269,9 +273,11 @@ __libc_ifunc_impl_list (const char *name
|
||
|
#ifdef SHARED
|
||
|
/* Support sysdeps/x86_64/multiarch/memcpy_chk.S. */
|
||
|
IFUNC_IMPL (i, name, __memcpy_chk,
|
||
|
+#ifdef HAVE_AVX512_ASM_SUPPORT
|
||
|
IFUNC_IMPL_ADD (array, i, __memcpy_chk,
|
||
|
HAS_ARCH_FEATURE (AVX512F_Usable),
|
||
|
__memcpy_chk_avx512_no_vzeroupper)
|
||
|
+#endif
|
||
|
IFUNC_IMPL_ADD (array, i, __memcpy_chk, HAS_CPU_FEATURE (SSSE3),
|
||
|
__memcpy_chk_ssse3_back)
|
||
|
IFUNC_IMPL_ADD (array, i, __memcpy_chk, HAS_CPU_FEATURE (SSSE3),
|
||
|
@@ -285,16 +291,20 @@ __libc_ifunc_impl_list (const char *name
|
||
|
__memcpy_ssse3_back)
|
||
|
IFUNC_IMPL_ADD (array, i, memcpy, HAS_CPU_FEATURE (SSSE3),
|
||
|
__memcpy_ssse3)
|
||
|
+#ifdef HAVE_AVX512_ASM_SUPPORT
|
||
|
IFUNC_IMPL_ADD (array, i, memcpy,
|
||
|
HAS_ARCH_FEATURE (AVX512F_Usable),
|
||
|
__memcpy_avx512_no_vzeroupper)
|
||
|
+#endif
|
||
|
IFUNC_IMPL_ADD (array, i, memcpy, 1, __memcpy_sse2))
|
||
|
|
||
|
/* Support sysdeps/x86_64/multiarch/mempcpy_chk.S. */
|
||
|
IFUNC_IMPL (i, name, __mempcpy_chk,
|
||
|
+#ifdef HAVE_AVX512_ASM_SUPPORT
|
||
|
IFUNC_IMPL_ADD (array, i, __mempcpy_chk,
|
||
|
HAS_ARCH_FEATURE (AVX512F_Usable),
|
||
|
__mempcpy_chk_avx512_no_vzeroupper)
|
||
|
+#endif
|
||
|
IFUNC_IMPL_ADD (array, i, __mempcpy_chk, HAS_CPU_FEATURE (SSSE3),
|
||
|
__mempcpy_chk_ssse3_back)
|
||
|
IFUNC_IMPL_ADD (array, i, __mempcpy_chk, HAS_CPU_FEATURE (SSSE3),
|
||
|
@@ -304,9 +314,11 @@ __libc_ifunc_impl_list (const char *name
|
||
|
|
||
|
/* Support sysdeps/x86_64/multiarch/mempcpy.S. */
|
||
|
IFUNC_IMPL (i, name, mempcpy,
|
||
|
+#ifdef HAVE_AVX512_ASM_SUPPORT
|
||
|
IFUNC_IMPL_ADD (array, i, mempcpy,
|
||
|
HAS_ARCH_FEATURE (AVX512F_Usable),
|
||
|
__mempcpy_avx512_no_vzeroupper)
|
||
|
+#endif
|
||
|
IFUNC_IMPL_ADD (array, i, mempcpy, HAS_CPU_FEATURE (SSSE3),
|
||
|
__mempcpy_ssse3_back)
|
||
|
IFUNC_IMPL_ADD (array, i, mempcpy, HAS_CPU_FEATURE (SSSE3),
|