aboutsummaryrefslogtreecommitdiff
path: root/sys/conf/files.riscv
diff options
context:
space:
mode:
authorMateusz Guzik <mjg@FreeBSD.org>2018-09-27 14:05:44 +0000
committerMateusz Guzik <mjg@FreeBSD.org>2018-09-27 14:05:44 +0000
commita8e3f99ec190ee5c11413878b7fd75578e542808 (patch)
treec37badec5597cf34b5a360a8b5b658e8e064d237 /sys/conf/files.riscv
parente3f284eee7af7bcebf4bc96f64a9bc9e8e9d692b (diff)
downloadsrc-a8e3f99ec190ee5c11413878b7fd75578e542808.tar.gz
src-a8e3f99ec190ee5c11413878b7fd75578e542808.zip
amd64: implement memcmp in assembly
Both the in-kernel C variant and libc asm variant have very poor performance. The former compiles to a single byte comparison loop, which breaks down even for small sizes. The latter uses rep cmpsq/b which turn out to have very poor throughput and are slower than a hand-coded 32-byte comparison loop. Depending on size this is about 3-4 times faster than the current routines. Reviewed by: kib Approved by: re (gjb) Differential Revision: https://reviews.freebsd.org/D17328
Notes
Notes: svn path=/head/; revision=338963
Diffstat (limited to 'sys/conf/files.riscv')
-rw-r--r--sys/conf/files.riscv1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/conf/files.riscv b/sys/conf/files.riscv
index daba1826331b..8a70023eb91a 100644
--- a/sys/conf/files.riscv
+++ b/sys/conf/files.riscv
@@ -22,6 +22,7 @@ libkern/ffsll.c standard
libkern/fls.c standard
libkern/flsl.c standard
libkern/flsll.c standard
+libkern/memcmp.c standard
libkern/memset.c standard
riscv/riscv/autoconf.c standard
riscv/riscv/bus_machdep.c standard