diff options
author | 2019-12-19 15:26:33 +0000 | |
---|---|---|
committer | 2019-12-19 16:31:04 -0300 | |
commit | 525de033a9d19bc79ce353745d14927a793dd4e8 (patch) | |
tree | 8c12f0bd8573525387a8ecbdd447f0347c7894c3 /malloc/dynarray_resize.c | |
parent | aarch64: Optimized strlen for strlen_asimd (diff) | |
download | glibc-525de033a9d19bc79ce353745d14927a793dd4e8.tar.xz glibc-525de033a9d19bc79ce353745d14927a793dd4e8.zip |
aarch64: Optimized memset for Kunpeng processor.
Due to the branch prediction issue of Kunpeng processor, we found
memset_generic has poor performance on middle sizes setting, and so
we reconstructed the logic, expanded the loop by 4 times in set_long
to solve the problem, even when setting below 1K sizes have benefit.
Another change is that DZ_ZVA seems no work when setting zero, so we
discarded it and used set_long to set zero instead. Fewer branches and
predictions also make the zero case have slightly improvement.
Checked on aarch64-linux-gnu.
Reviewed-by: Wilco Dijkstra <Wilco.Dijkstra@arm.com>
Diffstat (limited to 'malloc/dynarray_resize.c')
0 files changed, 0 insertions, 0 deletions