From d6485c981b2b5aa4eb7cedc1ed1508183cb686f8 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 3 Jul 2009 03:01:57 -0700 Subject: 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. --- ChangeLog | 8 ++++++++ sysdeps/x86_64/multiarch/rawmemchr.S | 1 + sysdeps/x86_64/multiarch/strcmp.S | 1 + sysdeps/x86_64/multiarch/strcpy.S | 1 + sysdeps/x86_64/multiarch/strlen.S | 1 + 5 files changed, 12 insertions(+) diff --git a/ChangeLog b/ChangeLog index 53fcf2a1f8..8b02c0cba5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2009-07-03 Ulrich Drepper + + * 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 * 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 93ca631633..d4f265f430 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 2f4bf17d95..37985036aa 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 9920b0ec74..25cd01307d 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 79e6a977ec..82b03ccc28 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 -- cgit 1.4.1