mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-11 05:40:06 +00:00
525de033a9
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>
8 lines
267 B
Makefile
8 lines
267 B
Makefile
ifeq ($(subdir),string)
|
|
sysdep_routines += memcpy_generic memcpy_thunderx memcpy_thunderx2 \
|
|
memcpy_falkor memmove_falkor \
|
|
memset_generic memset_falkor memset_emag memset_kunpeng \
|
|
memchr_generic memchr_nosimd \
|
|
strlen_generic strlen_asimd
|
|
endif
|