This is the mail archive of the glibc-cvs@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]

GNU C Library master sources branch, master, updated. glibc-2.11-212-g020ecba


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  020ecba7fc0cde6febac28e114a56f9eb47dc871 (commit)
      from  c60bce2cdd757a96077f2ff0147619abacfabfbb (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=020ecba7fc0cde6febac28e114a56f9eb47dc871

commit 020ecba7fc0cde6febac28e114a56f9eb47dc871
Author: H.J. Lu <hongjiu.lu@intel.com>
Date:   Wed Feb 17 23:01:55 2010 -0800

    Align x86 memcmp-sse4.S and fix unwind info.

diff --git a/ChangeLog b/ChangeLog
index 600c65d..5f2d25c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2010-02-16  H.J. Lu  <hongjiu.lu@intel.com>
 
+	* sysdeps/i386/i686/multiarch/memcmp-sse4.S: Add alignnments.
+	Fix one unwind info problem.
+
 	* sysdeps/i386/i686/multiarch/memcmp-ssse3.S (less1bytes): Add CFI_POP.
 
 	* sysdeps/i386/i686/multiarch/strcmp-sse4.S: Simplify unwind info.
diff --git a/sysdeps/i386/i686/multiarch/memcmp-sse4.S b/sysdeps/i386/i686/multiarch/memcmp-sse4.S
index 71c4e1c..b1ed778 100644
--- a/sysdeps/i386/i686/multiarch/memcmp-sse4.S
+++ b/sysdeps/i386/i686/multiarch/memcmp-sse4.S
@@ -96,8 +96,9 @@ ENTRY (MEMCMP)
 	add	%ecx, %edx
 	add	%ecx, %eax
 	BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %ecx, 4)
-L(less8bytes):
 
+	ALIGN (4)
+L(less8bytes):
 	mov	(%eax), %bl
 	cmpb	(%edx), %bl
 	jne	L(nonzero)
@@ -154,7 +155,6 @@ L(0bytes):
 	POP (%ebx)
 	xor	%eax, %eax
 	ret
-	CFI_PUSH (%ebx)
 
 	ALIGN (4)
 L(less1bytes):
@@ -207,6 +207,8 @@ L(64bytesormore_loop):
 	add	%ecx, %edx
 	add	%ecx, %eax
 	BRANCH_TO_JMPTBL_ENTRY(L(table_64bytes), %ecx, 4)
+
+	ALIGN (4)
 L(find_16diff):
 	sub	$16, %ecx
 L(find_32diff):
@@ -217,8 +219,8 @@ L(find_64diff):
 	add	%ecx, %edx
 	add	%ecx, %eax
 	jmp	L(16bytes)
-	ALIGN (4)
 
+	ALIGN (4)
 L(16bytes):
 	mov	-16(%eax), %ecx
 	mov	-16(%edx), %ebx
@@ -377,7 +379,7 @@ L(1bytes):
 	jne	L(end)
 	RETURN
 
-
+	ALIGN (4)
 L(52bytes):
 	movdqu	-52(%eax), %xmm1
 	movdqu	-52(%edx), %xmm2
@@ -406,6 +408,7 @@ L(20bytes):
 	jne	L(find_diff)
 	RETURN
 
+	ALIGN (4)
 L(53bytes):
 	movdqu	-53(%eax), %xmm1
 	movdqu	-53(%edx), %xmm2
@@ -437,6 +440,7 @@ L(21bytes):
 	jne	L(end)
 	RETURN
 
+	ALIGN (4)
 L(54bytes):
 	movdqu	-54(%eax), %xmm1
 	movdqu	-54(%edx), %xmm2
@@ -472,6 +476,7 @@ L(22bytes):
 	jne	L(end)
 	RETURN
 
+	ALIGN (4)
 L(55bytes):
 	movdqu	-55(%eax), %xmm1
 	movdqu	-55(%edx), %xmm2
@@ -509,6 +514,7 @@ L(23bytes):
 	jne	L(end)
 	RETURN
 
+	ALIGN (4)
 L(56bytes):
 	movdqu	-56(%eax), %xmm1
 	movdqu	-56(%edx), %xmm2
@@ -543,6 +549,7 @@ L(24bytes):
 	jne	L(find_diff)
 	RETURN
 
+	ALIGN (4)
 L(57bytes):
 	movdqu	-57(%eax), %xmm1
 	movdqu	-57(%edx), %xmm2
@@ -578,6 +585,7 @@ L(25bytes):
 	jne	L(end)
 	RETURN
 
+	ALIGN (4)
 L(58bytes):
 	movdqu	-58(%eax), %xmm1
 	movdqu	-58(%edx), %xmm2
@@ -619,6 +627,7 @@ L(26bytes):
 	jne	L(end)
 	RETURN
 
+	ALIGN (4)
 L(59bytes):
 	movdqu	-59(%eax), %xmm1
 	movdqu	-59(%edx), %xmm2
@@ -660,6 +669,7 @@ L(27bytes):
 	jne	L(end)
 	RETURN
 
+	ALIGN (4)
 L(60bytes):
 	movdqu	-60(%eax), %xmm1
 	movdqu	-60(%edx), %xmm2
@@ -696,6 +706,7 @@ L(28bytes):
 	jne	L(find_diff)
 	RETURN
 
+	ALIGN (4)
 L(61bytes):
 	movdqu	-61(%eax), %xmm1
 	movdqu	-61(%edx), %xmm2
@@ -738,6 +749,7 @@ L(29bytes):
 	jne	L(end)
 	RETURN
 
+	ALIGN (4)
 L(62bytes):
 	movdqu	-62(%eax), %xmm1
 	movdqu	-62(%edx), %xmm2
@@ -780,6 +792,7 @@ L(30bytes):
 	jne	L(end)
 	RETURN
 
+	ALIGN (4)
 L(63bytes):
 	movdqu	-63(%eax), %xmm1
 	movdqu	-63(%edx), %xmm2
@@ -826,6 +839,7 @@ L(31bytes):
 	jne	L(end)
 	RETURN
 
+	ALIGN (4)
 L(64bytes):
 	movdqu	-64(%eax), %xmm1
 	movdqu	-64(%edx), %xmm2
@@ -870,6 +884,7 @@ L(32bytes):
 	jne	L(find_diff)
 	RETURN
 
+	ALIGN (4)
 L(less16bytes):
 	add	%ebx, %eax
 	add	%ebx, %edx
@@ -914,8 +929,11 @@ L(end):
 	neg	%eax
 L(bigger):
 	ret
+END (MEMCMP)
 
+	.section .rodata.sse4.2,"a",@progbits
 	ALIGN (2)
+	.type	L(table_64bytes), @object
 L(table_64bytes):
 	.int	JMPTBL (L(0bytes), L(table_64bytes))
 	.int	JMPTBL (L(1bytes), L(table_64bytes))
@@ -982,7 +1000,5 @@ L(table_64bytes):
 	.int	JMPTBL (L(62bytes), L(table_64bytes))
 	.int	JMPTBL (L(63bytes), L(table_64bytes))
 	.int	JMPTBL (L(64bytes), L(table_64bytes))
-
-END (MEMCMP)
-
+	.size	L(table_64bytes), .-L(table_64bytes)
 #endif

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                 |    3 ++
 sysdeps/i386/i686/multiarch/memcmp-sse4.S |   30 ++++++++++++++++++++++------
 2 files changed, 26 insertions(+), 7 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]