Check Prefer_ERMS in memmove/memcpy/mempcpy/memset
commit13efa86ece61bf84daca50cab30db1b0902fe2db
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 30 Jun 2016 14:57:07 +0000 (30 07:57 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 30 Jun 2016 14:58:11 +0000 (30 07:58 -0700)
treee6ed4e21bb720ba21d069d61064a057be6f999db
parent73fb56a4d51fd4437e4cde6dd3c8077a610f88a8
Check Prefer_ERMS in memmove/memcpy/mempcpy/memset

Although the Enhanced REP MOVSB/STOSB (ERMS) implementations of memmove,
memcpy, mempcpy and memset aren't used by the current processors, this
patch adds Prefer_ERMS check in memmove, memcpy, mempcpy and memset so
that they can be used in the future.

* sysdeps/x86/cpu-features.h (bit_arch_Prefer_ERMS): New.
(index_arch_Prefer_ERMS): Likewise.
* sysdeps/x86_64/multiarch/memcpy.S (__new_memcpy): Return
__memcpy_erms for Prefer_ERMS.
* sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S
(__memmove_erms): Enabled for libc.a.
* ysdeps/x86_64/multiarch/memmove.S (__libc_memmove): Return
__memmove_erms or Prefer_ERMS.
* sysdeps/x86_64/multiarch/mempcpy.S (__mempcpy): Return
__mempcpy_erms for Prefer_ERMS.
* sysdeps/x86_64/multiarch/memset.S (memset): Return
__memset_erms for Prefer_ERMS.
ChangeLog
sysdeps/x86/cpu-features.h
sysdeps/x86_64/multiarch/memcpy.S
sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S
sysdeps/x86_64/multiarch/memmove.S
sysdeps/x86_64/multiarch/mempcpy.S
sysdeps/x86_64/multiarch/memset.S