Align functions to 16-byte boundary.

Some of the new multi-arch string functions for x86-64 were
not aligned to 16 byte boundarie,s possibly creating unnecessary
cache line misses and delays.
This commit is contained in:
Ulrich Drepper 2009-07-03 03:01:57 -07:00
parent 06e51c8f3d
commit d6485c981b
5 changed files with 12 additions and 0 deletions

View File

@ -1,3 +1,11 @@
2009-07-03 Ulrich Drepper <drepper@redhat.com>
* sysdeps/x86_64/multiarch/strcmp.S: Make sure functions are all
aligned to 16 byte boundaries.
* sysdeps/x86_64/multiarch/strcpy.S: Likewise.
* sysdeps/x86_64/multiarch/strlen.S: Likewise.
* sysdeps/x86_64/multiarch/rawmemchr.S: Likewise.
2009-07-02 H.J. Lu <hongjiu.lu@intel.com> 2009-07-02 H.J. Lu <hongjiu.lu@intel.com>
* config.h.in (HAVE_SSE4_SUPPORT): New macro. * config.h.in (HAVE_SSE4_SUPPORT): New macro.

View File

@ -77,6 +77,7 @@ __rawmemchr_sse42:
# undef ENTRY # undef ENTRY
# define ENTRY(name) \ # define ENTRY(name) \
.type __rawmemchr_sse2, @function; \ .type __rawmemchr_sse2, @function; \
.align 16; \
__rawmemchr_sse2: cfi_startproc; \ __rawmemchr_sse2: cfi_startproc; \
CALL_MCOUNT CALL_MCOUNT
# undef END # undef END

View File

@ -1659,6 +1659,7 @@ LABEL(unaligned_table):
# undef ENTRY # undef ENTRY
# define ENTRY(name) \ # define ENTRY(name) \
.type STRCMP_SSE2, @function; \ .type STRCMP_SSE2, @function; \
.align 16; \
STRCMP_SSE2: cfi_startproc; \ STRCMP_SSE2: cfi_startproc; \
CALL_MCOUNT CALL_MCOUNT
# undef END # undef END

View File

@ -1896,6 +1896,7 @@ LABEL(unaligned_table):
# undef ENTRY # undef ENTRY
# define ENTRY(name) \ # define ENTRY(name) \
.type STRCPY_SSE2, @function; \ .type STRCPY_SSE2, @function; \
.align 16; \
STRCPY_SSE2: cfi_startproc; \ STRCPY_SSE2: cfi_startproc; \
CALL_MCOUNT CALL_MCOUNT
# undef END # undef END

View File

@ -77,6 +77,7 @@ __strlen_sse42:
# undef ENTRY # undef ENTRY
# define ENTRY(name) \ # define ENTRY(name) \
.type __strlen_sse2, @function; \ .type __strlen_sse2, @function; \
.align 16; \
__strlen_sse2: cfi_startproc; \ __strlen_sse2: cfi_startproc; \
CALL_MCOUNT CALL_MCOUNT
# undef END # undef END