Implementation notes: aarch64, minimac, crypto_hash/blake3

Computer: minimac
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20211108
Operation: crypto_hash
Primitive: blake3
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
8933? ? ?? ? ?T:neongcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021040220210326
8933? ? ?? ? ?T:portablegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021040220210326
9200? ? ?? ? ?T:neongcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021040220210326
9200? ? ?? ? ?T:portablegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021040220210326
9733? ? ?? ? ?T:neonclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021053020210529
9733? ? ?? ? ?T:portableclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021053020210529
11066? ? ?? ? ?T:neongcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021040220210326
11066? ? ?? ? ?T:portablegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021040220210326
11600? ? ?? ? ?T:portablegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021040220210326
16399? ? ?? ? ?T:neongcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021040220210326

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: clang -mcpu=native -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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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:13: error: invalid operand for 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: 2, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake3.c: In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/string.h:194,
blake3.c: from blake3.c:3:
blake3.c: In function 'compress_subtree_to_parent_node',
blake3.c: inlined from 'blake3_default_hash' at blake3.c:249:3:
blake3.c: blake3.c:237:5: warning: '__builtin_memcpy' reading 64 bytes from a region of size 32 [-Wstringop-overflow=]
blake3.c: 237 | memcpy(cv_array, out_array, num_cvs * BLAKE3_OUT_LEN);
blake3.c: | ^~~~~~
blake3.c: In function 'compress_parents_parallel',
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: blake3.c:125:5: warning: '__builtin_memcpy' writing 32 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
blake3.c: 125 | memcpy(&out[parents_array_len * BLAKE3_OUT_LEN],
blake3.c: | ^~~~~~
blake3.c: In function 'compress_subtree_to_parent_node',
blake3.c: inlined from 'blake3_default_hash' at blake3.c:249:3:
blake3.c: blake3.c:237:5: warning: '__builtin_memcpy' reading 64 bytes from a region of size 32 [-Wstringop-overflow=]
blake3.c: 237 | memcpy(cv_array, out_array, num_cvs * BLAKE3_OUT_LEN);
blake3.c: | ^~~~~~
blake3.c: In function 'compress_parents_parallel',
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: blake3.c:125:5: warning: '__builtin_memcpy' writing 32 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
blake3.c: 125 | memcpy(&out[parents_array_len * BLAKE3_OUT_LEN],
blake3.c: | ^~~~~~
blake3.c: In function 'compress_subtree_to_parent_node',
blake3.c: ...
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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:13: error: invalid operand for 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
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake3.c: In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/string.h:194,
blake3.c: from blake3.c:3:
blake3.c: In function 'compress_parents_parallel',
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: blake3.c:125:5: warning: '__builtin_memcpy' writing 32 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
blake3.c: 125 | memcpy(&out[parents_array_len * BLAKE3_OUT_LEN],
blake3.c: | ^~~~~~
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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:13: error: invalid operand for 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: 2, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2

Compiler output

Implementation: T:avx512
Security model: timingleaks
Compiler: clang -mcpu=native -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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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:13: error: invalid operand for 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: 2, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx512
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx512

Compiler output

Implementation: T:avx512
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake3.c: In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/string.h:194,
blake3.c: from blake3.c:3:
blake3.c: In function 'compress_subtree_to_parent_node',
blake3.c: inlined from 'blake3_default_hash' at blake3.c:249:3:
blake3.c: blake3.c:237:5: warning: '__builtin_memcpy' reading 64 bytes from a region of size 32 [-Wstringop-overflow=]
blake3.c: 237 | memcpy(cv_array, out_array, num_cvs * BLAKE3_OUT_LEN);
blake3.c: | ^~~~~~
blake3.c: In function 'compress_parents_parallel',
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: blake3.c:125:5: warning: '__builtin_memcpy' writing 32 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
blake3.c: 125 | memcpy(&out[parents_array_len * BLAKE3_OUT_LEN],
blake3.c: | ^~~~~~
blake3.c: In function 'compress_subtree_to_parent_node',
blake3.c: inlined from 'blake3_default_hash' at blake3.c:249:3:
blake3.c: blake3.c:237:5: warning: '__builtin_memcpy' reading 64 bytes from a region of size 32 [-Wstringop-overflow=]
blake3.c: 237 | memcpy(cv_array, out_array, num_cvs * BLAKE3_OUT_LEN);
blake3.c: | ^~~~~~
blake3.c: In function 'compress_parents_parallel',
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: blake3.c:125:5: warning: '__builtin_memcpy' writing 32 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
blake3.c: 125 | memcpy(&out[parents_array_len * BLAKE3_OUT_LEN],
blake3.c: | ^~~~~~
blake3.c: In function 'compress_subtree_to_parent_node',
blake3.c: ...
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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:13: error: invalid operand for 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
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx512

Compiler output

Implementation: T:avx512
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake3.c: In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/string.h:194,
blake3.c: from blake3.c:3:
blake3.c: In function 'compress_parents_parallel',
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: blake3.c:125:5: warning: '__builtin_memcpy' writing 32 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
blake3.c: 125 | memcpy(&out[parents_array_len * BLAKE3_OUT_LEN],
blake3.c: | ^~~~~~
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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:13: error: invalid operand for 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: 2, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx512
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx512

Compiler output

Implementation: T:neon
Security model: timingleaks
Compiler: clang -mcpu=native -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.
try.c: ld: warning: object file (/Users/djb/supercop-20210529/supercop-data/minimac/aarch64/lib/kernelrandombytes.o) was built for newer macOS version (11.3) than being linked (11.0)
try.c: ld: warning: object file (/Users/djb/supercop-20210529/supercop-data/minimac/aarch64/lib/cpucycles.o) was built for newer macOS version (11.3) than being linked (11.0)
try.c: ld: warning: could not create compact unwind for _init: registers 21 and 22 not saved contiguously in frame
try.c: ld: warning: object file (/Users/djb/supercop-20210529/supercop-data/minimac/aarch64/lib/kernelrandombytes.o) was built for newer macOS version (11.3) than being linked (11.0)
try.c: ld: warning: object file (/Users/djb/supercop-20210529/supercop-data/minimac/aarch64/lib/cpucycles.o) was built for newer macOS version (11.3) than being linked (11.0)
try.c: ld: warning: could not create compact unwind for _init: registers 21 and 22 not saved contiguously in frame
measure.c: ld: warning: object file (/Users/djb/supercop-20210529/supercop-data/minimac/aarch64/lib/cpucycles.o) was built for newer macOS version (11.3) than being linked (11.0)
measure.c: ld: warning: object file (/Users/djb/supercop-20210529/supercop-data/minimac/aarch64/lib/kernelrandombytes.o) was built for newer macOS version (11.3) than being linked (11.0)
measure.c: ld: warning: could not create compact unwind for _init: registers 21 and 22 not saved contiguously in frame

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

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: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: |

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

Compiler output

Implementation: T:portable
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: ld: warning: object file (/Users/djb/supercop-20210529/supercop-data/minimac/aarch64/lib/kernelrandombytes.o) was built for newer macOS version (11.3) than being linked (11.0)
try.c: ld: warning: object file (/Users/djb/supercop-20210529/supercop-data/minimac/aarch64/lib/cpucycles.o) was built for newer macOS version (11.3) than being linked (11.0)
try.c: ld: warning: could not create compact unwind for _init: registers 21 and 22 not saved contiguously in frame
try.c: ld: warning: object file (/Users/djb/supercop-20210529/supercop-data/minimac/aarch64/lib/kernelrandombytes.o) was built for newer macOS version (11.3) than being linked (11.0)
try.c: ld: warning: object file (/Users/djb/supercop-20210529/supercop-data/minimac/aarch64/lib/cpucycles.o) was built for newer macOS version (11.3) than being linked (11.0)
try.c: ld: warning: could not create compact unwind for _init: registers 21 and 22 not saved contiguously in frame
measure.c: ld: warning: object file (/Users/djb/supercop-20210529/supercop-data/minimac/aarch64/lib/kernelrandombytes.o) was built for newer macOS version (11.3) than being linked (11.0)
measure.c: ld: warning: object file (/Users/djb/supercop-20210529/supercop-data/minimac/aarch64/lib/cpucycles.o) was built for newer macOS version (11.3) than being linked (11.0)
measure.c: ld: warning: could not create compact unwind for _init: registers 21 and 22 not saved contiguously in frame

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

Compiler output

Implementation: T:portable
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake3.c: In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/string.h:194,
blake3.c: from blake3.c:3:
blake3.c: In function 'compress_subtree_to_parent_node',
blake3.c: inlined from 'blake3_default_hash' at blake3.c:249:3:
blake3.c: blake3.c:237:5: warning: '__builtin_memcpy' reading 64 bytes from a region of size 32 [-Wstringop-overflow=]
blake3.c: 237 | memcpy(cv_array, out_array, num_cvs * BLAKE3_OUT_LEN);
blake3.c: | ^~~~~~
blake3.c: In function 'compress_parents_parallel',
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: blake3.c:125:5: warning: '__builtin_memcpy' writing 32 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
blake3.c: 125 | memcpy(&out[parents_array_len * BLAKE3_OUT_LEN],
blake3.c: | ^~~~~~
blake3.c: In function 'compress_subtree_to_parent_node',
blake3.c: inlined from 'blake3_default_hash' at blake3.c:249:3:
blake3.c: blake3.c:237:5: warning: '__builtin_memcpy' reading 64 bytes from a region of size 32 [-Wstringop-overflow=]
blake3.c: 237 | memcpy(cv_array, out_array, num_cvs * BLAKE3_OUT_LEN);
blake3.c: | ^~~~~~
blake3.c: In function 'compress_parents_parallel',
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: blake3.c:125:5: warning: '__builtin_memcpy' writing 32 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
blake3.c: 125 | memcpy(&out[parents_array_len * BLAKE3_OUT_LEN],
blake3.c: | ^~~~~~
blake3.c: In function 'compress_subtree_to_parent_node',
blake3.c: ...

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

Compiler output

Implementation: T:portable
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake3.c: In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/string.h:194,
blake3.c: from blake3.c:3:
blake3.c: In function 'compress_parents_parallel',
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: blake3.c:125:5: warning: '__builtin_memcpy' writing 32 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
blake3.c: 125 | memcpy(&out[parents_array_len * BLAKE3_OUT_LEN],
blake3.c: | ^~~~~~

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

Compiler output

Implementation: T:sse41
Security model: timingleaks
Compiler: clang -mcpu=native -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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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:13: error: invalid operand for 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: 2, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sse41
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sse41

Compiler output

Implementation: T:sse41
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake3.c: In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/string.h:194,
blake3.c: from blake3.c:3:
blake3.c: In function 'compress_subtree_to_parent_node',
blake3.c: inlined from 'blake3_default_hash' at blake3.c:249:3:
blake3.c: blake3.c:237:5: warning: '__builtin_memcpy' reading 64 bytes from a region of size 32 [-Wstringop-overflow=]
blake3.c: 237 | memcpy(cv_array, out_array, num_cvs * BLAKE3_OUT_LEN);
blake3.c: | ^~~~~~
blake3.c: In function 'compress_parents_parallel',
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: blake3.c:125:5: warning: '__builtin_memcpy' writing 32 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
blake3.c: 125 | memcpy(&out[parents_array_len * BLAKE3_OUT_LEN],
blake3.c: | ^~~~~~
blake3.c: In function 'compress_subtree_to_parent_node',
blake3.c: inlined from 'blake3_default_hash' at blake3.c:249:3:
blake3.c: blake3.c:237:5: warning: '__builtin_memcpy' reading 64 bytes from a region of size 32 [-Wstringop-overflow=]
blake3.c: 237 | memcpy(cv_array, out_array, num_cvs * BLAKE3_OUT_LEN);
blake3.c: | ^~~~~~
blake3.c: In function 'compress_parents_parallel',
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: blake3.c:125:5: warning: '__builtin_memcpy' writing 32 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
blake3.c: 125 | memcpy(&out[parents_array_len * BLAKE3_OUT_LEN],
blake3.c: | ^~~~~~
blake3.c: In function 'compress_subtree_to_parent_node',
blake3.c: ...
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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:13: error: invalid operand for 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
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sse41

Compiler output

Implementation: T:sse41
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake3.c: In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/string.h:194,
blake3.c: from blake3.c:3:
blake3.c: In function 'compress_parents_parallel',
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: blake3.c:125:5: warning: '__builtin_memcpy' writing 32 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
blake3.c: 125 | memcpy(&out[parents_array_len * BLAKE3_OUT_LEN],
blake3.c: | ^~~~~~
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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: unrecognized instruction mnemonic, did you mean: ushl, ushr?
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:13: error: invalid operand for 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: 2, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sse41
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sse41