]> git.ipfire.org Git - thirdparty/glibc.git/commit
x86: Update large memcpy case in memmove-vec-unaligned-erms.S
authornoah <goldstein.w.n@gmail.com>
Sat, 3 Apr 2021 08:12:15 +0000 (04:12 -0400)
committerSunil K Pandey <skpgkp2@gmail.com>
Mon, 2 May 2022 18:47:29 +0000 (11:47 -0700)
commite2afbc1ed84aea7b304f9a5dac91fb21339493e1
tree77463cf1d555465c417bde346da253ef51807222
parentf1e050f6c4f3dc1e89983a80c1957c6fef4691fa
x86: Update large memcpy case in memmove-vec-unaligned-erms.S

No Bug. This commit updates the large memcpy case (no overlap). The
update is to perform memcpy on either 2 or 4 contiguous pages at
once. This 1) helps to alleviate the affects of false memory aliasing
when destination and source have a close 4k alignment and 2) In most
cases and for most DRAM units is a modestly more efficient access
pattern. These changes are a clear performance improvement for
VEC_SIZE =16/32, though more ambiguous for VEC_SIZE=64. test-memcpy,
test-memccpy, test-mempcpy, test-memmove, and tst-memmove-overflow all
pass.

Signed-off-by: Noah Goldstein <goldstein.w.n@gmail.com>
(cherry picked from commit 1a8605b6cd257e8a74e29b5b71c057211f5fb847)
sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S