Implementation notes: ppc64, power9, crypto_hash/blake3

Computer: power9
Architecture: ppc64
CPU ID: unknown CPU ID
SUPERCOP version: 20210326
Operation: crypto_hash
Primitive: blake3
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1016010900 0 027942 676 1104T:portablegcc_-mcpu=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
1023210900 0 027942 676 1104T:portablegcc_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
1023610948 0 028274 676 1104T:portablegcc_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
1060621400 0 028889 684 1072T:portableclang_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
1071710700 0 026777 684 1072T:portableclang_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
107239800 0 022203 676 1072T:portableclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
107469544 0 023350 668 1088T:portablegcc_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
1078410700 0 028889 684 1072T:portableclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
107879960 0 022907 676 1072T:portableclang_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
108179800 0 022203 676 1072T:portableclang_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
1086410700 0 026777 684 1072T:portableclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
108749960 0 022907 676 1072T:portableclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
1159910716 0 027417 684 1072T:portableclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021042220210326
1223612356 0 027533 676 1088T:portablegcc_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
1224212328 0 027533 676 1088T:portablegcc_-mcpu=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
149319520 0 023286 668 1088T:portablegcc_-mcpu=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
1638812328 0 027533 676 1088T:portablegcc_-mcpu=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326
227259520 0 023286 668 1088T:portablegcc_-mcpu=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021042220210326

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: clang -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:1:1: error: unknown directive
blake3_avx2_x86-64_unix.S: .intel_syntax noprefix
blake3_avx2_x86-64_unix.S: ^
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:12:9: error: invalid instruction, did you mean: psth?
blake3_avx2_x86-64_unix.S: push r15
blake3_avx2_x86-64_unix.S: ^
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:13:9: error: invalid instruction, did you mean: psth?
blake3_avx2_x86-64_unix.S: push r14
blake3_avx2_x86-64_unix.S: ^
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:14:9: error: invalid instruction, did you mean: psth?
blake3_avx2_x86-64_unix.S: push r13
blake3_avx2_x86-64_unix.S: ^
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:15:9: error: invalid instruction, did you mean: psth?
blake3_avx2_x86-64_unix.S: push r12
blake3_avx2_x86-64_unix.S: ^
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:16:9: error: invalid instruction, did you mean: psth?
blake3_avx2_x86-64_unix.S: push rbx
blake3_avx2_x86-64_unix.S: ^
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:17:9: error: invalid instruction, did you mean: psth?
blake3_avx2_x86-64_unix.S: push rbp
blake3_avx2_x86-64_unix.S: ^
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:18:9: error: invalid instruction
blake3_avx2_x86-64_unix.S: mov rbp, rsp
blake3_avx2_x86-64_unix.S: ^
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:19:13: error: invalid operand for instruction
blake3_avx2_x86-64_unix.S: ...

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2
clang -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2
clang -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: clang -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:1:1: error: unknown directive
blake3_avx2_x86-64_unix.S: .intel_syntax noprefix
blake3_avx2_x86-64_unix.S: ^
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:12:9: error: invalid instruction, did you mean: psth?
blake3_avx2_x86-64_unix.S: push r15
blake3_avx2_x86-64_unix.S: ^
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:13:9: error: invalid instruction, did you mean: psth?
blake3_avx2_x86-64_unix.S: push r14
blake3_avx2_x86-64_unix.S: ^
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:14:9: error: invalid instruction, did you mean: psth?
blake3_avx2_x86-64_unix.S: push r13
blake3_avx2_x86-64_unix.S: ^
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:15:9: error: invalid instruction, did you mean: psth?
blake3_avx2_x86-64_unix.S: push r12
blake3_avx2_x86-64_unix.S: ^
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:16:9: error: invalid instruction, did you mean: psth?
blake3_avx2_x86-64_unix.S: push rbx
blake3_avx2_x86-64_unix.S: ^
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:17:9: error: invalid instruction, did you mean: psth?
blake3_avx2_x86-64_unix.S: push rbp
blake3_avx2_x86-64_unix.S: ^
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:18:9: error: invalid instruction
blake3_avx2_x86-64_unix.S: mov rbp, rsp
blake3_avx2_x86-64_unix.S: ^
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:19:13: error: invalid operand for instruction
blake3_avx2_x86-64_unix.S: ...
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:1:1: error: unknown directive
blake3_avx2_x86-64_unix.S: .intel_syntax noprefix
blake3_avx2_x86-64_unix.S: ^
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:12:9: error: invalid instruction, did you mean: psth?
blake3_avx2_x86-64_unix.S: push r15
blake3_avx2_x86-64_unix.S: ^
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:13:9: error: invalid instruction, did you mean: psth?
blake3_avx2_x86-64_unix.S: push r14
blake3_avx2_x86-64_unix.S: ^
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:14:9: error: invalid instruction, did you mean: psth?
blake3_avx2_x86-64_unix.S: push r13
blake3_avx2_x86-64_unix.S: ^
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:15:9: error: invalid instruction, did you mean: psth?
blake3_avx2_x86-64_unix.S: push r12
blake3_avx2_x86-64_unix.S: ^
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:16:9: error: invalid instruction, did you mean: psth?
blake3_avx2_x86-64_unix.S: push rbx
blake3_avx2_x86-64_unix.S: ^
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:17:9: error: invalid instruction, did you mean: psth?
blake3_avx2_x86-64_unix.S: push rbp
blake3_avx2_x86-64_unix.S: ^
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:18:9: error: invalid instruction
blake3_avx2_x86-64_unix.S: mov rbp, rsp
blake3_avx2_x86-64_unix.S: ^
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:19:13: error: invalid operand for instruction
blake3_avx2_x86-64_unix.S: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: gcc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake3.c: In file included from /usr/include/string.h:519,
blake3.c: from blake3.c:3:
blake3.c: In function 'memcpy',
blake3.c: inlined from 'compress_subtree_to_parent_node' at blake3.c:237:5,
blake3.c: inlined from 'blake3_default_hash' at blake3.c:249:3:
blake3.c: /usr/include/powerpc64le-linux-gnu/bits/string_fortified.h:34:10: warning: '__builtin_memcpy' reading 64 bytes from a region of size 32 [-Wstringop-overflow=]
blake3.c: 34 | return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest));
blake3.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake3.c: In function 'memcpy',
blake3.c: inlined from 'compress_parents_parallel' at blake3.c:125:5,
blake3.c: inlined from 'compress_subtree_to_parent_node' at blake3.c:236:9,
blake3.c: inlined from 'blake3_default_hash' at blake3.c:249:3:
blake3.c: /usr/include/powerpc64le-linux-gnu/bits/string_fortified.h:34:10: warning: '__builtin_memcpy' writing 32 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
blake3.c: 34 | return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest));
blake3.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake3.c: In function 'memcpy',
blake3.c: inlined from 'compress_subtree_to_parent_node' at blake3.c:237:5,
blake3.c: inlined from 'blake3_default_hash' at blake3.c:249:3:
blake3.c: /usr/include/powerpc64le-linux-gnu/bits/string_fortified.h:34:10: warning: '__builtin_memcpy' reading 64 bytes from a region of size 32 [-Wstringop-overflow=]
blake3.c: 34 | return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest));
blake3.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake3.c: In function 'memcpy',
blake3.c: inlined from 'compress_parents_parallel' at blake3.c:125:5,
blake3.c: inlined from 'compress_subtree_to_parent_node' at blake3.c:236:9,
blake3.c: inlined from 'blake3_default_hash' at blake3.c:249:3:
blake3.c: ...

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2
gcc -mcpu=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2
gcc -mcpu=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2
gcc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx512
gcc -mcpu=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx512
gcc -mcpu=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx512
gcc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:portable
gcc -mcpu=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:portable
gcc -mcpu=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:portable
gcc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sse41
gcc -mcpu=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sse41
gcc -mcpu=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sse41

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: gcc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake3.c: In file included from /usr/include/string.h:519,
blake3.c: from blake3.c:3:
blake3.c: In function 'memcpy',
blake3.c: inlined from 'compress_parents_parallel' at blake3.c:125:5,
blake3.c: inlined from 'compress_subtree_to_parent_node' at blake3.c:236:9,
blake3.c: inlined from 'blake3_default_hash' at blake3.c:249:3:
blake3.c: /usr/include/powerpc64le-linux-gnu/bits/string_fortified.h:34:10: warning: '__builtin_memcpy' writing 32 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
blake3.c: 34 | return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest));
blake3.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S: Assembler messages:
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:1: Error: unknown pseudo-op: `.intel_syntax'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:12: Error: unrecognized opcode: `push'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:13: Error: unrecognized opcode: `push'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:14: Error: unrecognized opcode: `push'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:15: Error: unrecognized opcode: `push'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:16: Error: unrecognized opcode: `push'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:17: Error: unrecognized opcode: `push'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:18: Error: unrecognized opcode: `mov'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:19: Error: operand out of range (680 is not between 0 and 31)
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:19: Error: missing operand
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:20: Error: operand out of range (-64 is not between 0 and 31)
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:20: Error: missing operand
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:21: Error: missing operand
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:22: Error: unrecognized opcode: `vmovd'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:23: Error: unrecognized opcode: `vpbroadcastd'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:24: Error: unrecognized opcode: `vmovdqa'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:25: Error: unrecognized opcode: `vpand'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:26: Error: unrecognized opcode: `vpand'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:27: Error: unrecognized opcode: `vmovdqa'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:28: Error: unrecognized opcode: `vmovd'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:29: Error: unrecognized opcode: `vpbroadcastd'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:30: Error: unrecognized opcode: `vpaddd'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:31: Error: unrecognized opcode: `vmovdqa'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:32: Error: unrecognized opcode: `vpxor'
blake3_avx2_x86-64_unix.S: ...

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

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: gcc -O -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S: Assembler messages:
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:1: Error: unknown pseudo-op: `.intel_syntax'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:12: Error: unrecognized opcode: `push'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:13: Error: unrecognized opcode: `push'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:14: Error: unrecognized opcode: `push'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:15: Error: unrecognized opcode: `push'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:16: Error: unrecognized opcode: `push'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:17: Error: unrecognized opcode: `push'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:18: Error: unrecognized opcode: `mov'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:19: Error: operand out of range (680 is not between 0 and 31)
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:19: Error: missing operand
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:20: Error: operand out of range (-64 is not between 0 and 31)
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:20: Error: missing operand
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:21: Error: missing operand
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:22: Error: unrecognized opcode: `vmovd'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:23: Error: unrecognized opcode: `vpbroadcastd'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:24: Error: unrecognized opcode: `vmovdqa'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:25: Error: unrecognized opcode: `vpand'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:26: Error: unrecognized opcode: `vpand'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:27: Error: unrecognized opcode: `vmovdqa'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:28: Error: unrecognized opcode: `vmovd'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:29: Error: unrecognized opcode: `vpbroadcastd'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:30: Error: unrecognized opcode: `vpaddd'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:31: Error: unrecognized opcode: `vmovdqa'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:32: Error: unrecognized opcode: `vpxor'
blake3_avx2_x86-64_unix.S: ...

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2
gcc -mcpu=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2
gcc -mcpu=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2

Compiler output

Implementation: T:avx512
Security model: timingleaks
Compiler: clang -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:1:1: error: unknown directive
blake3_avx512_x86-64_unix.S: .intel_syntax noprefix
blake3_avx512_x86-64_unix.S: ^
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:18:9: error: invalid instruction, did you mean: psth?
blake3_avx512_x86-64_unix.S: push r15
blake3_avx512_x86-64_unix.S: ^
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:19:9: error: invalid instruction, did you mean: psth?
blake3_avx512_x86-64_unix.S: push r14
blake3_avx512_x86-64_unix.S: ^
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:20:9: error: invalid instruction, did you mean: psth?
blake3_avx512_x86-64_unix.S: push r13
blake3_avx512_x86-64_unix.S: ^
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:21:9: error: invalid instruction, did you mean: psth?
blake3_avx512_x86-64_unix.S: push r12
blake3_avx512_x86-64_unix.S: ^
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:22:9: error: invalid instruction, did you mean: psth?
blake3_avx512_x86-64_unix.S: push rbx
blake3_avx512_x86-64_unix.S: ^
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:23:9: error: invalid instruction, did you mean: psth?
blake3_avx512_x86-64_unix.S: push rbp
blake3_avx512_x86-64_unix.S: ^
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:24:9: error: invalid instruction
blake3_avx512_x86-64_unix.S: mov rbp, rsp
blake3_avx512_x86-64_unix.S: ^
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:25:13: error: invalid operand for instruction
blake3_avx512_x86-64_unix.S: ...

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx512
clang -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx512
clang -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx512
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx512
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx512
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx512
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx512
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx512

Compiler output

Implementation: T:avx512
Security model: timingleaks
Compiler: clang -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:1:1: error: unknown directive
blake3_avx512_x86-64_unix.S: .intel_syntax noprefix
blake3_avx512_x86-64_unix.S: ^
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:18:9: error: invalid instruction, did you mean: psth?
blake3_avx512_x86-64_unix.S: push r15
blake3_avx512_x86-64_unix.S: ^
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:19:9: error: invalid instruction, did you mean: psth?
blake3_avx512_x86-64_unix.S: push r14
blake3_avx512_x86-64_unix.S: ^
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:20:9: error: invalid instruction, did you mean: psth?
blake3_avx512_x86-64_unix.S: push r13
blake3_avx512_x86-64_unix.S: ^
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:21:9: error: invalid instruction, did you mean: psth?
blake3_avx512_x86-64_unix.S: push r12
blake3_avx512_x86-64_unix.S: ^
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:22:9: error: invalid instruction, did you mean: psth?
blake3_avx512_x86-64_unix.S: push rbx
blake3_avx512_x86-64_unix.S: ^
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:23:9: error: invalid instruction, did you mean: psth?
blake3_avx512_x86-64_unix.S: push rbp
blake3_avx512_x86-64_unix.S: ^
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:24:9: error: invalid instruction
blake3_avx512_x86-64_unix.S: mov rbp, rsp
blake3_avx512_x86-64_unix.S: ^
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:25:13: error: invalid operand for instruction
blake3_avx512_x86-64_unix.S: ...
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:1:1: error: unknown directive
blake3_avx512_x86-64_unix.S: .intel_syntax noprefix
blake3_avx512_x86-64_unix.S: ^
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:18:9: error: invalid instruction, did you mean: psth?
blake3_avx512_x86-64_unix.S: push r15
blake3_avx512_x86-64_unix.S: ^
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:19:9: error: invalid instruction, did you mean: psth?
blake3_avx512_x86-64_unix.S: push r14
blake3_avx512_x86-64_unix.S: ^
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:20:9: error: invalid instruction, did you mean: psth?
blake3_avx512_x86-64_unix.S: push r13
blake3_avx512_x86-64_unix.S: ^
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:21:9: error: invalid instruction, did you mean: psth?
blake3_avx512_x86-64_unix.S: push r12
blake3_avx512_x86-64_unix.S: ^
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:22:9: error: invalid instruction, did you mean: psth?
blake3_avx512_x86-64_unix.S: push rbx
blake3_avx512_x86-64_unix.S: ^
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:23:9: error: invalid instruction, did you mean: psth?
blake3_avx512_x86-64_unix.S: push rbp
blake3_avx512_x86-64_unix.S: ^
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:24:9: error: invalid instruction
blake3_avx512_x86-64_unix.S: mov rbp, rsp
blake3_avx512_x86-64_unix.S: ^
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:25:13: error: invalid operand for instruction
blake3_avx512_x86-64_unix.S: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx512

Compiler output

Implementation: T:avx512
Security model: timingleaks
Compiler: gcc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake3.c: In file included from /usr/include/string.h:519,
blake3.c: from blake3.c:3:
blake3.c: In function 'memcpy',
blake3.c: inlined from 'compress_parents_parallel' at blake3.c:125:5,
blake3.c: inlined from 'compress_subtree_to_parent_node' at blake3.c:236:9,
blake3.c: inlined from 'blake3_default_hash' at blake3.c:249:3:
blake3.c: /usr/include/powerpc64le-linux-gnu/bits/string_fortified.h:34:10: warning: '__builtin_memcpy' writing 32 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
blake3.c: 34 | return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest));
blake3.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S: Assembler messages:
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:1: Error: unknown pseudo-op: `.intel_syntax'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:18: Error: unrecognized opcode: `push'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:19: Error: unrecognized opcode: `push'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:20: Error: unrecognized opcode: `push'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:21: Error: unrecognized opcode: `push'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:22: Error: unrecognized opcode: `push'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:23: Error: unrecognized opcode: `push'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:24: Error: unrecognized opcode: `mov'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:25: Error: operand out of range (144 is not between 0 and 31)
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:25: Error: missing operand
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:26: Error: operand out of range (-64 is not between 0 and 31)
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:26: Error: missing operand
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:27: Error: missing operand
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:28: Error: unrecognized opcode: `kmovw'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:29: Error: unrecognized opcode: `vmovd'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:30: Error: unrecognized opcode: `vpbroadcastd'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:31: Error: unrecognized opcode: `shr'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:32: Error: unrecognized opcode: `vmovd'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:33: Error: unrecognized opcode: `vpbroadcastd'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:34: Error: unrecognized opcode: `vmovdqa'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:35: Error: unrecognized opcode: `vmovdqa'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:36: Error: unrecognized opcode: `vpaddd'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:37: Error: unrecognized opcode: `vpaddd'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:38: Error: unrecognized opcode: `vpcmpltud'
blake3_avx512_x86-64_unix.S: ...

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

Compiler output

Implementation: T:avx512
Security model: timingleaks
Compiler: gcc -O -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S: Assembler messages:
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:1: Error: unknown pseudo-op: `.intel_syntax'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:18: Error: unrecognized opcode: `push'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:19: Error: unrecognized opcode: `push'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:20: Error: unrecognized opcode: `push'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:21: Error: unrecognized opcode: `push'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:22: Error: unrecognized opcode: `push'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:23: Error: unrecognized opcode: `push'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:24: Error: unrecognized opcode: `mov'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:25: Error: operand out of range (144 is not between 0 and 31)
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:25: Error: missing operand
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:26: Error: operand out of range (-64 is not between 0 and 31)
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:26: Error: missing operand
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:27: Error: missing operand
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:28: Error: unrecognized opcode: `kmovw'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:29: Error: unrecognized opcode: `vmovd'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:30: Error: unrecognized opcode: `vpbroadcastd'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:31: Error: unrecognized opcode: `shr'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:32: Error: unrecognized opcode: `vmovd'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:33: Error: unrecognized opcode: `vpbroadcastd'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:34: Error: unrecognized opcode: `vmovdqa'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:35: Error: unrecognized opcode: `vmovdqa'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:36: Error: unrecognized opcode: `vpaddd'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:37: Error: unrecognized opcode: `vpaddd'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:38: Error: unrecognized opcode: `vpcmpltud'
blake3_avx512_x86-64_unix.S: ...

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx512
gcc -mcpu=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx512
gcc -mcpu=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx512

Compiler output

Implementation: T:neon
Security model: timingleaks
Compiler: clang -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake3.c: In file included from blake3.c:12:
blake3.c: ./blake3_static_dispatch.h:17:9: warning: 'MAX_SIMD_DEGREE' macro redefined [-Wmacro-redefined]
blake3.c: #define MAX_SIMD_DEGREE 4
blake3.c: ^
blake3.c: ./blake3_impl.h:53:9: note: previous definition is here
blake3.c: #define MAX_SIMD_DEGREE 1
blake3.c: ^
blake3.c: In file included from blake3.c:12:
blake3.c: ./blake3_static_dispatch.h:18:9: warning: 'MAX_SIMD_DEGREE_OR_2' macro redefined [-Wmacro-redefined]
blake3.c: #define MAX_SIMD_DEGREE_OR_2 4
blake3.c: ^
blake3.c: ./blake3_impl.h:58:9: note: previous definition is here
blake3.c: #define MAX_SIMD_DEGREE_OR_2 (MAX_SIMD_DEGREE > 2 ? MAX_SIMD_DEGREE : 2)
blake3.c: ^
blake3.c: 2 warnings generated.
blake3_neon.c: In file included from blake3_neon.c:3:
blake3_neon.c: /usr/lib/llvm-11/lib/clang/11.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:6: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/powerpc64le-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:8: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/powerpc64le-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:9: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:13: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 (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:neon
clang -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:neon
clang -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:neon
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:neon
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:neon
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:neon
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:neon
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:neon

Compiler output

Implementation: T:neon
Security model: timingleaks
Compiler: clang -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake3.c: In file included from blake3.c:12:
blake3.c: ./blake3_static_dispatch.h:17:9: warning: 'MAX_SIMD_DEGREE' macro redefined [-Wmacro-redefined]
blake3.c: #define MAX_SIMD_DEGREE 4
blake3.c: ^
blake3.c: ./blake3_impl.h:53:9: note: previous definition is here
blake3.c: #define MAX_SIMD_DEGREE 1
blake3.c: ^
blake3.c: In file included from blake3.c:12:
blake3.c: ./blake3_static_dispatch.h:18:9: warning: 'MAX_SIMD_DEGREE_OR_2' macro redefined [-Wmacro-redefined]
blake3.c: #define MAX_SIMD_DEGREE_OR_2 4
blake3.c: ^
blake3.c: ./blake3_impl.h:58:9: note: previous definition is here
blake3.c: #define MAX_SIMD_DEGREE_OR_2 (MAX_SIMD_DEGREE > 2 ? MAX_SIMD_DEGREE : 2)
blake3.c: ^
blake3.c: 2 warnings generated.
blake3_neon.c: In file included from blake3_neon.c:3:
blake3_neon.c: /usr/lib/llvm-11/lib/clang/11.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:6: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/powerpc64le-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:8: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/powerpc64le-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:9: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:13: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: ...
blake3.c: In file included from blake3.c:12:
blake3.c: ./blake3_static_dispatch.h:17:9: warning: 'MAX_SIMD_DEGREE' macro redefined [-Wmacro-redefined]
blake3.c: #define MAX_SIMD_DEGREE 4
blake3.c: ^
blake3.c: ./blake3_impl.h:53:9: note: previous definition is here
blake3.c: #define MAX_SIMD_DEGREE 1
blake3.c: ^
blake3.c: In file included from blake3.c:12:
blake3.c: ./blake3_static_dispatch.h:18:9: warning: 'MAX_SIMD_DEGREE_OR_2' macro redefined [-Wmacro-redefined]
blake3.c: #define MAX_SIMD_DEGREE_OR_2 4
blake3.c: ^
blake3.c: ./blake3_impl.h:58:9: note: previous definition is here
blake3.c: #define MAX_SIMD_DEGREE_OR_2 (MAX_SIMD_DEGREE > 2 ? MAX_SIMD_DEGREE : 2)
blake3.c: ^
blake3.c: 2 warnings generated.
blake3_neon.c: In file included from blake3_neon.c:3:
blake3_neon.c: /usr/lib/llvm-11/lib/clang/11.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:6: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/powerpc64le-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:8: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/powerpc64le-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:9: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:13: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 (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:neon

Compiler output

Implementation: T:neon
Security model: timingleaks
Compiler: gcc -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:53: note: this is the location of the previous definition
blake3.c: 53 | #define MAX_SIMD_DEGREE 1
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: 12, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon
gcc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon
gcc -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon
gcc -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon
gcc -mcpu=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon
gcc -mcpu=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon
gcc -mcpu=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon
gcc -mcpu=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon
gcc -mcpu=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon
gcc -mcpu=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon
gcc -mcpu=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon
gcc -mcpu=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon

Compiler output

Implementation: T:portable
Security model: timingleaks
Compiler: gcc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake3.c: In file included from /usr/include/string.h:519,
blake3.c: from blake3.c:3:
blake3.c: In function 'memcpy',
blake3.c: inlined from 'compress_parents_parallel' at blake3.c:125:5,
blake3.c: inlined from 'compress_subtree_to_parent_node' at blake3.c:236:9,
blake3.c: inlined from 'blake3_default_hash' at blake3.c:249:3:
blake3.c: /usr/include/powerpc64le-linux-gnu/bits/string_fortified.h:34:10: warning: '__builtin_memcpy' writing 32 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
blake3.c: 34 | return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest));
blake3.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

Compiler output

Implementation: T:sse41
Security model: timingleaks
Compiler: clang -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:1:1: error: unknown directive
blake3_sse41_x86-64_unix.S: .intel_syntax noprefix
blake3_sse41_x86-64_unix.S: ^
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:16:9: error: invalid instruction, did you mean: psth?
blake3_sse41_x86-64_unix.S: push r15
blake3_sse41_x86-64_unix.S: ^
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:17:9: error: invalid instruction, did you mean: psth?
blake3_sse41_x86-64_unix.S: push r14
blake3_sse41_x86-64_unix.S: ^
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:18:9: error: invalid instruction, did you mean: psth?
blake3_sse41_x86-64_unix.S: push r13
blake3_sse41_x86-64_unix.S: ^
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:19:9: error: invalid instruction, did you mean: psth?
blake3_sse41_x86-64_unix.S: push r12
blake3_sse41_x86-64_unix.S: ^
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:20:9: error: invalid instruction, did you mean: psth?
blake3_sse41_x86-64_unix.S: push rbx
blake3_sse41_x86-64_unix.S: ^
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:21:9: error: invalid instruction, did you mean: psth?
blake3_sse41_x86-64_unix.S: push rbp
blake3_sse41_x86-64_unix.S: ^
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:22:9: error: invalid instruction
blake3_sse41_x86-64_unix.S: mov rbp, rsp
blake3_sse41_x86-64_unix.S: ^
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:23:13: error: invalid operand for instruction
blake3_sse41_x86-64_unix.S: ...

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sse41
clang -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sse41
clang -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sse41
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sse41
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sse41
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sse41
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sse41
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sse41

Compiler output

Implementation: T:sse41
Security model: timingleaks
Compiler: clang -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:1:1: error: unknown directive
blake3_sse41_x86-64_unix.S: .intel_syntax noprefix
blake3_sse41_x86-64_unix.S: ^
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:16:9: error: invalid instruction, did you mean: psth?
blake3_sse41_x86-64_unix.S: push r15
blake3_sse41_x86-64_unix.S: ^
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:17:9: error: invalid instruction, did you mean: psth?
blake3_sse41_x86-64_unix.S: push r14
blake3_sse41_x86-64_unix.S: ^
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:18:9: error: invalid instruction, did you mean: psth?
blake3_sse41_x86-64_unix.S: push r13
blake3_sse41_x86-64_unix.S: ^
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:19:9: error: invalid instruction, did you mean: psth?
blake3_sse41_x86-64_unix.S: push r12
blake3_sse41_x86-64_unix.S: ^
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:20:9: error: invalid instruction, did you mean: psth?
blake3_sse41_x86-64_unix.S: push rbx
blake3_sse41_x86-64_unix.S: ^
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:21:9: error: invalid instruction, did you mean: psth?
blake3_sse41_x86-64_unix.S: push rbp
blake3_sse41_x86-64_unix.S: ^
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:22:9: error: invalid instruction
blake3_sse41_x86-64_unix.S: mov rbp, rsp
blake3_sse41_x86-64_unix.S: ^
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:23:13: error: invalid operand for instruction
blake3_sse41_x86-64_unix.S: ...
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:1:1: error: unknown directive
blake3_sse41_x86-64_unix.S: .intel_syntax noprefix
blake3_sse41_x86-64_unix.S: ^
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:16:9: error: invalid instruction, did you mean: psth?
blake3_sse41_x86-64_unix.S: push r15
blake3_sse41_x86-64_unix.S: ^
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:17:9: error: invalid instruction, did you mean: psth?
blake3_sse41_x86-64_unix.S: push r14
blake3_sse41_x86-64_unix.S: ^
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:18:9: error: invalid instruction, did you mean: psth?
blake3_sse41_x86-64_unix.S: push r13
blake3_sse41_x86-64_unix.S: ^
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:19:9: error: invalid instruction, did you mean: psth?
blake3_sse41_x86-64_unix.S: push r12
blake3_sse41_x86-64_unix.S: ^
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:20:9: error: invalid instruction, did you mean: psth?
blake3_sse41_x86-64_unix.S: push rbx
blake3_sse41_x86-64_unix.S: ^
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:21:9: error: invalid instruction, did you mean: psth?
blake3_sse41_x86-64_unix.S: push rbp
blake3_sse41_x86-64_unix.S: ^
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:22:9: error: invalid instruction
blake3_sse41_x86-64_unix.S: mov rbp, rsp
blake3_sse41_x86-64_unix.S: ^
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:23:13: error: invalid operand for instruction
blake3_sse41_x86-64_unix.S: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sse41

Compiler output

Implementation: T:sse41
Security model: timingleaks
Compiler: gcc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake3.c: In file included from /usr/include/string.h:519,
blake3.c: from blake3.c:3:
blake3.c: In function 'memcpy',
blake3.c: inlined from 'compress_parents_parallel' at blake3.c:125:5,
blake3.c: inlined from 'compress_subtree_to_parent_node' at blake3.c:236:9,
blake3.c: inlined from 'blake3_default_hash' at blake3.c:249:3:
blake3.c: /usr/include/powerpc64le-linux-gnu/bits/string_fortified.h:34:10: warning: '__builtin_memcpy' writing 32 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
blake3.c: 34 | return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest));
blake3.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S: Assembler messages:
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:1: Error: unknown pseudo-op: `.intel_syntax'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:16: Error: unrecognized opcode: `push'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:17: Error: unrecognized opcode: `push'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:18: Error: unrecognized opcode: `push'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:19: Error: unrecognized opcode: `push'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:20: Error: unrecognized opcode: `push'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:21: Error: unrecognized opcode: `push'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:22: Error: unrecognized opcode: `mov'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:23: Error: operand out of range (360 is not between 0 and 31)
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:23: Error: missing operand
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:24: Error: operand out of range (-64 is not between 0 and 31)
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:24: Error: missing operand
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:25: Error: missing operand
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:26: Error: unrecognized opcode: `movd'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:27: Error: unrecognized opcode: `pshufd'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:28: Error: unrecognized opcode: `movdqa'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:29: Error: unrecognized opcode: `movdqa'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:30: Error: unrecognized opcode: `pand'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:31: Error: unrecognized opcode: `pand'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:32: Error: unrecognized opcode: `movdqa'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:33: Error: unrecognized opcode: `movd'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:34: Error: unrecognized opcode: `pshufd'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:35: Error: unrecognized opcode: `paddd'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:36: Error: unrecognized opcode: `movdqa'
blake3_sse41_x86-64_unix.S: ...

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

Compiler output

Implementation: T:sse41
Security model: timingleaks
Compiler: gcc -O -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S: Assembler messages:
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:1: Error: unknown pseudo-op: `.intel_syntax'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:16: Error: unrecognized opcode: `push'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:17: Error: unrecognized opcode: `push'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:18: Error: unrecognized opcode: `push'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:19: Error: unrecognized opcode: `push'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:20: Error: unrecognized opcode: `push'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:21: Error: unrecognized opcode: `push'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:22: Error: unrecognized opcode: `mov'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:23: Error: operand out of range (360 is not between 0 and 31)
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:23: Error: missing operand
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:24: Error: operand out of range (-64 is not between 0 and 31)
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:24: Error: missing operand
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:25: Error: missing operand
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:26: Error: unrecognized opcode: `movd'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:27: Error: unrecognized opcode: `pshufd'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:28: Error: unrecognized opcode: `movdqa'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:29: Error: unrecognized opcode: `movdqa'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:30: Error: unrecognized opcode: `pand'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:31: Error: unrecognized opcode: `pand'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:32: Error: unrecognized opcode: `movdqa'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:33: Error: unrecognized opcode: `movd'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:34: Error: unrecognized opcode: `pshufd'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:35: Error: unrecognized opcode: `paddd'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:36: Error: unrecognized opcode: `movdqa'
blake3_sse41_x86-64_unix.S: ...

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sse41
gcc -mcpu=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sse41
gcc -mcpu=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sse41

Namespace violations

Implementation: T:portable
Security model: timingleaks
Compiler: clang -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -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: 17, namely:
CompilerImplementations
clang -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:portable
clang -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:portable
clang -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:portable
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:portable
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:portable
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:portable
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:portable
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:portable
gcc -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:portable
gcc -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:portable
gcc -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:portable
gcc -mcpu=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:portable
gcc -mcpu=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:portable
gcc -mcpu=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:portable
gcc -mcpu=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:portable
gcc -mcpu=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:portable
gcc -mcpu=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:portable

Namespace violations

Implementation: T:portable
Security model: timingleaks
Compiler: clang -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake3.o blake3_compress_subtree_wide T
blake3.o blake3_compress_subtree_wide T
blake3.o blake3_default_hash T
blake3.o blake3_default_hash T
blake3_portable.o blake3_compress_in_place_portable T
blake3_portable.o blake3_compress_in_place_portable T
blake3_portable.o blake3_compress_xof_portable T
blake3_portable.o blake3_compress_xof_portable T
blake3_portable.o blake3_hash_many_portable T
blake3_portable.o blake3_hash_many_portable T

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:portable