diff --git a/website/content/en/status/report-2023-04-2023-06/simd.adoc b/website/content/en/status/report-2023-04-2023-06/simd.adoc new file mode 100644 index 0000000000..db3ce322e1 --- /dev/null +++ b/website/content/en/status/report-2023-04-2023-06/simd.adoc @@ -0,0 +1,23 @@ +=== SIMD enhancements for amd64 + +Links: + +link:https://reviews.freebsd.org/D40693[SIMD dispatch framework draft] URL: link:https://reviews.freebsd.org/D40693[] + +link:http://fuz.su/~fuz/freebsd/2023-04-05_libc-proposal.txt[project proposal] URL: link:http://fuz.su/~fuz/freebsd/2023-04-05_libc-proposal.txt + +Contact: Robert Clausecker + +SIMD instruction set extensions such as SSE, AVX, and NEON are ubiquitous on modern computers and offer performance advantages for many applications. +The goal of this project is to provide SIMD-enhanced versions of common libc functions (mostly those described in man:string[3]), speeding up most C programs. + +For each function optimised, up to four implementations will be provided: + + * a *scalar* implementation optimised for amd64, but without any SIMD usage, + * a *baseline* implementation using SSE and SSE2 or alternatively an *x86-64-v2* implementation using all SSE extensions up to SSE4.2, + * an *x86-64-v3* implementation using AVX and AVX2, and + * an *x86-64-v4* implementation using AVX-512F/BW/CD/DQ. + +Users will be able to select which level of SIMD enhancements to use by setting the `AMD64_ARCHLEVEL` environment variable. + +While the current project only concerns amd64, the work may be expanded to other architectures like arm64 in the future. + +Sponsor: The FreeBSD Foundation