opnsense-src/lib
Andrew Turner 757a39b1b2 Use arm64 sha256 intrinsics in libmd
Summary:
When running on a CPU that supports the arm64 sha256 intrinsics use them
to improve perfromance of sha256 calculations.

With this changethe following improvement has been seen on an Apple M1
with FreeBS running under Parallels, with similar results on a
Neoverse-N1 r3p1.

x sha256.orig
+ sha256.arm64
+--------------------------------------------------------------------+
|++                                                               x x|
|+++                                                              xxx|
||A                                                               |A||
+--------------------------------------------------------------------+
    N           Min           Max        Median           Avg        Stddev
x   5          3.41           3.5          3.46         3.458   0.042661458
+   5          0.47          0.54           0.5         0.504   0.027018512
Difference at 95.0% confidence
        -2.954 +/- 0.0520768
        -85.4251% +/- 0.826831%
        (Student's t, pooled s = 0.0357071)

Reviewed by:	cem
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D31284

(cherry picked from commit 69d8dc20be)
2021-12-20 11:09:26 +00:00
..
atf Do not build libatf-c++ when WITHOUT_CXX 2021-11-29 10:10:53 -05:00
clang Merge llvm-project 13.0.0 release 2021-12-06 17:30:07 +01:00
csu Add arm64 ifunc support in static binaries 2021-09-27 10:55:16 +01:00
flua jail(3lua): add jail.attach()/jail.remove() methods 2021-10-06 02:13:27 -05:00
geom gmultipath.8: Fix a typo 2021-12-13 02:10:26 +01:00
googletest googletest: Silence warnings about deprecated implicit copy constructors 2021-08-29 12:29:21 +02:00
lib9p lib9p: fix building on systems without capser 2021-01-04 20:48:48 +01:00
lib80211 lib80211: Start adding 11ac ETSI bits to regdomain.xml 2021-07-18 00:34:57 +00:00
libalias Rename NO_WERROR -> MK_WERROR=no 2021-01-07 09:31:03 +00:00
libarchive libarchive: import changes from upstream 2021-09-10 10:24:13 +02:00
libauditd libauditd: make it a PRIVATELIB 2020-04-19 02:20:39 +00:00
libbe When be_activate() turns on a new boot environment, it always deactivates 2021-01-08 09:23:16 -08:00
libbearssl Revert that! 2020-07-19 23:56:19 +00:00
libbegemot
libblacklist
libblocksruntime
libbluetooth
libbsdstat
libbsm libbsm: fix some MLINKS 2020-04-19 02:18:40 +00:00
libbsnmp pkgbase: Put the mibs and defs in the bnsmp package 2021-06-30 09:24:33 +02:00
libbz2
libc Document new variant of swapoff(2) 2021-12-20 02:29:11 +02:00
libc++ Merge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246a 2021-12-06 17:30:03 +01:00
libc++experimental Merge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246a 2021-12-06 17:30:03 +01:00
libc_nonshared
libcalendar
libcam libcam(3): make cam_getccb(3) zero the whole ccb, not just the header 2020-12-29 14:26:06 +00:00
libcapsicum Add missing FreeBSD functions to -legacy when building on macOS/Linux 2020-08-25 13:23:31 +00:00
libcasper libcasper(3): Correct some warnings found by mandoc 2021-07-19 08:16:57 +02:00
libclang_rt Merge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246a 2021-12-06 17:30:03 +01:00
libcom_err
libcompat
libcompiler_rt Merge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246a 2021-12-06 17:30:03 +01:00
libcrypt Do a sweep and remove most WARNS=6 settings 2020-10-01 01:10:51 +00:00
libcuse
libcxxrt Only set WARNS if not defined 2020-09-11 13:28:37 +00:00
libdevctl
libdevdctl Fix race in case of device destruction. 2021-04-27 08:47:39 -04:00
libdevinfo devinfo: add man page links 2020-08-04 21:09:36 +00:00
libdevstat
libdl libc: include rtld.h into static implementations of rtld interface 2021-04-23 14:14:07 +03:00
libdpv Bump shared library versions after ncurses bump in 13. 2021-02-04 17:51:45 -08:00
libdwarf Apply only the libadd/libnames part of dbf05458e3 2021-12-13 22:23:44 +01:00
libedit sh(1): autocomplete commands 2021-05-05 13:04:57 +02:00
libefivar Cleanup compiler warning flags in lib/libefivar/Makefile 2021-08-29 12:29:26 +02:00
libelf libelf: Link gelf_getchdr.3 to the build 2021-12-06 09:04:03 -05:00
libelftc
libevent1 rename in-tree libevent v1 to libevent1 2020-05-28 22:05:50 +00:00
libexecinfo
libexpat
libfetch libfetch: use more portable getline() interface 2021-09-22 11:57:35 +02:00
libfigpar
libgcc_eh After r364423, which ensures the callbacks that dl_iterate_phdr(3) 2020-08-25 20:07:11 +00:00
libgcc_s libgcc_s: Export 64-bit int to 128-bit float functions 2021-10-10 14:36:52 +01:00
libgeom [skip ci] correct a few SPDX license tags 2021-07-27 11:57:17 -06:00
libgpio
libgssapi Remove __NO_TLS. 2021-03-02 02:49:42 +02:00
libiconv_modules Do a sweep and remove most WARNS=6 settings 2020-10-01 01:10:51 +00:00
libifconfig libifconfig: Overhaul ifconfig_media_* interfaces 2021-03-19 09:00:19 -04:00
libipsec ipsec_set_policy(3): fix sentence 2021-08-13 12:34:42 +03:00
libipt
libjail libjail: Handle an error from reallocarray() when trimming the buffer. 2020-01-07 21:44:27 +00:00
libkiconv libkiconv: address memory leak in not-found cases 2021-04-27 20:10:12 -04:00
libkvm libkvm: Fix build after removal of p_tracevp 2021-06-13 04:22:33 +03:00
libldns
liblua contrib/lua: update to 5.4.2 2021-01-13 23:56:18 -06:00
liblutok Add liblutok a lightweight C++ API for lua. 2020-03-23 18:26:23 +00:00
liblzma Convert libs with pc files to use PCFILES 2021-06-30 09:24:30 +02:00
libmagic Convert libs with pc files to use PCFILES 2021-06-30 09:24:30 +02:00
libmd Use arm64 sha256 intrinsics in libmd 2021-12-20 11:09:26 +00:00
libmemstat malloc: move malloc_type_internal into malloc_type 2020-11-06 21:33:59 +00:00
libmilter
libmp
libmt Add the LTO-9 density code to libmt and the mt(1) man page. 2020-12-10 21:06:06 +00:00
libnetbsd
libnetgraph Fix SYNPOSIS section to point to the proper include directive. 2020-05-15 12:04:39 +00:00
libnetmap libnetmap: reset errno in nmreq_register_decode() 2021-09-26 14:11:59 +00:00
libngatm
libnv libpfct: Fix PIC flag 2021-05-07 10:15:43 +02:00
libomp Merge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246a 2021-12-06 17:30:03 +01:00
libopenbsd Only set WARNS if not defined 2020-09-11 13:28:37 +00:00
libopencsd Update opencsd to 0.14.2 2020-06-17 10:42:20 +00:00
libopie
libpam pam_login_access: Fix negative entry matching logic 2021-02-23 20:20:53 -05:00
libpathconv Fix a few mandoc issues 2020-10-09 19:12:44 +00:00
libpcap
libpe
libpfctl pf tests: Test PR259689 2021-12-01 16:53:20 +01:00
libpjdlog
libpmc libpmc: add some AMD pmu counter aliases 2021-10-15 12:21:36 -03:00
libpmcstat pmcstat: fix PPC kernel symbol resolution 2020-11-05 16:47:23 +00:00
libproc Do a sweep and remove most WARNS=6 settings 2020-10-01 01:10:51 +00:00
libprocstat procstat_getfiles_sysctl: do not require non-null ki_fd 2021-12-09 02:23:29 +02:00
libradius libradius: fix no SSL build 2021-12-12 17:17:00 -05:00
libregex libregex: re-enable make check 2021-01-08 13:58:35 -06:00
librpcsec_gss Fix a few mandoc issues 2020-10-09 19:12:44 +00:00
librpcsvc
librss
librt pkgbase: Move librt to clibs 2021-06-30 09:24:31 +02:00
librtld_db librtld_db: Handle anonymous mappings below the first file mapping. 2020-06-05 18:44:14 +00:00
libsbuf Do a sweep and remove most WARNS=6 settings 2020-10-01 01:10:51 +00:00
libsdp
libsecureboot libsecureboot: define SOPEN_MAX 2021-09-03 23:45:16 +03:00
libsm Merge sendmail 8.16.1 to HEAD: See contrib/sendmail/RELEASE_NOTES for details 2020-07-15 18:28:54 +00:00
libsmb
libsmdb Merge sendmail 8.16.1 to HEAD: See contrib/sendmail/RELEASE_NOTES for details 2020-07-15 18:28:54 +00:00
libsmutil
libsqlite3 [PowerPC64LE] Pass our byte order to the sqlite3 build. 2020-09-23 02:17:44 +00:00
libssp libssp: don't compile with -fstack-protector* 2020-03-14 15:15:27 +00:00
libssp_nonshared Provide libssp based on libc 2020-01-04 20:19:25 +00:00
libstats
libstdbuf
libstdthreads
libsysdecode sysdecode_enum.3: Fix a typo: SIGBTRAP -> SIGTRAP. 2021-10-19 16:53:35 -07:00
libtacplus
libtelnet
libthr libthr(3): explain some internals of the locks implementation 2021-10-08 03:42:38 +03:00
libthread_db Remove libthr, csu, libthread_db and testfloat sparc64 specific directories. 2020-02-27 04:44:58 +00:00
libucl Only set WARNS if not defined 2020-09-11 13:28:37 +00:00
libufs Update the libufs cgget() and cgput() interfaces to have a similar 2020-09-19 22:48:30 +00:00
libugidfw Deduplicate fsid comparisons 2020-05-21 01:55:35 +00:00
libulog
libunbound MFV r361322: 2020-05-21 21:00:46 +00:00
libusb Improve handling of USB device re-open in the LibUSB v1.x API. 2021-07-10 21:10:10 +02:00
libusbhid USB HID descriptors may push/pop the current state to allow 2020-06-05 07:57:16 +00:00
libutil libutil: add kinfo_getswapvmobject(3) 2021-11-01 02:44:51 +02:00
libveriexec Do not claim libbearssl et al are INTERNALLIB 2020-04-01 05:45:12 +00:00
libvgl
libvmmapi libvmmapi: Fix warnings and stop overridding WARNS 2021-08-02 15:01:02 -04:00
libwrap
libxo pkgbase: Install libxo test files in the tests package 2021-01-04 16:20:26 +01:00
liby
libypclnt
libz Convert libs with pc files to use PCFILES 2021-06-30 09:24:30 +02:00
libzstd libprivatezstd: Restrict symbol visibility similar to upstream 2021-01-03 11:26:46 -08:00
msun Remove set-but-unused variable from s_sincosl.c 2021-12-17 19:32:40 +01:00
ncurses Bump shared library versions after ncurses bump in 13. 2021-02-04 17:51:45 -08:00
ofed Remove remaining uses of ${COMPILER_FEATURES:Mc++11} 2021-01-19 21:37:36 +00:00
tests
Makefile Add WITH_LLVM_BINUTILS to install LLVM binutils instead of Elftoolchain 2021-12-05 21:42:14 +01:00
Makefile.inc build: provide a default WARNS for all in-tree builds 2020-09-18 17:17:46 +00:00