[PATCH] x86-64: Optimize memrchr with AVX2
H.J. Lu
hjl.tools@gmail.com
Fri Jun 2 19:51:00 GMT 2017
On Thu, Jun 1, 2017 at 11:13 AM, H.J. Lu <hongjiu.lu@intel.com> wrote:
> Optimize memrchr with AVX2 to search 32 bytes with a single vector
> compare instruction. It is as fast as SSE2 memrchr for small data
> sizes and up to 1X faster for large data sizes on Haswell. Select
> AVX2 memrchr on AVX2 machines where vzeroupper is preferred and AVX
> unaligned load is fast.
>
> Any comments?
>
> H.J.
> --
> * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
> memrchr-avx2.
> * sysdeps/x86_64/multiarch/ifunc-impl-list.c
> (__libc_ifunc_impl_list): Add tests for __memrchr_avx2 and
> __memrchr_sse2.
> * sysdeps/x86_64/multiarch/memrchr-avx2.S: New file.
> * sysdeps/x86_64/multiarch/memrchr.S: Likewise.
Updated patch with IFUNC selector in C.
--
H.J.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0007-x86-64-Optimize-memrchr-with-AVX2.patch
Type: text/x-patch
Size: 12648 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20170602/8ff56f30/attachment.bin>
More information about the Libc-alpha
mailing list