Align functions to 16-byte boundary.
authorUlrich Drepper <drepper@redhat.com>
Fri, 3 Jul 2009 10:01:57 +0000 (03:01 -0700)
committerUlrich Drepper <drepper@redhat.com>
Fri, 3 Jul 2009 10:01:57 +0000 (03:01 -0700)
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.

ChangeLog
sysdeps/x86_64/multiarch/rawmemchr.S
sysdeps/x86_64/multiarch/strcmp.S
sysdeps/x86_64/multiarch/strcpy.S
sysdeps/x86_64/multiarch/strlen.S

index 53fcf2a..8b02c0c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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>
 
        * config.h.in (HAVE_SSE4_SUPPORT): New macro.
index 93ca631..d4f265f 100644 (file)
@@ -77,6 +77,7 @@ __rawmemchr_sse42:
 # undef ENTRY
 # define ENTRY(name) \
        .type __rawmemchr_sse2, @function; \
+       .align 16; \
        __rawmemchr_sse2: cfi_startproc; \
        CALL_MCOUNT
 # undef END
index 2f4bf17..3798503 100644 (file)
@@ -1659,6 +1659,7 @@ LABEL(unaligned_table):
 # undef ENTRY
 # define ENTRY(name) \
        .type STRCMP_SSE2, @function; \
+       .align 16; \
        STRCMP_SSE2: cfi_startproc; \
        CALL_MCOUNT
 # undef END
index 9920b0e..25cd013 100644 (file)
@@ -1896,6 +1896,7 @@ LABEL(unaligned_table):
 # undef ENTRY
 # define ENTRY(name) \
        .type STRCPY_SSE2, @function; \
+       .align 16; \
        STRCPY_SSE2: cfi_startproc; \
        CALL_MCOUNT
 # undef END
index 79e6a97..82b03cc 100644 (file)
@@ -77,6 +77,7 @@ __strlen_sse42:
 # undef ENTRY
 # define ENTRY(name) \
        .type __strlen_sse2, @function; \
+       .align 16; \
        __strlen_sse2: cfi_startproc; \
        CALL_MCOUNT
 # undef END