This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] x86_64: memcpy/memmove family optimized with AVX512
- From: Andrew Senkevich <andrew dot n dot senkevich at gmail dot com>
- To: Florian Weimer <fweimer at redhat dot com>
- Cc: "H.J. Lu" <hjl dot tools at gmail dot com>, libc-alpha <libc-alpha at sourceware dot org>
- Date: Sat, 16 Jan 2016 14:48:33 +0300
- Subject: Re: [PATCH] x86_64: memcpy/memmove family optimized with AVX512
- Authentication-results: sourceware.org; auth=none
- References: <CAMXFM3uGLiFE+pKPzFgWP6Sx4C3w2Ktd4w3+35O0Bj=B1s0naA at mail dot gmail dot com> <CAMe9rOrTWce2vy0_OUWRH4FVRUSndpuSh2QpkmcMxgSBBEo0Fg at mail dot gmail dot com> <CAMXFM3tOe8UcRRoCQzLxHRt8o-azPQ=OJtHhFHGUDvsHAydoLQ at mail dot gmail dot com> <CAMe9rOreWU8eqsSaQShEY9+=Z6ySOTX+H8DxcYoFNY3i9tHrhg at mail dot gmail dot com> <CAMXFM3tH1FHdigHdYHVQiYafJMOf1=7Fxc+B2H1v11BNYxDgHw at mail dot gmail dot com> <CAMe9rOqeZtmz+LE5vbMSKJkid=7S4YmwR4=AzfuDFO07G6uF+w at mail dot gmail dot com> <CAMXFM3t9Y_YE_2zmPUr-agpMwhxk24OuU4QwY-zuWs-NKDEezA at mail dot gmail dot com> <569971BB dot 5050702 at redhat dot com>
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