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

Re: [PATCH] x86-64: memcmp-avx2-movbe.S needs saturating subtraction [BZ #21662]


On 06/23/2017 01:52 PM, Florian Weimer wrote:
On 06/23/2017 10:48 PM, Richard Henderson wrote:
On 06/23/2017 06:51 AM, Florian Weimer wrote:
+    shll    $8, %eax
+    shll    $8, %ecx
       bswap    %eax
       bswap    %ecx
+    movzbl    -1(%rdi, %rdx), %edi
+    movzbl    -1(%rsi, %rdx), %esi
+    orl    %edi, %eax
+    orl    %esi, %ecx

Do you really need to re-load and merge the final byte?
It would appear you could leave the low byte zero.

Sorry, I don't understand.  Is this the same issue as H.J. raised and
improved?

The final/third byte certainly can affect the outcome of the comparison.

Obviously I didn't intend to imply that one can completely ignore the final byte. From the larger context that I didn't quote, it appeared that the last byte has already been loaded.

That said, I take it all back -- I mis-read the diff.


r~


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