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] Update memcpy, mempcpy and memmove selection order for Excavator CPU BZ #19583


>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

Attachment: 0001-x86_64-Update-memcpy-mempcpy-and-memmove-selection-o.patch
Description: 0001-x86_64-Update-memcpy-mempcpy-and-memmove-selection-o.patch

Attachment: ChangeLog
Description: ChangeLog


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