diff options
author | Ulrich Drepper <drepper@redhat.com> | 2009-07-03 03:01:57 -0700 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2009-07-03 03:01:57 -0700 |
commit | d6485c981b2b5aa4eb7cedc1ed1508183cb686f8 (patch) | |
tree | a7ad0d4032ea0f219996198142f867f45580d554 | |
parent | 06e51c8f3de38761f8855700841bc49cf495c8c0 (diff) | |
download | glibc-d6485c981b2b5aa4eb7cedc1ed1508183cb686f8.zip glibc-d6485c981b2b5aa4eb7cedc1ed1508183cb686f8.tar.gz glibc-d6485c981b2b5aa4eb7cedc1ed1508183cb686f8.tar.bz2 |
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.
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | sysdeps/x86_64/multiarch/rawmemchr.S | 1 | ||||
-rw-r--r-- | sysdeps/x86_64/multiarch/strcmp.S | 1 | ||||
-rw-r--r-- | sysdeps/x86_64/multiarch/strcpy.S | 1 | ||||
-rw-r--r-- | sysdeps/x86_64/multiarch/strlen.S | 1 |
5 files changed, 12 insertions, 0 deletions
@@ -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. diff --git a/sysdeps/x86_64/multiarch/rawmemchr.S b/sysdeps/x86_64/multiarch/rawmemchr.S index 93ca631..d4f265f 100644 --- a/sysdeps/x86_64/multiarch/rawmemchr.S +++ b/sysdeps/x86_64/multiarch/rawmemchr.S @@ -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 diff --git a/sysdeps/x86_64/multiarch/strcmp.S b/sysdeps/x86_64/multiarch/strcmp.S index 2f4bf17..3798503 100644 --- a/sysdeps/x86_64/multiarch/strcmp.S +++ b/sysdeps/x86_64/multiarch/strcmp.S @@ -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 diff --git a/sysdeps/x86_64/multiarch/strcpy.S b/sysdeps/x86_64/multiarch/strcpy.S index 9920b0e..25cd013 100644 --- a/sysdeps/x86_64/multiarch/strcpy.S +++ b/sysdeps/x86_64/multiarch/strcpy.S @@ -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 diff --git a/sysdeps/x86_64/multiarch/strlen.S b/sysdeps/x86_64/multiarch/strlen.S index 79e6a97..82b03cc 100644 --- a/sysdeps/x86_64/multiarch/strlen.S +++ b/sysdeps/x86_64/multiarch/strlen.S @@ -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 |