Implementation notes: amd64, titan0, crypto_hash/blake3
Computer: titan0
Microarchitecture: amd64; Haswell+AES (306c3)
Architecture: amd64
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20240808
Operation: crypto_hash
Primitive: blake3
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
5786 | 23240 0 0 | 34708 820 960 | T:avx2 | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
5791 | 13666 0 0 | 26584 868 896 | T:sse41 | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
5792 | 23681 0 0 | 36632 868 896 | T:avx2 | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
5803 | 23271 0 0 | 34291 812 960 | T:avx2 | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
5806 | 24063 0 0 | 37612 820 960 | T:avx2 | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
5807 | 23833 0 0 | 38176 868 928 | T:avx2 | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
5809 | 22290 0 0 | 33698 860 960 | T:avx2 | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
5818 | 23862 0 0 | 38488 868 928 | T:avx2 | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
5820 | 22433 0 0 | 33112 868 896 | T:avx2 | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
5858 | 22625 0 0 | 32687 796 928 | T:avx2 | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
8148 | 10024 0 0 | 22928 868 896 | T:portable | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
Test failure
error 111
Number of similar (implementation,compiler) pairs: 9, namely:
Implementation | Compiler |
T:avx512 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:avx512 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:avx512 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:avx512 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:avx512 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:avx512 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:avx512 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:avx512 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:avx512 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
Compiler output
blake3_neon.c: In file included from blake3_neon.c:3:
blake3_neon.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/arm_neon.h:28:2: error: "NEON intrinsics not available with the soft-float ABI. Please use -mfloat-abi=softfp or -mfloat-abi=hard"
blake3_neon.c: #error "NEON intrinsics not available with the soft-float ABI. Please use -mfloat-abi=softfp or -mfloat-abi=hard"
blake3_neon.c: ^
blake3_neon.c: blake3_neon.c:11:8: error: unknown type name 'uint32x4_t'; did you mean 'uint32_t'?
blake3_neon.c: INLINE uint32x4_t loadu_128(const uint8_t src[16]) {
blake3_neon.c: ^~~~~~~~~~
blake3_neon.c: uint32_t
blake3_neon.c: /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:26:20: note: 'uint32_t' declared here
blake3_neon.c: typedef __uint32_t uint32_t;
blake3_neon.c: ^
blake3_neon.c: blake3_neon.c:13:3: error: unknown type name 'uint32x4_t'; did you mean 'uint32_t'?
blake3_neon.c: uint32x4_t x;
blake3_neon.c: ^~~~~~~~~~
blake3_neon.c: uint32_t
blake3_neon.c: /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:26:20: note: 'uint32_t' declared here
blake3_neon.c: typedef __uint32_t uint32_t;
blake3_neon.c: ^
blake3_neon.c: blake3_neon.c:14:3: warning: 'memcpy' will always overflow; destination buffer has size 4, but size argument is 16 [-Wfortify-source]
blake3_neon.c: memcpy(&x, src, 16);
blake3_neon.c: ^
blake3_neon.c: blake3_neon.c:18:24: error: unknown type name 'uint32x4_t'; did you mean 'uint32_t'?
blake3_neon.c: INLINE void storeu_128(uint32x4_t src, uint8_t dest[16]) {
blake3_neon.c: ^~~~~~~~~~
blake3_neon.c: uint32_t
blake3_neon.c: ...
Number of similar (implementation,compiler) pairs: 5, namely:
Implementation | Compiler |
T:neon | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:neon | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:neon | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:neon | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:neon | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
Compiler output
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 (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:neon | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:neon | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:neon | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:neon | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
Compiler output
blake3.c: In file included from blake3.c:12:
blake3.c: ./blake3_static_dispatch.h:8:2: error: "there are wider implementations on this platform; fail the build"
blake3.c: #error "there are wider implementations on this platform; fail the build"
blake3.c: ^
blake3.c: 1 error generated.
Number of similar (implementation,compiler) pairs: 8, namely:
Implementation | Compiler |
T:portable | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:portable | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:portable | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:portable | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:sse41 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:sse41 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:sse41 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:sse41 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
Compiler output
blake3.c: In file included from blake3.c:12:
blake3.c: blake3_static_dispatch.h:8:2: error: #error "there are wider implementations on this platform; fail the build"
blake3.c: 8 | #error "there are wider implementations on this platform; fail the build"
blake3.c: | ^~~~~
Number of similar (implementation,compiler) pairs: 8, namely:
Implementation | Compiler |
T:portable | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:portable | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:portable | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:portable | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:sse41 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:sse41 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:sse41 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:sse41 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
Namespace violations
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 (implementation,compiler) pairs: 9, namely:
Implementation | Compiler |
T:avx2 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:avx2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:avx2 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:avx2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:avx2 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:avx2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:avx2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:avx2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:avx2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
Namespace violations
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 (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:portable | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
Namespace violations
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 (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:sse41 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |