[PATCH 1/2] aarch64,falkor: Ignore prefetcher hints for memmove tail
Szabolcs Nagy
szabolcs.nagy@arm.com
Thu May 10 10:29:00 GMT 2018
On 03/05/18 18:52, Siddhesh Poyarekar wrote:
> The tail of the copy loops are unable to train the falkor hardware
> prefetcher because they load from a different base compared to the hot
> loop. In this case avoid serializing the instructions by loading them
> into different registers. Also peel the last iteration of the loop
> into the tail (and have them use different registers) since it gives
> better performance for medium sizes.
>
> This results in performance improvements of between 3% and 20% over
> the current falkor implementation for sizes between 128 bytes and 1K
> on the memmove-walk benchmark, thus mostly covering the regressions
> seen against the generic memmove.
>
> * sysdeps/aarch64/multiarch/memmove_falkor.S
> (__memmove_falkor): Use multiple registers to move data in
> loop tail.
OK to commit.
More information about the Libc-alpha
mailing list