This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
PATCH: Use xorl for bzero
- From: "H.J. Lu" <hongjiu dot lu at intel dot com>
- To: GNU C Library <libc-alpha at sourceware dot org>
- Date: Tue, 7 Sep 2010 08:47:14 -0700
- Subject: PATCH: Use xorl for bzero
- Reply-to: "H.J. Lu" <hjl dot tools at gmail dot com>
Hi,
This patch uses xorl instead of movd for bzero.
H.J.
---
2010-09-07 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/i386/i686/multiarch/memset-sse2.S: Use xorl for
bzero.
* sysdeps/i386/i686/multiarch/memset-sse2-rep.S: Likewise.
diff --git a/sysdeps/i386/i686/multiarch/memset-sse2-rep.S b/sysdeps/i386/i686/multiarch/memset-sse2-rep.S
index d4e81b7..b592ed0 100644
--- a/sysdeps/i386/i686/multiarch/memset-sse2-rep.S
+++ b/sysdeps/i386/i686/multiarch/memset-sse2-rep.S
@@ -246,7 +246,11 @@ L(not_aligned_16):
add $16, %edx
sub %edx, %eax
add %eax, %ecx
+#ifdef USE_AS_BZERO
+ xorl %eax, %eax
+#else
movd %xmm0, %eax
+#endif
ALIGN (4)
L(aligned_16):
diff --git a/sysdeps/i386/i686/multiarch/memset-sse2.S b/sysdeps/i386/i686/multiarch/memset-sse2.S
index 09d2ea8..bfa23f4 100644
--- a/sysdeps/i386/i686/multiarch/memset-sse2.S
+++ b/sysdeps/i386/i686/multiarch/memset-sse2.S
@@ -246,7 +246,11 @@ L(not_aligned_16):
add $16, %edx
sub %edx, %eax
add %eax, %ecx
+#ifdef USE_AS_BZERO
+ xorl %eax, %eax
+#else
movd %xmm0, %eax
+#endif
ALIGN (4)
L(aligned_16):