[PATCH 0/5] Added optimized memcpy/memmove/memset for A64FX
naohirot@fujitsu.com
naohirot@fujitsu.com
Tue Apr 20 05:49:02 GMT 2021
Hi Wilco-san,
Let me focus on removing redundant instructions in this mail.
> From: Wilco Dijkstra <Wilco.Dijkstra@arm.com>
> It is also possible to remove a lot of unnecessary code - eg. rather than use 2
> instructions per prefetch, merge the constant offset in the prefetch instruction
> itself (since they allow up to 32KB offset). There are also lots of branches that
> skip a few instructions if a value is zero, this is often counterproductive due to
> adding branch mispredictions.
I removed redundant instructions using cbz and prfm offset address [1][2].
[1] https://github.com/NaohiroTamura/glibc/commit/94363b4ab2e5b4b29843a47a6970b9645a8e4eeb
[2] https://github.com/NaohiroTamura/glibc/commit/4648eb559e46d978ded65d40c6bf8c38dd2519d7
Thanks.
Naohiro
More information about the Libc-alpha
mailing list