Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Feb 2016 20:48:54 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-amd64@FreeBSD.org
Subject:   [Bug 207422] sys/amd64/amd64/support.S mempcy does not return dest
Message-ID:  <bug-207422-6@https.bugs.freebsd.org/bugzilla/>

index | next in thread | raw e-mail

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=207422

            Bug ID: 207422
           Summary: sys/amd64/amd64/support.S mempcy does not return dest
           Product: Base System
           Version: 11.0-CURRENT
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs@FreeBSD.org
          Reporter: novice@techie.com
                CC: freebsd-amd64@FreeBSD.org
                CC: freebsd-amd64@FreeBSD.org

I've checked the i386 and arm paths, and they appear to return dest in memcpy.
This is consistent with libc version of memcpy. For some reason, the amd64
version does not. Shouldn't we do something like:

ENTRY(memcpy)
        PUSH_FRAME_POINTER
        movq    %rdi,%rax                       /* return dst pointer */
        movq    %rdx,%rcx
        shrq    $3,%rcx                         /* copy by 64-bit words */
        cld                                     /* copy forwards */
        rep
        movsq
        movq    %rdx,%rcx
        andq    $7,%rcx                         /* any bytes left? */
        rep
        movsb
        POP_FRAME_POINTER
        ret
END(memcpy)

-- 
You are receiving this mail because:
You are on the CC list for the bug.

help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-207422-6>