[PATCH 2/3] aarch64: Optimized memchr specific to AmpereComputing emag

Szabolcs Nagy Szabolcs.Nagy@arm.com
Wed Dec 19 15:53:00 GMT 2018


On 18/12/2018 10:07, Feng Xue wrote:
> This version uses general register based memory instruction to load
> data, because vector register based is slightly slower in emag.
> 
> Character-matching is performed on 16-byte (both size and alignment)
> memory block in parallel each iteration.
> 
>     * sysdeps/aarch64/memchr.S (__memchr): Rename to MEMCHR.
>     [!MEMCHR](MEMCHR): Set to __memchr.
>     * sysdeps/aarch64/multiarch/Makefile (sysdep_routines):
>     Add memchr_generic and memchr_base.
>     * sysdeps/aarch64/multiarch/ifunc-impl-list.c
>     (__libc_ifunc_impl_list): Add memchr ifuncs.
>     * sysdeps/aarch64/multiarch/memchr.c: New file.
>     * sysdeps/aarch64/multiarch/memchr_generic.S: Likewise.
>     * sysdeps/aarch64/multiarch/memchr_base.S: Likewise.

OK to commit.


More information about the Libc-alpha mailing list