diff options
| author | Leandro Lupori <luporl@FreeBSD.org> | 2020-01-15 20:25:52 +0000 |
|---|---|---|
| committer | Leandro Lupori <luporl@FreeBSD.org> | 2020-01-15 20:25:52 +0000 |
| commit | e16c18650cdc45fd7d9ff1edfe34ab32e7658299 (patch) | |
| tree | 55ab06f5860b73fea4af19cfd5cf47fbcacc70c9 /secure | |
| parent | 181e35008cfbe18b2cfccb08d349415d8c21d8b6 (diff) | |
[PPC64] memcpy/memmove/bcopy optimization
For copies shorter than 512 bytes, the data is copied using plain
ld/std instructions.
For 512 bytes or more, the copy is done in 3 phases:
Phase 1: copy from the src buffer until it's aligned at a 16-byte boundary
Phase 2: copy as many aligned 64-byte blocks from the src buffer as possible
Phase 3: copy the remaining data, if any
In phase 2, this code uses VSX instructions when available. Otherwise,
it uses ldx/stdx.
Submitted by: Luis Pires <lffpires_ruabrasil.org> (original version)
Reviewed by: jhibbits
Differential Revision: https://reviews.freebsd.org/D15118
Notes
svn path=/head/; revision=356767
Diffstat (limited to 'secure')
0 files changed, 0 insertions, 0 deletions
