]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
x86-64: Optimize L(between_2_3) in memcmp-avx2-movbe.S
authorH.J. Lu <hjl.tools@gmail.com>
Fri, 23 Jun 2017 19:45:57 +0000 (12:45 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Fri, 23 Jun 2017 19:46:12 +0000 (12:46 -0700)
Turn

movzbl -1(%rdi, %rdx), %edi
movzbl -1(%rsi, %rdx), %esi
orl %edi, %eax
orl %esi, %ecx

into

movb -1(%rdi, %rdx), %al
movb -1(%rsi, %rdx), %cl

* sysdeps/x86_64/multiarch/memcmp-avx2-movbe.S (between_2_3):
Replace movzbl and orl with movb.

ChangeLog
sysdeps/x86_64/multiarch/memcmp-avx2-movbe.S

index 3ce2b0467bf3c4deee4782d3e97cd5e2161ec377..ced515c462896a0b6cc1111b19cb1c8a6885f9f1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-06-23  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * sysdeps/x86_64/multiarch/memcmp-avx2-movbe.S (between_2_3):
+       Replace movzbl and orl with movb.
+
 2017-06-23  Gabriel F. T. Gomes  <gftg@linux.vnet.ibm.com>
 
        * manual/arith.texi (Infinity and NaN): Document SNANFN and SNANFNx.
index 2cd2f71b853f112a25753cf51081064fd169ab60..abcc61c3818678a62c5bd870d56f3a58f91c7ce8 100644 (file)
@@ -144,10 +144,8 @@ L(between_2_3):
        shll    $8, %ecx
        bswap   %eax
        bswap   %ecx
-       movzbl  -1(%rdi, %rdx), %edi
-       movzbl  -1(%rsi, %rdx), %esi
-       orl     %edi, %eax
-       orl     %esi, %ecx
+       movb    -1(%rdi, %rdx), %al
+       movb    -1(%rsi, %rdx), %cl
        /* Subtraction is okay because the upper 8 bits are zero.  */
        subl    %ecx, %eax
        ret