1
0
Fork 0
mirror of https://github.com/BLAKE3-team/BLAKE3 synced 2024-05-12 10:36:15 +02:00

clarify C build instructions a bit

This commit is contained in:
Jack O'Connor 2021-02-18 15:34:34 -05:00
parent e2ae3bdd94
commit 1074f02d57

View File

@ -181,13 +181,13 @@ widest instruction set available. By default, `blake3_dispatch.c`
expects to be linked with code for five different instruction sets: expects to be linked with code for five different instruction sets:
portable C, SSE2, SSE4.1, AVX2, and AVX-512. portable C, SSE2, SSE4.1, AVX2, and AVX-512.
For each of the x86 SIMD instruction sets, two versions are available, For each of the x86 SIMD instruction sets, four versions are available:
one in assembly (which is further divided into three flavors: Unix, three flavors of assembly (Unix, Windows MSVC, and Windows GNU) and one
Windows MSVC, and Windows GNU) and one using C intrinsics. The assembly version using C intrinsics. The assembly versions are generally
versions are generally preferred: they perform better, they perform more preferred. They perform better, they perform more consistently across
consistently across different compilers, and they build more quickly. On different compilers, and they build more quickly. On the other hand, the
the other hand, the assembly versions are x86\_64-only, and you need to assembly versions are x86\_64-only, and you need to select the right
select the right flavor for your target platform. flavor for your target platform.
Here's an example of building a shared library on x86\_64 Linux using Here's an example of building a shared library on x86\_64 Linux using
the assembly implementations: the assembly implementations: