[PATCH RFC] Imporve 64bit memset performance for Haswell CPU with AVX2 instruction
H.J. Lu
hjl.tools@gmail.com
Mon May 12 18:16:00 GMT 2014
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.
More information about the Libc-alpha
mailing list