This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
Hello,
I have small fix for this patch.
It seems strchr and strrchr both can be optimized in static mode as well.
So, I changed from
#if defined SHARED && !defined NOT_IN_libc
to
#ifndef NOT_IN_libc
everywhere in the patch.
Fixing patch is:
+++ b/sysdeps/i386/i686/multiarch/strchr-sse2-bsf.S
@@ -18,10 +18,9 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#if defined SHARED && !defined NOT_IN_libc
+#ifndef NOT_IN_libc
# include <sysdep.h>
-# include "asm-syntax.h"
# define CFI_PUSH(REG) \
cfi_adjust_cfa_offset (4); \
diff --git a/sysdeps/i386/i686/multiarch/strchr-sse2.S
b/sysdeps/i386/i686/multiarch/strchr-sse2.S
index 6da0d75..7702210 100644
--- a/sysdeps/i386/i686/multiarch/strchr-sse2.S
+++ b/sysdeps/i386/i686/multiarch/strchr-sse2.S
@@ -18,10 +18,9 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#if defined SHARED && !defined NOT_IN_libc
+#ifndef NOT_IN_libc
# include <sysdep.h>
-# include "asm-syntax.h"
# define CFI_PUSH(REG) \
cfi_adjust_cfa_offset (4); \
diff --git a/sysdeps/i386/i686/multiarch/strchr.S
b/sysdeps/i386/i686/multiarch/strchr.S
index 79c9c71..aed967c 100644
--- a/sysdeps/i386/i686/multiarch/strchr.S
+++ b/sysdeps/i386/i686/multiarch/strchr.S
@@ -21,10 +21,7 @@
#include <sysdep.h>
#include <init-arch.h>
-/* Define multiple versions only for the definition in libc and for the
- DSO. In static binaries, we need strchr before the initialization
- happened. */
-#if defined SHARED && !defined NOT_IN_libc
+#ifndef NOT_IN_libc
.section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
.globl __i686.get_pc_thunk.bx
.hidden __i686.get_pc_thunk.bx
diff --git a/sysdeps/i386/i686/multiarch/strrchr-sse2-bsf.S
b/sysdeps/i386/i686/multiarch/strrchr-sse2-bsf.S
index 1beeebb..f1bcb78 100644
--- a/sysdeps/i386/i686/multiarch/strrchr-sse2-bsf.S
+++ b/sysdeps/i386/i686/multiarch/strrchr-sse2-bsf.S
@@ -18,10 +18,9 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#if defined SHARED && !defined NOT_IN_libc
+#ifndef NOT_IN_libc
# include <sysdep.h>
-# include "asm-syntax.h"
# define CFI_PUSH(REG) \
cfi_adjust_cfa_offset (4); \
diff --git a/sysdeps/i386/i686/multiarch/strrchr-sse2.S
b/sysdeps/i386/i686/multiarch/strrchr-sse2.S
index 47d0fde..71cc69d 100644
--- a/sysdeps/i386/i686/multiarch/strrchr-sse2.S
+++ b/sysdeps/i386/i686/multiarch/strrchr-sse2.S
@@ -18,10 +18,9 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#if defined SHARED && !defined NOT_IN_libc
+#ifndef NOT_IN_libc
# include <sysdep.h>
-# include "asm-syntax.h"
# define CFI_PUSH(REG) \
cfi_adjust_cfa_offset (4); \
diff --git a/sysdeps/i386/i686/multiarch/strrchr.S
b/sysdeps/i386/i686/multiarch/strrchr.S
index b15b02a..866cac0 100644
--- a/sysdeps/i386/i686/multiarch/strrchr.S
+++ b/sysdeps/i386/i686/multiarch/strrchr.S
@@ -21,10 +21,7 @@
#include <sysdep.h>
#include <init-arch.h>
-/* Define multiple versions only for the definition in libc and for the
- DSO. In static binaries, we need strrchr before the initialization
- happened. */
-#if defined SHARED && !defined NOT_IN_libc
+#ifndef NOT_IN_libc
.section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
.globl __i686.get_pc_thunk.bx
.hidden __i686.get_pc_thunk.bx
2011/8/8 Dmitrieva Liubov <liubov.dmitrieva@gmail.com>:
> Hello,
>
> This patch improves strchr and strrchr for IA 32 bit with SSE2 (two
> versions: with bsf, bsr instructions, without bsf, bsr instructions
> (good on atom) ).
> Tested on core i7, core 2, atom.
>
> It improves performance by up to 6.5 X for strrchr and 7.5 X for strchr.
>
>
> --
> Liubov Dmitrieva
>
Attachment:
strchr_strrchr_fix.patch
Description: Binary data
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |