[PATCH] x86_32: memcpy, mempcpy, memmove, memcpy_chk, mempcpy_chk, memmove_chk optimized with SSE2 unaligned loads/stores
Andrew Senkevich
andrew.n.senkevich@gmail.com
Fri Jul 4 17:12:00 GMT 2014
Hi,
this new functions based on new memcpy which is 32bit analogue of
x86_64 sse2 unaligned memcpy version.
Benchmarked on Silvermont, Haswell, Ivy Bridge, Sandy Bridge and
Westmere, performance results attached.
Testsuite was run on x86_64 with no new regressions.
Change log:
2014-07-04 Andrew Senkevich <andrew.n.senkevich@gmail.com>
* sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S: New file,
contains implementation optimized with sse2 unaligned loads/stores.
* sysdeps/i386/i686/multiarch/memmove-sse2-unaligned.S: Likewise.
* sysdeps/i386/i686/multiarch/mempcpy-sse2-unaligned.S: Likewise.
* sysdeps/i386/i686/multiarch/memcpy.S: Selection of new function if
bit_Fast_Unaligned_Load is set.
* sysdeps/i386/i686/multiarch/memcpy_chk.S: Likewise.
* sysdeps/i386/i686/multiarch/memmove.S: Likewise.
* sysdeps/i386/i686/multiarch/memmove_chk.S: Likewise.
* sysdeps/i386/i686/multiarch/mempcpy.S: Likewise.
* sysdeps/i386/i686/multiarch/mempcpy_chk.S: Likewise.
* sysdeps/i386/i686/multiarch/Makefile: Added new files to build.
* sysdeps/i386/i686/multiarch/ifunc-impl-list.c
(__libc_ifunc_impl_list):
Added testing of new functions.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: results_memmove_32slm_on_hsw.tar.bz2
Type: application/x-bzip2
Size: 627127 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20140704/e1945c08/attachment.bz2>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: results_memmove_32slm_on_ivb.tar.bz2
Type: application/x-bzip2
Size: 643957 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20140704/e1945c08/attachment-0001.bz2>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: results_memmove_32slm_on_slm.tar.bz2
Type: application/x-bzip2
Size: 644526 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20140704/e1945c08/attachment-0002.bz2>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: results_memmove_32slm_on_snb.tar.bz2
Type: application/x-bzip2
Size: 632470 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20140704/e1945c08/attachment-0003.bz2>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: results_memmove_32slm_on_wsm.tar.bz2
Type: application/x-bzip2
Size: 622790 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20140704/e1945c08/attachment-0004.bz2>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: results_memcpy_32slm_on_hsw.tar.bz2
Type: application/x-bzip2
Size: 620725 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20140704/e1945c08/attachment-0005.bz2>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: results_memcpy_32slm_on_ivb.tar.bz2
Type: application/x-bzip2
Size: 630379 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20140704/e1945c08/attachment-0006.bz2>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: results_memcpy_32slm_on_slm.tar.bz2
Type: application/x-bzip2
Size: 639778 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20140704/e1945c08/attachment-0007.bz2>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: results_memcpy_32slm_on_snb.tar.bz2
Type: application/x-bzip2
Size: 626493 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20140704/e1945c08/attachment-0008.bz2>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: results_memcpy_32slm_on_wsm.tar.bz2
Type: application/x-bzip2
Size: 616005 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20140704/e1945c08/attachment-0009.bz2>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: memcpy_mempcpy_memmove_with_chk_sse2_unaligned_i386.patch
Type: application/octet-stream
Size: 28259 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20140704/e1945c08/attachment.obj>
More information about the Libc-alpha
mailing list