aboutsummaryrefslogtreecommitdiff
path: root/lib/libc/amd64/string/memmove.S
Commit message (Collapse)AuthorAgeFilesLines
* amd64: align target memmove buffer to 16 bytes before using rep movsMateusz Guzik2018-12-011-0/+30
| | | | | | | | | | | See the review for sample test results. Reviewed by: kib (kernel part) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D18401 Notes: svn path=/head/; revision=341364
* amd64: handle small memmove buffers with overlapping storesMateusz Guzik2018-11-301-40/+52
| | | | | | | | | | | Handling sizes of > 32 backwards will be updated later. Reviewed by: kib (kernel part) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D18387 Notes: svn path=/head/; revision=341351
* amd64: remove stale attribution for memmove workMateusz Guzik2018-11-301-2/+0
| | | | | | | | | While the routine started as expanded bcopy, it is now entirely rewritten. Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=341273
* amd64: tidy up copying backwards in memmoveMateusz Guzik2018-11-301-28/+26
| | | | | | | | | | | | | | | | | | | | For non-ERMS case the code used handle possible trailing bytes with movsb first and then followed it up with movsq. This also happened to alter how calculations were done for other cases. Handle the tail with regular movs, just like when copying forward. Use leaq to calculate the right offset from the get go, instead of doing separate add and sub. This adjusts the offset for non-rep cases so that they can be used to handle the tail. The routine is still a work in progress. Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=341272
* amd64: import updated kernel memmove to libcMateusz Guzik2018-10-131-4/+269
| | | | | | | | | | | | | | bcopy is left alone as it is expected to be converted to a C func. Due to header mess ALIGN_TEXT is temporarily defined explicitly in memmove.S Reviewed by: kib Approved by: re (gjb) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D17538 Notes: svn path=/head/; revision=339347
* Remove duplicate .note.GNU-stack section declaration. bcopy alreadyKonstantin Belousov2011-02-041-2/+0
| | | | | | | | | made the neccessary provisions. Reported by: arundel Notes: svn path=/head/; revision=218303
* Add section .note.GNU-stack for assembly files used by 386 and amd64.Konstantin Belousov2011-01-071-0/+2
| | | | Notes: svn path=/head/; revision=217106
* Add machine-specific, optimized implementations of bcopy, bzero, memcpy,Alan Cox2005-04-071-0/+5
memmove, and memset. PR: 73111 Submitted by: Ville-Pertti Keinonen <will@iki.fi> (taken from NetBSD) MFC after: 3 weeks Notes: svn path=/head/; revision=144730