From 049816c3be14e47e5fe10f8cd5a38bb611d34ce5 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Fri, 23 Jun 2017 12:45:57 -0700 Subject: [PATCH] x86-64: Optimize L(between_2_3) in memcmp-avx2-movbe.S 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 | 5 +++++ sysdeps/x86_64/multiarch/memcmp-avx2-movbe.S | 6 ++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3ce2b0467bf..ced515c4628 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2017-06-23 H.J. Lu + + * sysdeps/x86_64/multiarch/memcmp-avx2-movbe.S (between_2_3): + Replace movzbl and orl with movb. + 2017-06-23 Gabriel F. T. Gomes * manual/arith.texi (Infinity and NaN): Document SNANFN and SNANFNx. diff --git a/sysdeps/x86_64/multiarch/memcmp-avx2-movbe.S b/sysdeps/x86_64/multiarch/memcmp-avx2-movbe.S index 2cd2f71b853..abcc61c3818 100644 --- a/sysdeps/x86_64/multiarch/memcmp-avx2-movbe.S +++ b/sysdeps/x86_64/multiarch/memcmp-avx2-movbe.S @@ -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 -- 2.47.2