[PATCH x86_64] Update memcpy, mempcpy and memmove selection order for Excavator CPU BZ #19583
Pawar, Amit
Amit.Pawar@amd.com
Fri Mar 18 12:25:00 GMT 2016
>diff --git a/sysdeps/x86_64/multiarch/memcpy.S
>b/sysdeps/x86_64/multiarch/memcpy.S
>index 8882590..3c67da8 100644
>--- a/sysdeps/x86_64/multiarch/memcpy.S
>+++ b/sysdeps/x86_64/multiarch/memcpy.S
>@@ -40,7 +40,7 @@ ENTRY(__new_memcpy)
> #endif
> 1: lea __memcpy_avx_unaligned(%rip), %RAX_LP
> HAS_ARCH_FEATURE (AVX_Fast_Unaligned_Load)
>- jnz 2f
>+ jnz 3f
> lea __memcpy_sse2_unaligned(%rip), %RAX_LP
> HAS_ARCH_FEATURE (Fast_Unaligned_Load)
> jnz 2f
>@@ -52,6 +52,10 @@ ENTRY(__new_memcpy)
> jnz 2f
> lea __memcpy_ssse3(%rip), %RAX_LP
> 2: ret
>+3: HAS_ARCH_FEATURE (Avoid_AVX_Fast_Unaligned_Load) jz 2b lea
>+__memcpy_ssse3_back(%rip), %RAX_LP ret
> END(__new_memcpy)
>
>This is wrong. You should check Avoid_AVX_Fast_Unaligned_Load
>to disable __memcpy_avx_unaligned, not select
> __memcpy_ssse3_back. Each selection should be loaded
>only once.
Now OK?.
--Amit Pawar
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-x86_64-Update-memcpy-mempcpy-and-memmove-selection-o.patch
Type: application/octet-stream
Size: 7593 bytes
Desc: 0001-x86_64-Update-memcpy-mempcpy-and-memmove-selection-o.patch
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20160318/22284997/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ChangeLog
Type: application/octet-stream
Size: 1022 bytes
Desc: ChangeLog
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20160318/22284997/attachment-0001.obj>
More information about the Libc-alpha
mailing list