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:
parent
e2ae3bdd94
commit
1074f02d57
14
c/README.md
14
c/README.md
|
@ -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:
|
||||||
|
|
Loading…
Reference in New Issue