This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] x86_64: memcpy/memmove family optimized with AVX512


On Mon, Jan 18, 2016 at 2:29 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Mon, Jan 18, 2016 at 10:50 AM, Paul Pluzhnikov
> <ppluzhnikov@google.com> wrote:
>> This patch appears to break my build:
>>

> Please try this.

--- a/sysdeps/x86_64/multiarch/ifunc-impl-list.c
+++ b/sysdeps/x86_64/multiarch/ifunc-impl-list.c
@@ -49,8 +49,10 @@ __libc_ifunc_impl_list (const char *name, struct
libc_ifunc_impl *array,
   /* Support sysdeps/x86_64/multiarch/memmove_chk.c.  */
   IFUNC_IMPL (i, name, __memmove_chk,
       IFUNC_IMPL_ADD (array, i, __memmove_chk,
+#ifdef HAVE_AVX512_ASM_SUPPORT
       HAS_ARCH_FEATURE (AVX512F_Usable),
       __memmove_chk_avx512_no_vzeroupper)
+#endif

The #ifdef should be moved one line up, I think.

@@ -309,8 +317,10 @@ __libc_ifunc_impl_list (const char *name, struct
libc_ifunc_impl *array,
   /* Support sysdeps/x86_64/multiarch/mempcpy.S.  */
   IFUNC_IMPL (i, name, mempcpy,
       IFUNC_IMPL_ADD (array, i, mempcpy,
+# ifdef HAVE_AVX512_ASM_SUPPORT
       HAS_ARCH_FEATURE (AVX512F_Usable),
       __mempcpy_avx512_no_vzeroupper)
+# endif
       IFUNC_IMPL_ADD (array, i, mempcpy,
       HAS_ARCH_FEATURE (AVX_Usable),
       __mempcpy_avx_unaligned)

Likewise.

You also missed __memmove_avx512_no_vzeroupper.

Attached patch makes it build and pass tests for me.

Thanks,
-- 
Paul Pluzhnikov

Attachment: glibc-avx-20160118.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]