about summary refs log tree commit diff
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.tar.gz
glibc-ceaa0c5dc3f86d3d3126abdd592a3c4fdc457255.tar.xz
glibc-ceaa0c5dc3f86d3d3126abdd592a3c4fdc457255.zip
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 e2fc2951a2..6ca72bfc50 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 5a19ba26bc..4797bc3ba7 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 0dc651f017..715fa6b6f0 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 f40dfdc026..8ec524d895 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 efdc82dde7..a8a9e571bf 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 9e9c916805..4c5a48cdae 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 c730e0a5b3..a430e5fa0f 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 bbc94c3e89..f839ecfbdc 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 1d35f8fd1e..d61e126733 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__ */