]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
amd64: mostly depessimize copystr
authorMateusz Guzik <mjg@FreeBSD.org>
Thu, 27 Sep 2018 15:27:53 +0000 (15:27 +0000)
committerMateusz Guzik <mjg@FreeBSD.org>
Thu, 27 Sep 2018 15:27:53 +0000 (15:27 +0000)
commit3d95cc51bbac0db3b512baba91c8cb75f409cfaf
treec2ce6a5b427aff498b19e4c6887a35eb8a14b5ae
parent0e59ecce47caa309cf35a0f8eb528931a124ec5c
amd64: mostly depessimize copystr

- remove a forward branch in the common case
- replace xchg + lodsb/stosb loop with simple movs

A simple test on Intel(R) Core(TM) i7-4600U CPU @ 2.10GH copying
/foo/bar/baz in a loop goes from 295715863 ops/s to 465807408.

Further changes are pending.

Reviewed by: kib
Approved by: re (gjb)
Differential Revision: https://reviews.freebsd.org/D17281
sys/amd64/amd64/support.S