mbox series

[0/4] sparc M7 optimized memcpy/memset

Message ID 1513138050-65509-1-git-send-email-patrick.mcgehearty@oracle.com
Headers show
Series sparc M7 optimized memcpy/memset | expand

Message

Patrick McGehearty Dec. 13, 2017, 4:07 a.m. UTC
The following patch set provides optimized versions of
memcpy/mempcpy/memmove/memset/bzero for Sparc versions M7 (and later).
Support for recognizing M7 is also provided.
An assembly version of memmove for ultra1+ is provided.

Jose E. Marchesi (1):
  sparc: support the ADP hw capability.

Jose E. Marchesi (2):
  sparc: assembly version of memmove for ultra1+

Patrick McGehearty (3):
  sparc: M7 optimized memcpy/mempcpy/memmove

Patrick McGehearty (4):
  sparc: M7 optimized memset/bzero

 ChangeLog                                          |   43 +
 sysdeps/sparc/bits/hwcap.h                         |    1 +
 sysdeps/sparc/dl-procinfo.c                        |    4 +-
 sysdeps/sparc/dl-procinfo.h                        |    2 +-
 sysdeps/sparc/sparc32/sparcv9/memmove.S            |    2 +
 sysdeps/sparc/sparc32/sparcv9/multiarch/Makefile   |    3 +-
 .../sparcv9/multiarch/memcpy-memmove-niagara7.S    |    2 +
 .../sparc32/sparcv9/multiarch/memmove-ultra1.S     |    4 +
 .../sparc32/sparcv9/multiarch/memset-niagara7.S    |    2 +
 .../sparc/sparc32/sparcv9/multiarch/rtld-memmove.c |    1 +
 sysdeps/sparc/sparc32/sparcv9/rtld-memmove.c       |    1 +
 sysdeps/sparc/sparc64/memmove.S                    |  186 ++++
 sysdeps/sparc/sparc64/multiarch/Makefile           |    3 +-
 sysdeps/sparc/sparc64/multiarch/ifunc-impl-list.c  |   13 +
 sysdeps/sparc/sparc64/multiarch/ifunc-memcpy.h     |    3 +
 sysdeps/sparc/sparc64/multiarch/ifunc-memmove.h    |   31 +
 sysdeps/sparc/sparc64/multiarch/ifunc-memset.h     |    3 +
 .../sparc64/multiarch/memcpy-memmove-niagara7.S    |  980 ++++++++++++++++++++
 sysdeps/sparc/sparc64/multiarch/memmove-ultra1.S   |    4 +
 sysdeps/sparc/sparc64/multiarch/memmove.c          |   33 +
 sysdeps/sparc/sparc64/multiarch/memset-niagara7.S  |  334 +++++++
 sysdeps/sparc/sparc64/multiarch/rtld-memmove.c     |    1 +
 sysdeps/sparc/sparc64/rtld-memmove.c               |    2 +
 23 files changed, 1653 insertions(+), 5 deletions(-)
 create mode 100644 sysdeps/sparc/sparc32/sparcv9/memmove.S
 create mode 100644 sysdeps/sparc/sparc32/sparcv9/multiarch/memcpy-memmove-niagara7.S
 create mode 100644 sysdeps/sparc/sparc32/sparcv9/multiarch/memmove-ultra1.S
 create mode 100644 sysdeps/sparc/sparc32/sparcv9/multiarch/memset-niagara7.S
 create mode 100644 sysdeps/sparc/sparc32/sparcv9/multiarch/rtld-memmove.c
 create mode 100644 sysdeps/sparc/sparc32/sparcv9/rtld-memmove.c
 create mode 100644 sysdeps/sparc/sparc64/memmove.S
 create mode 100644 sysdeps/sparc/sparc64/multiarch/ifunc-memmove.h
 create mode 100644 sysdeps/sparc/sparc64/multiarch/memcpy-memmove-niagara7.S
 create mode 100644 sysdeps/sparc/sparc64/multiarch/memmove-ultra1.S
 create mode 100644 sysdeps/sparc/sparc64/multiarch/memmove.c
 create mode 100644 sysdeps/sparc/sparc64/multiarch/memset-niagara7.S
 create mode 100644 sysdeps/sparc/sparc64/multiarch/rtld-memmove.c
 create mode 100644 sysdeps/sparc/sparc64/rtld-memmove.c

Comments

David Miller Dec. 13, 2017, 3:15 p.m. UTC | #1
From: Patrick McGehearty <patrick.mcgehearty@oracle.com>
Date: Tue, 12 Dec 2017 23:07:26 -0500

> The following patch set provides optimized versions of
> memcpy/mempcpy/memmove/memset/bzero for Sparc versions M7 (and later).
> Support for recognizing M7 is also provided.
> An assembly version of memmove for ultra1+ is provided.

Looks good to me.
Adhemerval Zanella Netto Dec. 13, 2017, 4:26 p.m. UTC | #2
On 13/12/2017 13:15, David Miller wrote:
> From: Patrick McGehearty <patrick.mcgehearty@oracle.com>
> Date: Tue, 12 Dec 2017 23:07:26 -0500
> 
>> The following patch set provides optimized versions of
>> memcpy/mempcpy/memmove/memset/bzero for Sparc versions M7 (and later).
>> Support for recognizing M7 is also provided.
>> An assembly version of memmove for ultra1+ is provided.
> 
> Looks good to me.
> 
LGTM as well, I can commit it if you don't have write access.
Patrick McGehearty Dec. 13, 2017, 4:44 p.m. UTC | #3
On 12/13/2017 10:26 AM, Adhemerval Zanella wrote:
>
> On 13/12/2017 13:15, David Miller wrote:
>> From: Patrick McGehearty <patrick.mcgehearty@oracle.com>
>> Date: Tue, 12 Dec 2017 23:07:26 -0500
>>
>>> The following patch set provides optimized versions of
>>> memcpy/mempcpy/memmove/memset/bzero for Sparc versions M7 (and later).
>>> Support for recognizing M7 is also provided.
>>> An assembly version of memmove for ultra1+ is provided.
>> Looks good to me.
>>
> LGTM as well, I can commit it if you don't have write access.
I don't have write access at this time. Please do commit.
Adhemerval Zanella Netto Dec. 13, 2017, 7:59 p.m. UTC | #4
On 13/12/2017 14:44, Patrick McGehearty wrote:
> On 12/13/2017 10:26 AM, Adhemerval Zanella wrote:
>>
>> On 13/12/2017 13:15, David Miller wrote:
>>> From: Patrick McGehearty <patrick.mcgehearty@oracle.com>
>>> Date: Tue, 12 Dec 2017 23:07:26 -0500
>>>
>>>> The following patch set provides optimized versions of
>>>> memcpy/mempcpy/memmove/memset/bzero for Sparc versions M7 (and later).
>>>> Support for recognizing M7 is also provided.
>>>> An assembly version of memmove for ultra1+ is provided.
>>> Looks good to me.
>>>
>> LGTM as well, I can commit it if you don't have write access.
> I don't have write access at this time. Please do commit.
> 

I will do it along with this NEWS entry:

* Optimized memcpy, mempcpy, memmove, and memset for sparc M7.