aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2011-09-06 21:53:03 -0400
committerUlrich Drepper <drepper@gmail.com>2011-09-06 21:53:03 -0400
commitceaa0c5dc3f86d3d3126abdd592a3c4fdc457255 (patch)
treed45fed46e986e9ab480c266b4e68c39e818f1e1c
parenta77d3c17dc6517636c1cf6ab9c6bb8c257772354 (diff)
downloadglibc-ceaa0c5dc3f86d3d3126abdd592a3c4fdc457255.zip
glibc-ceaa0c5dc3f86d3d3126abdd592a3c4fdc457255.tar.gz
glibc-ceaa0c5dc3f86d3d3126abdd592a3c4fdc457255.tar.bz2
Move Atom-optimized code out of the way and together
-rw-r--r--ChangeLog10
-rw-r--r--sysdeps/i386/i686/multiarch/strchr-sse2-bsf.S2
-rw-r--r--sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S4
-rw-r--r--sysdeps/i386/i686/multiarch/strrchr-sse2-bsf.S2
-rw-r--r--sysdeps/i386/sysdep.h4
-rw-r--r--sysdeps/x86_64/multiarch/strchr-sse2-no-bsf.S2
-rw-r--r--sysdeps/x86_64/multiarch/strlen-no-bsf.S2
-rw-r--r--sysdeps/x86_64/multiarch/strrchr-sse2-no-bsf.S2
-rw-r--r--sysdeps/x86_64/sysdep.h4
9 files changed, 23 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index e2fc295..6ca72bf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
2011-09-06 Ulrich Drepper <drepper@gmail.com>
+ * sysdeps/i386/sysdep.h: Define atom_text_section.
+ * sysdeps/x86_64/sysdep.h: Likewise.
+ * sysdeps/i386/i686/multiarch/strchr-sse2-bsf.S: Place function in
+ section with atom_text_section.
+ * sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S: Likewise.
+ * sysdeps/i386/i686/multiarch/strrchr-sse2-bsf.S: Likewise.
+ * sysdeps/x86_64/multiarch/strchr-sse2-no-bsf.S: Likewise.
+ * sysdeps/x86_64/multiarch/strlen-no-bsf.S: Likewise.
+ * sysdeps/x86_64/multiarch/strrchr-sse2-no-bsf.S: Likewise.
+
* sysdeps/unix/sysv/linux/x86_64/clock_gettime.c: New file.
* sysdeps/unix/sysv/linux/clock_gettime.c (SYSCALL_GETTIME): Allow
already be defined. Change to take two parameters and don't assign
diff --git a/sysdeps/i386/i686/multiarch/strchr-sse2-bsf.S b/sysdeps/i386/i686/multiarch/strchr-sse2-bsf.S
index 5a19ba2..4797bc3 100644
--- a/sysdeps/i386/i686/multiarch/strchr-sse2-bsf.S
+++ b/sysdeps/i386/i686/multiarch/strchr-sse2-bsf.S
@@ -40,7 +40,7 @@
# define STR1 PARMS
# define STR2 STR1+4
- .text
+ atom_text_section
ENTRY (__strchr_sse2_bsf)
ENTRANCE
diff --git a/sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S b/sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S
index 0dc651f..715fa6b 100644
--- a/sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S
+++ b/sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S
@@ -1,5 +1,5 @@
/* strlen with SSE2 and BSF
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2011 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -39,7 +39,7 @@
#define RETURN POP (%edi); POP (%esi); ret; \
cfi_restore_state; cfi_remember_state
- .text
+ atom_text_section
ENTRY ( __strlen_sse2_bsf)
ENTRANCE
mov STR(%esp), %edi
diff --git a/sysdeps/i386/i686/multiarch/strrchr-sse2-bsf.S b/sysdeps/i386/i686/multiarch/strrchr-sse2-bsf.S
index f40dfdc..8ec524d 100644
--- a/sysdeps/i386/i686/multiarch/strrchr-sse2-bsf.S
+++ b/sysdeps/i386/i686/multiarch/strrchr-sse2-bsf.S
@@ -37,7 +37,7 @@
# define STR1 PARMS
# define STR2 STR1+4
- .text
+ atom_text_section
ENTRY (__strrchr_sse2_bsf)
mov STR1(%esp), %ecx
diff --git a/sysdeps/i386/sysdep.h b/sysdeps/i386/sysdep.h
index efdc82d..a8a9e57 100644
--- a/sysdeps/i386/sysdep.h
+++ b/sysdeps/i386/sysdep.h
@@ -1,5 +1,5 @@
/* Assembler macros for i386.
- Copyright (C) 1991-93,95,96,98,2002,2003,2005,2006
+ Copyright (C) 1991-93,95,96,98,2002,2003,2005,2006,2011
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -167,4 +167,6 @@ __i686.get_pc_thunk.reg: \
#endif
#endif
+#define atom_text_section .section ".text.atom", "ax"
+
#endif /* __ASSEMBLER__ */
diff --git a/sysdeps/x86_64/multiarch/strchr-sse2-no-bsf.S b/sysdeps/x86_64/multiarch/strchr-sse2-no-bsf.S
index 9e9c916..4c5a48c 100644
--- a/sysdeps/x86_64/multiarch/strchr-sse2-no-bsf.S
+++ b/sysdeps/x86_64/multiarch/strchr-sse2-no-bsf.S
@@ -23,7 +23,7 @@
# include <sysdep.h>
# include "asm-syntax.h"
- .text
+ atom_text_section
ENTRY (__strchr_sse2_no_bsf)
movd %esi, %xmm1
movq %rdi, %rcx
diff --git a/sysdeps/x86_64/multiarch/strlen-no-bsf.S b/sysdeps/x86_64/multiarch/strlen-no-bsf.S
index c730e0a..a430e5f 100644
--- a/sysdeps/x86_64/multiarch/strlen-no-bsf.S
+++ b/sysdeps/x86_64/multiarch/strlen-no-bsf.S
@@ -26,7 +26,7 @@
# define RETURN ret
- .section .text.sse2,"ax",@progbits
+ atom_text_section
ENTRY (__strlen_no_bsf)
# endif
xor %eax, %eax
diff --git a/sysdeps/x86_64/multiarch/strrchr-sse2-no-bsf.S b/sysdeps/x86_64/multiarch/strrchr-sse2-no-bsf.S
index bbc94c3..f839ecf 100644
--- a/sysdeps/x86_64/multiarch/strrchr-sse2-no-bsf.S
+++ b/sysdeps/x86_64/multiarch/strrchr-sse2-no-bsf.S
@@ -23,7 +23,7 @@
# include <sysdep.h>
# include "asm-syntax.h"
- .text
+ atom_text_section
ENTRY (__strrchr_sse2_no_bsf)
movd %rsi, %xmm1
diff --git a/sysdeps/x86_64/sysdep.h b/sysdeps/x86_64/sysdep.h
index 1d35f8f..d61e126 100644
--- a/sysdeps/x86_64/sysdep.h
+++ b/sysdeps/x86_64/sysdep.h
@@ -1,5 +1,5 @@
/* Assembler macros for x86-64.
- Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -114,4 +114,6 @@ lose: \
# endif
#endif
+#define atom_text_section .section ".text.atom", "ax"
+
#endif /* __ASSEMBLER__ */