This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH RFC] Imporve 64bit memset performance for Haswell CPU with AVX2 instruction
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Ling Ma <ling dot ma dot program at gmail dot com>
- Cc: Ondrej Bilka <neleai at seznam dot cz>, GNU C Library <libc-alpha at sourceware dot org>, Liubov Dmitrieva <liubov dot dmitrieva at gmail dot com>, yumkam at gmail dot com, Ling Ma <ling dot ml at alibaba-inc dot com>
- Date: Mon, 12 May 2014 11:13:12 -0700
- Subject: Re: [PATCH RFC] Imporve 64bit memset performance for Haswell CPU with AVX2 instruction
- Authentication-results: sourceware.org; auth=none
- References: <1398055921-4455-1-git-send-email-ling dot ma at alipay dot com> <CAOGi=dOkGY0gwkF2kLUCNzdEPua=U1avObtqfi_JEheSyGM8NQ at mail dot gmail dot com>
On Sun, Apr 27, 2014 at 4:45 AM, Ling Ma <ling.ma.program@gmail.com> wrote:
> Any comments ?
>
> 2014-04-21 12:52 GMT+08:00, ling.ma.program@gmail.com
> <ling.ma.program@gmail.com>:
>> From: Ling Ma <ling.ml@alibaba-inc.com>
>>
>> In this patch we take advantage of HSW memory bandwidth, manage to
>> reduce miss branch prediction by avoiding using branch instructions and
>> force destination to be aligned with avx & avx2 instruction.
>>
>> The CPU2006 403.gcc benchmark indicates this patch improves performance
>> from 23.7% to 57%.
>>
>> This version is based on latest ChangeLog, Appreciate your comments.
>> ---
>> ChangeLog | 9 ++
>> sysdeps/x86_64/multiarch/Makefile | 4 +-
>> sysdeps/x86_64/multiarch/memset-avx2.S | 198
>> +++++++++++++++++++++++++++++++++
>> sysdeps/x86_64/multiarch/memset.S | 58 ++++++++++
>> sysdeps/x86_64/multiarch/memset_chk.S | 43 +++++++
>> 5 files changed, 311 insertions(+), 1 deletion(-)
>> create mode 100644 sysdeps/x86_64/multiarch/memset-avx2.S
>> create mode 100644 sysdeps/x86_64/multiarch/memset.S
>> create mode 100644 sysdeps/x86_64/multiarch/memset_chk.S
>>
>> diff --git a/ChangeLog b/ChangeLog
>> index e09fdc6..9bb48ab 100644
>> --- a/ChangeLog
>> +++ b/ChangeLog
>> @@ -1,3 +1,12 @@
>> +2014-04-21 Ling Ma <ling.ml@alibaba-inc.com>
>> +
>> + * sysdeps/x86_64/multiarch/Makefile: Add memset-avx2
>> + * sysdeps/x86_64/multiarch/memset-avx2.S: New file for AVX2 memset
>> + * sysdeps/x86_64/multiarch/memset.S: New file for multiple memset
>> + versions
>> + * sysdeps/x86_64/multiarch/memset_chk.S: New file for multiple memset_chk
>> + versions
>> +
I didn't see the original patch in the libc-alpha mailing list archive at
https://sourceware.org/ml/libc-alpha/
Can you resubmit it and make sure that it shows up in the libc-alpha
mailing list archive?
Thanks.
--
H.J.