PATCH: Improve 32 bit memchr, memrchr, rawmemchr with SSE2
Dmitrieva Liubov
liubov.dmitrieva@gmail.com
Mon Sep 12 16:02:00 GMT 2011
Hello,
This patch improves memchr, rawmemchr, memrchr functions for all
architectures with SSE2 support.
For example, it improves performance:
-- for memchr
---- by up to 7X on atom, up to 9X on core7.
-- for memrchr
---- by up to 9X on atom, up to 11X on core7.
-- for rawmemchr
---- by up to 7X on atom, up to 9X on core7.
"Make check" was run successfully on my atom and core2 machines, I
built rpms and checked them as well.
ChangeLog:
2011-08-25 Liubov Dmitrieva <liubov.dmitrieva@gmail.com>
* sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add
memchr-sse2 memchr-sse2-bsf memchr-c
memrchr-sse2 memrchr-sse2-bsf memrchr-c
rawmemchr-sse2 rawmemchr-sse2-bsf rawmemchr-c
* sysdeps/i386/i686/multiarch/memchr.S: New file.
* sysdeps/i386/i686/multiarch/memchr-c.c: New file.
* sysdeps/i386/i686/multiarch/memchr-sse2.S: New file.
* sysdeps/i386/i686/multiarch/memchr-sse2-bsf.S: New file.
* sysdeps/i386/i686/multiarch/memrchr.S: New file.
* sysdeps/i386/i686/multiarch/memrchr-c.c: New file.
* sysdeps/i386/i686/multiarch/memrchr-sse2.S: New file.
* sysdeps/i386/i686/multiarch/memrchr-sse2-bsf.S: New file.
* sysdeps/i386/i686/multiarch/rawmemchr.S: New file.
* sysdeps/i386/i686/multiarch/rawmemchr-c.c: New file.
* sysdeps/i386/i686/multiarch/rawmemchr-sse2.S: New file.
* sysdeps/i386/i686/multiarch/rawmemchr-sse2-bsf.S: New file.
* string/memchr.c
(MEMCHR): New macro.
* string/memrchr.c
(MEMRCHR): New macro.
* string/rawmemchr.c
(RAWMEMCHR): New macro.
--
Liubov Dmitrieva
Software engineer
Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: memchr_family_32.patch
Type: application/octet-stream
Size: 52050 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20110912/732de6ed/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ChangeLog.memchr_family_32
Type: application/octet-stream
Size: 1060 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20110912/732de6ed/attachment-0001.obj>
More information about the Libc-alpha
mailing list