Revision tags: release/14.0.0 |
|
#
1d386b48 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
#
b3e76948 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
Revision tags: release/13.2.0, release/12.4.0, release/13.1.0, release/12.3.0, release/13.0.0 |
|
#
0db6aef4 |
| 31-Jan-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
amd64: add a note about simd to libc memset, memmove and memcmp
|
#
164c3b81 |
| 29-Jan-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
amd64: add missing ALIGN_TEXT to loops in memset and memmove
|
Revision tags: release/12.2.0, release/11.4.0, release/12.1.0, release/11.3.0, release/12.0.0 |
|
#
3d5db455 |
| 24-Nov-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r340427 through r340868.
|
#
088ac3ef |
| 16-Nov-2018 |
Mateusz Guzik <mjg@FreeBSD.org> |
amd64: handle small memset buffers with overlapping stores
Instead of jumping to locations which store the exact number of bytes, use displacement to move the destination.
In particular the followi
amd64: handle small memset buffers with overlapping stores
Instead of jumping to locations which store the exact number of bytes, use displacement to move the destination.
In particular the following clears an area between 8-16 (inclusive) branch-free:
movq %r10,(%rdi) movq %r10,-8(%rdi,%rcx)
For instance for rcx of 10 the second line is rdi + 10 - 8 = rdi + 2. Writing 8 bytes starting at that offset overlaps with 6 bytes written previously and writes 2 new, giving 10 in total.
Provides a nice win for smaller stores. Other ones are erratic depending on the microarchitecture.
General idea taken from NetBSD (restricted use of the trick) and bionic string functions (use for various ranges like in this patch).
Reviewed by: kib (previous version) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D17660
show more ...
|
#
ad2ff705 |
| 15-Nov-2018 |
Mateusz Guzik <mjg@FreeBSD.org> |
amd64: sync up libc memset with the kernel version
- tidy up memset to have rax set earlier for small sizes - finish the tail in memset with an overlapping store - align memset buffers to 16 bytes b
amd64: sync up libc memset with the kernel version
- tidy up memset to have rax set earlier for small sizes - finish the tail in memset with an overlapping store - align memset buffers to 16 bytes before using rep stos
Sponsored by: The FreeBSD Foundation
show more ...
|
#
6fff6344 |
| 15-Nov-2018 |
Mateusz Guzik <mjg@FreeBSD.org> |
amd64: convert libc bzero to a C func to avoid future bloat
Reviewed by: kib (previous version) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D17549
|
#
c6879c6c |
| 23-Oct-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r339015 through r339669.
|
#
fc3f42d8 |
| 08-Oct-2018 |
Glen Barber <gjb@FreeBSD.org> |
MFH r339206-r339212, r339215-r339239
Sponsored by: The FreeBSD Foundation
|
#
167374a1 |
| 05-Oct-2018 |
Mateusz Guzik <mjg@FreeBSD.org> |
amd64: import updated kernel memset to libc
See r339205 for details.
An unused ERMS support is retained in the macro. It will be activated after ifunc support lands.
Reviewed by: kib Approved b
amd64: import updated kernel memset to libc
See r339205 for details.
An unused ERMS support is retained in the macro. It will be activated after ifunc support lands.
Reviewed by: kib Approved by: re (gjb) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D17405
show more ...
|
#
01d4e214 |
| 05-Oct-2018 |
Glen Barber <gjb@FreeBSD.org> |
MFH r338661 through r339200.
Sponsored by: The FreeBSD Foundation
|
#
7e02ad07 |
| 01-Oct-2018 |
Mateusz Guzik <mjg@FreeBSD.org> |
amd64: reimplement libc memset and bzero with kernel memset
This is a depessimization, see r334537 for an explanation. Routines remain significantly slower than they have to be.
bzero was removed f
amd64: reimplement libc memset and bzero with kernel memset
This is a depessimization, see r334537 for an explanation. Routines remain significantly slower than they have to be.
bzero was removed from the kernel but remains in libc. Macroify to accommodate differences to memset (no return value, always setting to 0).
The bzero.S file is left in place due to libc build magic which pulls in a C variant if a matching .S file is missing.
Reviewed by: kib Approved by: re (gjb) Differential Revision: https://reviews.freebsd.org/D17355
show more ...
|
Revision tags: release/11.2.0, release/10.4.0, release/11.1.0, release/11.0.1, release/11.0.0, release/10.3.0, release/10.2.0, release/10.1.0, release/9.3.0, release/10.0.0, release/9.2.0, release/8.4.0, release/9.1.0, release/8.3.0_cvs, release/8.3.0, release/9.0.0, release/7.4.0_cvs, release/8.2.0_cvs, release/7.4.0, release/8.2.0 |
|
#
93ab7586 |
| 07-Jan-2011 |
Konstantin Belousov <kib@FreeBSD.org> |
Add section .note.GNU-stack for assembly files used by 386 and amd64.
|
Revision tags: release/8.1.0_cvs, release/8.1.0, release/7.3.0_cvs, release/7.3.0, release/8.0.0_cvs, release/8.0.0, release/7.2.0_cvs, release/7.2.0, release/7.1.0_cvs, release/7.1.0 |
|
#
e57c2b13 |
| 04-Dec-2008 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
integrate from head@185615
|
Revision tags: release/6.4.0_cvs, release/6.4.0 |
|
#
5d053f46 |
| 02-Nov-2008 |
Peter Wemm <peter@FreeBSD.org> |
We've been lax about matching END() macros in asm code for some time. This is used to set the ELF size attribute for functions. It isn't normally critical but some things can make use of it (gdb fo
We've been lax about matching END() macros in asm code for some time. This is used to set the ELF size attribute for functions. It isn't normally critical but some things can make use of it (gdb for stack traces). Valgrind needs it so I'm adding it in. The problem is present on all branches and on both i386 and amd64.
show more ...
|
Revision tags: release/7.0.0_cvs, release/7.0.0, release/6.3.0_cvs, release/6.3.0, release/6.2.0_cvs, release/6.2.0, release/5.5.0_cvs, release/5.5.0, release/6.1.0_cvs, release/6.1.0, release/6.0.0_cvs, release/6.0.0, release/5.4.0_cvs, release/5.4.0 |
|
#
91c09a38 |
| 07-Apr-2005 |
Alan Cox <alc@FreeBSD.org> |
Add machine-specific, optimized implementations of bcopy, bzero, memcpy, memmove, and memset.
PR: 73111 Submitted by: Ville-Pertti Keinonen <will@iki.fi> (taken from NetBSD) MFC after: 3 weeks
|
Revision tags: release/6.4.0_cvs, release/6.4.0 |
|
#
5d053f46 |
| 02-Nov-2008 |
Peter Wemm <peter@FreeBSD.org> |
We've been lax about matching END() macros in asm code for some time. This is used to set the ELF size attribute for functions. It isn't normally critical but some things can make use of it (gdb fo
We've been lax about matching END() macros in asm code for some time. This is used to set the ELF size attribute for functions. It isn't normally critical but some things can make use of it (gdb for stack traces). Valgrind needs it so I'm adding it in. The problem is present on all branches and on both i386 and amd64.
show more ...
|
Revision tags: release/7.0.0_cvs, release/7.0.0, release/6.3.0_cvs, release/6.3.0, release/6.2.0_cvs, release/6.2.0, release/5.5.0_cvs, release/5.5.0, release/6.1.0_cvs, release/6.1.0, release/6.0.0_cvs, release/6.0.0, release/5.4.0_cvs, release/5.4.0 |
|
#
91c09a38 |
| 07-Apr-2005 |
Alan Cox <alc@FreeBSD.org> |
Add machine-specific, optimized implementations of bcopy, bzero, memcpy, memmove, and memset.
PR: 73111 Submitted by: Ville-Pertti Keinonen <will@iki.fi> (taken from NetBSD) MFC after: 3 weeks
|