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

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D207422

            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 memc=
py.
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)

--=20
You are receiving this mail because:
You are the assignee for the bug.=



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