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


2016-01-16 1:24 GMT+03:00 Florian Weimer <fweimer@redhat.com>:
> On 01/15/2016 10:47 PM, Andrew Senkevich wrote:
>> diff --git a/sysdeps/x86_64/multiarch/memcpy_chk.S b/sysdeps/x86_64/multiarch/memcpy_chk.S
>> index 6476c62..a0d56d4 100644
>> --- a/sysdeps/x86_64/multiarch/memcpy_chk.S
>> +++ b/sysdeps/x86_64/multiarch/memcpy_chk.S
>> @@ -30,7 +30,15 @@
>>  ENTRY(__memcpy_chk)
>>       .type   __memcpy_chk, @gnu_indirect_function
>>       LOAD_RTLD_GLOBAL_RO_RDX
>> -     leaq    __memcpy_chk_sse2(%rip), %rax
>> +#ifdef HAVE_AVX512_ASM_SUPPORT
>> +     HAS_ARCH_FEATURE (AVX512F_Usable)
>> +     jz      1f
>> +#    HAS_ARCH_FEATURE (Prefer_No_VZEROUPPER)
>> +#    jz      1f
>
> The two lines starting with â#â look somewhat out of place.  Is this
> really intended?

Florian, thank you, I have fixed it:

diff --git a/sysdeps/x86_64/multiarch/memcpy_chk.S
b/sysdeps/x86_64/multiarch/memcpy_chk.S
index a0d56d4..648217e 100644
--- a/sysdeps/x86_64/multiarch/memcpy_chk.S
+++ b/sysdeps/x86_64/multiarch/memcpy_chk.S
@@ -33,9 +33,9 @@ ENTRY(__memcpy_chk)
 #ifdef HAVE_AVX512_ASM_SUPPORT
        HAS_ARCH_FEATURE (AVX512F_Usable)
        jz      1f
-#      HAS_ARCH_FEATURE (Prefer_No_VZEROUPPER)
-#      jz      1f
-       leaq    __memcpy_avx512_no_vzeroupper(%rip), %rax
+       HAS_ARCH_FEATURE (Prefer_No_VZEROUPPER)
+       jz      1f
+       leaq    __memcpy_chk_avx512_no_vzeroupper(%rip), %rax
        ret
 #endif
 1:     leaq    __memcpy_chk_sse2(%rip), %rax


--
WBR,
Andrew


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