History log of /freebsd-13.1/lib/libc/amd64/string/memcmp.S (Results 1 – 9 of 9)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: release/12.4.0, release/13.1.0
# 1544cd33 25-Mar-2022 Mateusz Guzik <[email protected]>

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
Approved by: re (gjb)

(cherry picked from commit fbc002cb72d2d9bb435cce99630d5d7da9f59390)
(cherry picked from commit c5890784f6d315c501586b39cf8c0c80b609be5b)

show more ...


Revision tags: release/12.3.0, release/13.0.0
# 88a580eb 31-Jan-2021 Mateusz Guzik <[email protected]>

amd64: move memcmp checks upfront

This is a tradeoff which saves jumps for smaller sizes while making
the 8-16 range slower (roughly in line with the other cases).

Tested with glibc test suite.

Fo

amd64: move memcmp checks upfront

This is a tradeoff which saves jumps for smaller sizes while making
the 8-16 range slower (roughly in line with the other cases).

Tested with glibc test suite.

For example size 3 (most common with vfs namecache) (ops/s):
before: 407086026
after: 461391995

The regressed range of 8-16 (with 8 as example):
before: 540850489
after: 461671032

(cherry picked from commit f1be262ec11c1c35e6485f432415b5b52adb505d)

show more ...


# 068f2402 31-Jan-2021 Mateusz Guzik <[email protected]>

amd64: add a note about simd to libc memset, memmove and memcmp

(cherry picked from commit 0db6aef407f30c138982b8cde43189aad098b337)


Revision tags: release/12.2.0, release/11.4.0
# 8291e887 30-Jan-2020 Mateusz Guzik <[email protected]>

amd64: sync up libc memcmp with the kernel version (r357309)


# 4846152a 29-Jan-2020 Mateusz Guzik <[email protected]>

amd64: sync up libc memcmp with the kernel version (r357208)


Revision tags: release/12.1.0, release/11.3.0, release/12.0.0
# 5bbde333 27-Sep-2018 Mateusz Guzik <[email protected]>

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 <[email protected]>

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, release/6.4.0_cvs, release/6.4.0
# 5d053f46 02-Nov-2008 Peter Wemm <[email protected]>

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
# 26f6218b 08-Apr-2005 Alan Cox <[email protected]>

Add machine-specific, optimized implementations of bcmp and memcmp.

PR: 73111
Submitted by: Ville-Pertti Keinonen <[email protected]> (taken from NetBSD)
MFC after: 3 weeks