summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2010-03-18 14:57:16 +0100
committerAndreas Schwab <schwab@redhat.com>2010-03-18 14:58:32 +0100
commitfc7a0b487b52ee549a3f80ca18a84326a3e4c17b (patch)
treecd8c4d71bcb822f3f22377c799584a432f86c0e5
parent7c156b9842f0076e7e4b9de5ad67e313adfa2c36 (diff)
Fix issues in x86 memcmp-ssse3.S
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/i386/i686/multiarch/memcmp-ssse3.S15
2 files changed, 20 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 84196ee37d..bbf54aa2c3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2010-03-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ * sysdeps/i386/i686/multiarch/memcmp-ssse3.S: Update %xmm3
+ when exit from loop.
+
2010-03-09 David S. Miller <davem@davemloft.net>
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Handling
diff --git a/sysdeps/i386/i686/multiarch/memcmp-ssse3.S b/sysdeps/i386/i686/multiarch/memcmp-ssse3.S
index d2f852f726..2e0d15fe55 100644
--- a/sysdeps/i386/i686/multiarch/memcmp-ssse3.S
+++ b/sysdeps/i386/i686/multiarch/memcmp-ssse3.S
@@ -269,6 +269,7 @@ L(shr_1_gobble_loop):
lea 32(%edi), %edi
jz L(shr_1_gobble_loop)
+ pand %xmm0, %xmm3
cmp $0, %ecx
jge L(shr_1_gobble_next)
@@ -352,6 +353,7 @@ L(shr_2_gobble_loop):
lea 32(%edi), %edi
jz L(shr_2_gobble_loop)
+ pand %xmm0, %xmm3
cmp $0, %ecx
jge L(shr_2_gobble_next)
@@ -434,6 +436,7 @@ L(shr_3_gobble_loop):
lea 32(%edi), %edi
jz L(shr_3_gobble_loop)
+ pand %xmm0, %xmm3
cmp $0, %ecx
jge L(shr_3_gobble_next)
@@ -516,6 +519,7 @@ L(shr_4_gobble_loop):
lea 32(%edi), %edi
jz L(shr_4_gobble_loop)
+ pand %xmm0, %xmm3
cmp $0, %ecx
jge L(shr_4_gobble_next)
@@ -598,6 +602,7 @@ L(shr_5_gobble_loop):
lea 32(%edi), %edi
jz L(shr_5_gobble_loop)
+ pand %xmm0, %xmm3
cmp $0, %ecx
jge L(shr_5_gobble_next)
@@ -680,6 +685,7 @@ L(shr_6_gobble_loop):
lea 32(%edi), %edi
jz L(shr_6_gobble_loop)
+ pand %xmm0, %xmm3
cmp $0, %ecx
jge L(shr_6_gobble_next)
@@ -762,6 +768,7 @@ L(shr_7_gobble_loop):
lea 32(%edi), %edi
jz L(shr_7_gobble_loop)
+ pand %xmm0, %xmm3
cmp $0, %ecx
jge L(shr_7_gobble_next)
@@ -844,6 +851,7 @@ L(shr_8_gobble_loop):
lea 32(%edi), %edi
jz L(shr_8_gobble_loop)
+ pand %xmm0, %xmm3
cmp $0, %ecx
jge L(shr_8_gobble_next)
@@ -926,6 +934,7 @@ L(shr_9_gobble_loop):
lea 32(%edi), %edi
jz L(shr_9_gobble_loop)
+ pand %xmm0, %xmm3
cmp $0, %ecx
jge L(shr_9_gobble_next)
@@ -1008,6 +1017,7 @@ L(shr_10_gobble_loop):
lea 32(%edi), %edi
jz L(shr_10_gobble_loop)
+ pand %xmm0, %xmm3
cmp $0, %ecx
jge L(shr_10_gobble_next)
@@ -1090,6 +1100,7 @@ L(shr_11_gobble_loop):
lea 32(%edi), %edi
jz L(shr_11_gobble_loop)
+ pand %xmm0, %xmm3
cmp $0, %ecx
jge L(shr_11_gobble_next)
@@ -1172,6 +1183,7 @@ L(shr_12_gobble_loop):
lea 32(%edi), %edi
jz L(shr_12_gobble_loop)
+ pand %xmm0, %xmm3
cmp $0, %ecx
jge L(shr_12_gobble_next)
@@ -1254,6 +1266,7 @@ L(shr_13_gobble_loop):
lea 32(%edi), %edi
jz L(shr_13_gobble_loop)
+ pand %xmm0, %xmm3
cmp $0, %ecx
jge L(shr_13_gobble_next)
@@ -1336,6 +1349,7 @@ L(shr_14_gobble_loop):
lea 32(%edi), %edi
jz L(shr_14_gobble_loop)
+ pand %xmm0, %xmm3
cmp $0, %ecx
jge L(shr_14_gobble_next)
@@ -1418,6 +1432,7 @@ L(shr_15_gobble_loop):
lea 32(%edi), %edi
jz L(shr_15_gobble_loop)
+ pand %xmm0, %xmm3
cmp $0, %ecx
jge L(shr_15_gobble_next)