Implementation notes: amd64, avx512imath, crypto_hash/blake3

Computer: avx512imath
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20210125
Operation: crypto_hash
Primitive: blake3
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
437417498 0 028694 804 952T:avx512gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
437918637 0 032767 812 952T:avx512gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
439817033 0 027354 788 920T:avx512gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
441517641 0 028774 804 952T:avx512gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
514022963 0 034182 804 952T:avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
515023798 0 037935 812 952T:avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
515913063 0 024262 804 952T:sse41gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
516812598 0 022922 788 920T:sse41gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
517023094 0 034262 804 952T:avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
517122482 0 032842 788 920T:avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
517413786 0 027887 812 952T:sse41gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
517913206 0 024342 804 952T:sse41gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
741010331 0 021950 804 952T:portablegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
742910990 0 025495 812 952T:portablegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
76319701 0 020402 788 920T:portablegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125
865111959 0 023526 804 952T:portablegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021032320210125

Compiler output

Implementation: T:neon
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake3.c: In file included from blake3.c:12:
blake3.c: blake3_static_dispatch.h:17: warning: "MAX_SIMD_DEGREE" redefined
blake3.c: 17 | #define MAX_SIMD_DEGREE 4
blake3.c: |
blake3.c: In file included from blake3.c:6:
blake3.c: blake3_impl.h:49: note: this is the location of the previous definition
blake3.c: 49 | #define MAX_SIMD_DEGREE 16
blake3.c: |
blake3.c: In file included from blake3.c:12:
blake3.c: blake3_static_dispatch.h:18: warning: "MAX_SIMD_DEGREE_OR_2" redefined
blake3.c: 18 | #define MAX_SIMD_DEGREE_OR_2 4
blake3.c: |
blake3.c: In file included from blake3.c:6:
blake3.c: blake3_impl.h:58: note: this is the location of the previous definition
blake3.c: 58 | #define MAX_SIMD_DEGREE_OR_2 (MAX_SIMD_DEGREE > 2 ? MAX_SIMD_DEGREE : 2)
blake3.c: |
blake3_neon.c: blake3_neon.c:3:10: fatal error: arm_neon.h: No such file or directory
blake3_neon.c: 3 | #include <arm_neon.h>
blake3_neon.c: | ^~~~~~~~~~~~
blake3_neon.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon

Namespace violations

Implementation: T:avx2
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake3.o blake3_compress_subtree_wide T
blake3.o blake3_default_hash T
blake3_avx2_x86-64_unix.o _blake3_hash_many_avx2 T
blake3_avx2_x86-64_unix.o blake3_hash_many_avx2 T
blake3_sse41_x86-64_unix.o _blake3_compress_in_place_sse41 T
blake3_sse41_x86-64_unix.o _blake3_compress_xof_sse41 T
blake3_sse41_x86-64_unix.o _blake3_hash_many_sse41 T
blake3_sse41_x86-64_unix.o blake3_compress_in_place_sse41 T
blake3_sse41_x86-64_unix.o blake3_compress_xof_sse41 T
blake3_sse41_x86-64_unix.o blake3_hash_many_sse41 T

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2

Namespace violations

Implementation: T:avx512
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake3.o blake3_compress_subtree_wide T
blake3.o blake3_default_hash T
blake3_avx512_x86-64_unix.o _blake3_compress_in_place_avx512 T
blake3_avx512_x86-64_unix.o _blake3_compress_xof_avx512 T
blake3_avx512_x86-64_unix.o _blake3_hash_many_avx512 T
blake3_avx512_x86-64_unix.o blake3_compress_in_place_avx512 T
blake3_avx512_x86-64_unix.o blake3_compress_xof_avx512 T
blake3_avx512_x86-64_unix.o blake3_hash_many_avx512 T

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx512
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx512
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx512
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx512

Namespace violations

Implementation: T:portable
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake3.o blake3_compress_subtree_wide T
blake3.o blake3_default_hash T
blake3_portable.o blake3_compress_in_place_portable T
blake3_portable.o blake3_compress_xof_portable T
blake3_portable.o blake3_hash_many_portable T

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:portable
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:portable
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:portable
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:portable

Namespace violations

Implementation: T:sse41
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake3.o blake3_compress_subtree_wide T
blake3.o blake3_default_hash T
blake3_sse41_x86-64_unix.o _blake3_compress_in_place_sse41 T
blake3_sse41_x86-64_unix.o _blake3_compress_xof_sse41 T
blake3_sse41_x86-64_unix.o _blake3_hash_many_sse41 T
blake3_sse41_x86-64_unix.o blake3_compress_in_place_sse41 T
blake3_sse41_x86-64_unix.o blake3_compress_xof_sse41 T
blake3_sse41_x86-64_unix.o blake3_hash_many_sse41 T

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sse41
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sse41
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sse41
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sse41