Revision tags: release/14.0.0, release/13.2.0, release/12.4.0, release/13.1.0 |
|
#
fbc002cb |
| 25-Mar-2022 |
Mateusz Guzik <mjg@FreeBSD.org> |
amd64: bring back asm bcmp, shared with memcmp
Turns out clang converts "memcmp(foo, bar, len) == 0" and similar to bcmp calls.
Reviewed by: emaste (previous version), jhb (previous version) Differ
amd64: bring back asm bcmp, shared with memcmp
Turns out clang converts "memcmp(foo, bar, len) == 0" and similar to bcmp calls.
Reviewed by: emaste (previous version), jhb (previous version) Differential Revision: https://reviews.freebsd.org/D34673
show more ...
|
Revision tags: release/12.3.0, release/13.0.0, release/12.2.0, release/11.4.0, release/12.1.0, release/11.3.0, release/12.0.0 |
|
#
01d4e214 |
| 05-Oct-2018 |
Glen Barber <gjb@FreeBSD.org> |
MFH r338661 through r339200.
Sponsored by: The FreeBSD Foundation
|
#
ce44d808 |
| 27-Sep-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r338731 through r338987.
|
#
5bbde333 |
| 27-Sep-2018 |
Mateusz Guzik <mjg@FreeBSD.org> |
amd64: reimplement libc memcmp and bcmp with kernel memcmp
Both are significantly slower than hand-coded loops. See r338963 for kernel commit.
bcmp differs from memcmp by always returning 1 when a
amd64: reimplement libc memcmp and bcmp with kernel memcmp
Both are significantly slower than hand-coded loops. See r338963 for kernel commit.
bcmp differs from memcmp by always returning 1 when a difference is found, as opposed to going for a value bigger or lower than 0 depending on what it is. This means it can do less work. For now the code is duplicated and modified. This will get deduplicated after another round of optimization when memcmp will get a longer-term form.
Both tested with the glibc suite. While the suite does not have a test for bcmp, I created a wrapper routine which verified that values match (0 vs 0, 1 vs non-zero).
Reviewed by: kib Approved by: re (gjb) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D17336
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 |
|
#
fb41e047 |
| 10-Apr-2005 |
Alan Cox <alc@FreeBSD.org> |
Eliminate a conditional branch and as a side-effect eliminate a branch to a return instruction. (The latter is discouraged by the Opteron optimization manual because it disables branch prediction fo
Eliminate a conditional branch and as a side-effect eliminate a branch to a return instruction. (The latter is discouraged by the Opteron optimization manual because it disables branch prediction for the return instruction.)
Reviewed by: bde
show more ...
|
#
26f6218b |
| 08-Apr-2005 |
Alan Cox <alc@FreeBSD.org> |
Add machine-specific, optimized implementations of bcmp and memcmp.
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 |
|
#
fb41e047 |
| 10-Apr-2005 |
Alan Cox <alc@FreeBSD.org> |
Eliminate a conditional branch and as a side-effect eliminate a branch to a return instruction. (The latter is discouraged by the Opteron optimization manual because it disables branch prediction fo
Eliminate a conditional branch and as a side-effect eliminate a branch to a return instruction. (The latter is discouraged by the Opteron optimization manual because it disables branch prediction for the return instruction.)
Reviewed by: bde
show more ...
|
#
26f6218b |
| 08-Apr-2005 |
Alan Cox <alc@FreeBSD.org> |
Add machine-specific, optimized implementations of bcmp and memcmp.
PR: 73111 Submitted by: Ville-Pertti Keinonen <will@iki.fi> (taken from NetBSD) MFC after: 3 weeks
|