Implementation notes: amd64, speed2supercop, crypto_hash/blake3
Computer: speed2supercop
Microarchitecture: amd64; Haswell+AES (306c3)
Architecture: amd64
CPU ID: GenuineIntel-000306c3-1fc9cbf5
SUPERCOP version: 20240808
Operation: crypto_hash
Primitive: blake3
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
5736 | 13330 0 0 | 25958 800 728 | T:sse41 | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240703 | 20240625 |
5744 | 23380 0 0 | 37269 800 744 | T:avx2 | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240703 | 20240625 |
5744 | 23380 0 0 | 37461 800 744 | T:avx2 | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240703 | 20240625 |
5744 | 22492 0 0 | 32574 800 728 | T:avx2 | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240703 | 20240625 |
5744 | 22373 0 0 | 33335 792 792 | T:avx2 | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240703 | 20240625 |
5744 | 23342 0 0 | 36006 800 728 | T:avx2 | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240703 | 20240625 |
5772 | 23063 0 0 | 33357 760 800 | T:avx2 | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240703 | 20240625 |
5776 | 23711 0 0 | 36061 760 800 | T:avx2 | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240703 | 20240625 |
6128 | 22877 0 0 | 32924 752 800 | T:avx2 | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240703 | 20240625 |
6128 | 22322 0 0 | 31384 736 768 | T:avx2 | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240703 | 20240625 |
8136 | 9525 0 0 | 22134 800 728 | T:portable | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240703 | 20240625 |
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 (Debian_Clang_16.0.6_(27+b1)) |
T:avx512 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
T:avx512 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
T:avx512 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
T:avx512 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
T:avx512 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
T:avx512 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
T:avx512 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
T:avx512 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
Compiler output
blake3_neon.c: In file included from blake3_neon.c:3:
blake3_neon.c: /usr/lib/llvm-16/lib/clang/16/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 (Debian_Clang_16.0.6_(27+b1)) |
T:neon | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
T:neon | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
T:neon | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
T:neon | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
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 (13.3.0) |
T:neon | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
T:neon | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
T:neon | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.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 (Debian_Clang_16.0.6_(27+b1)) |
T:portable | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
T:portable | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
T:portable | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
T:sse41 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
T:sse41 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
T:sse41 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
T:sse41 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1)) |
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 (13.3.0) |
T:portable | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
T:portable | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
T:portable | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
T:sse41 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
T:sse41 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
T:sse41 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |
T:sse41 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0) |