On Tue, 4 Sep 2001, Daniel Kobras wrote:

[assembly dumps]

> Comments?

Indeed, that's in the core (unpatched) glibc-2.2.4 sources:

glibc-2.2.4/sysdeps/i386/i586/memcpy.S

[...]

        movl    %eax, %ecx
        subl    $32, %ecx
        js      L(2)

        /* Read ahead to make sure we write in the cache since the stupid
           i586 designers haven't implemented read-on-write-miss.  */
        movl    (%edi), %eax
L(3):   movl    28(%edi), %edx

        /* Now correct the loop counter.  Please note that in the
following
           code the flags are not changed anymore.  */
        subl    $32, %ecx

[...]

Wow, the most outstanding thing is that this piece of code haven't changed
since: "Revision 1.1, Tue Nov 11 23:38:36 1997 UTC (3 years, 9 months ago)
by drepper"

For reference:
<http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/i386/i586/memcpy.S?cvsroot=glibc>

Thanks,
Gwenole


Reply via email to