Implementation notes: aarch64, ten64, crypto_hash/blake3

Computer: ten64
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20210604
Operation: crypto_hash
Primitive: blake3
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1164816492 0 029831 896 752T:neongcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021082020210604
1171216312 0 028839 896 744T:neongcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021082020210604
117769460 0 022815 896 752T:portablegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021082020210604
1203215616 0 027095 880 736T:neongcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021082020210604
120969080 0 020567 880 736T:portablegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021082020210604
2796817656 0 029974 888 744T:neongcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021082020210604
2816010948 0 023278 888 744T:portablegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021082020210604

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 /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/aarch64-linux-gnu/bits/string_fortified.h:29:10: warning: '__builtin_memcpy' reading 64 bytes from a region of size 32 [-Wstringop-overflow=]
blake3.c: 29 | return __builtin___memcpy_chk (__dest, __src, __len,
blake3.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake3.c: 30 | __glibc_objsize0 (__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/aarch64-linux-gnu/bits/string_fortified.h:29:10: warning: '__builtin_memcpy' writing 32 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
blake3.c: 29 | return __builtin___memcpy_chk (__dest, __src, __len,
blake3.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake3.c: 30 | __glibc_objsize0 (__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/aarch64-linux-gnu/bits/string_fortified.h:29:10: warning: '__builtin_memcpy' reading 64 bytes from a region of size 32 [-Wstringop-overflow=]
blake3.c: 29 | return __builtin___memcpy_chk (__dest, __src, __len,
blake3.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake3.c: ...

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

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 /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/aarch64-linux-gnu/bits/string_fortified.h:29:10: warning: '__builtin_memcpy' writing 32 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
blake3.c: 29 | return __builtin___memcpy_chk (__dest, __src, __len,
blake3.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake3.c: 30 | __glibc_objsize0 (__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: unknown mnemonic `push' -- `push r15'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:13: Error: unknown mnemonic `push' -- `push r14'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:14: Error: unknown mnemonic `push' -- `push r13'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:15: Error: unknown mnemonic `push' -- `push r12'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:16: Error: unknown mnemonic `push' -- `push rbx'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:17: Error: unknown mnemonic `push' -- `push rbp'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:18: Error: operand 1 must be an integer register -- `mov rbp,rsp'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:19: Error: operand 1 must be an integer or stack pointer register -- `sub rsp,680'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:20: Error: operand 1 must be an integer or stack pointer register -- `and rsp,0xFFFFFFFFFFFFFFC0'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:21: Error: operand 1 must be a SIMD vector register -- `neg r9d'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:22: Error: unknown mnemonic `vmovd' -- `vmovd xmm0,r9d'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:23: Error: unknown mnemonic `vpbroadcastd' -- `vpbroadcastd ymm0,xmm0'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:24: Error: unknown mnemonic `vmovdqa' -- `vmovdqa ymmword ptr[rsp+0x280],ymm0'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:25: Error: unknown mnemonic `vpand' -- `vpand ymm1,ymm0,ymmword ptr[ADD0+rip]'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:26: Error: unknown mnemonic `vpand' -- `vpand ymm2,ymm0,ymmword ptr[ADD1+rip]'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:27: Error: unknown mnemonic `vmovdqa' -- `vmovdqa ymmword ptr[rsp+0x220],ymm2'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:28: Error: unknown mnemonic `vmovd' -- `vmovd xmm2,r8d'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:29: Error: unknown mnemonic `vpbroadcastd' -- `vpbroadcastd ymm2,xmm2'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:30: Error: unknown mnemonic `vpaddd' -- `vpaddd ymm2,ymm2,ymm1'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:31: Error: unknown mnemonic `vmovdqa' -- `vmovdqa ymmword ptr[rsp+0x240],ymm2'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:32: Error: unknown mnemonic `vpxor' -- `vpxor ymm1,ymm1,ymmword ptr[CMP_MSB_MASK+rip]'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:33: Error: unknown mnemonic `vpxor' -- `vpxor ymm2,ymm2,ymmword ptr[CMP_MSB_MASK+rip]'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:34: Error: unknown mnemonic `vpcmpgtd' -- `vpcmpgtd ymm2,ymm1,ymm2'
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:avx2
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -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: unknown mnemonic `push' -- `push r15'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:13: Error: unknown mnemonic `push' -- `push r14'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:14: Error: unknown mnemonic `push' -- `push r13'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:15: Error: unknown mnemonic `push' -- `push r12'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:16: Error: unknown mnemonic `push' -- `push rbx'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:17: Error: unknown mnemonic `push' -- `push rbp'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:18: Error: operand 1 must be an integer register -- `mov rbp,rsp'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:19: Error: operand 1 must be an integer or stack pointer register -- `sub rsp,680'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:20: Error: operand 1 must be an integer or stack pointer register -- `and rsp,0xFFFFFFFFFFFFFFC0'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:21: Error: operand 1 must be a SIMD vector register -- `neg r9d'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:22: Error: unknown mnemonic `vmovd' -- `vmovd xmm0,r9d'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:23: Error: unknown mnemonic `vpbroadcastd' -- `vpbroadcastd ymm0,xmm0'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:24: Error: unknown mnemonic `vmovdqa' -- `vmovdqa ymmword ptr[rsp+0x280],ymm0'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:25: Error: unknown mnemonic `vpand' -- `vpand ymm1,ymm0,ymmword ptr[ADD0+rip]'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:26: Error: unknown mnemonic `vpand' -- `vpand ymm2,ymm0,ymmword ptr[ADD1+rip]'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:27: Error: unknown mnemonic `vmovdqa' -- `vmovdqa ymmword ptr[rsp+0x220],ymm2'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:28: Error: unknown mnemonic `vmovd' -- `vmovd xmm2,r8d'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:29: Error: unknown mnemonic `vpbroadcastd' -- `vpbroadcastd ymm2,xmm2'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:30: Error: unknown mnemonic `vpaddd' -- `vpaddd ymm2,ymm2,ymm1'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:31: Error: unknown mnemonic `vmovdqa' -- `vmovdqa ymmword ptr[rsp+0x240],ymm2'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:32: Error: unknown mnemonic `vpxor' -- `vpxor ymm1,ymm1,ymmword ptr[CMP_MSB_MASK+rip]'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:33: Error: unknown mnemonic `vpxor' -- `vpxor ymm2,ymm2,ymmword ptr[CMP_MSB_MASK+rip]'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:34: Error: unknown mnemonic `vpcmpgtd' -- `vpcmpgtd ymm2,ymm1,ymm2'
blake3_avx2_x86-64_unix.S: ...

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

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 /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/aarch64-linux-gnu/bits/string_fortified.h:29:10: warning: '__builtin_memcpy' writing 32 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
blake3.c: 29 | return __builtin___memcpy_chk (__dest, __src, __len,
blake3.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake3.c: 30 | __glibc_objsize0 (__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: unknown mnemonic `push' -- `push r15'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:19: Error: unknown mnemonic `push' -- `push r14'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:20: Error: unknown mnemonic `push' -- `push r13'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:21: Error: unknown mnemonic `push' -- `push r12'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:22: Error: unknown mnemonic `push' -- `push rbx'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:23: Error: unknown mnemonic `push' -- `push rbp'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:24: Error: operand 1 must be an integer register -- `mov rbp,rsp'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:25: Error: operand 1 must be an integer or stack pointer register -- `sub rsp,144'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:26: Error: operand 1 must be an integer or stack pointer register -- `and rsp,0xFFFFFFFFFFFFFFC0'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:27: Error: operand 1 must be a SIMD vector register -- `neg r9'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:28: Error: unknown mnemonic `kmovw' -- `kmovw k1,r9d'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:29: Error: unknown mnemonic `vmovd' -- `vmovd xmm0,r8d'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:30: Error: unknown mnemonic `vpbroadcastd' -- `vpbroadcastd ymm0,xmm0'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:31: Error: unknown mnemonic `shr' -- `shr r8,32'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:32: Error: unknown mnemonic `vmovd' -- `vmovd xmm1,r8d'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:33: Error: unknown mnemonic `vpbroadcastd' -- `vpbroadcastd ymm1,xmm1'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:34: Error: unknown mnemonic `vmovdqa' -- `vmovdqa ymm4,ymm1'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:35: Error: unknown mnemonic `vmovdqa' -- `vmovdqa ymm5,ymm1'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:36: Error: unknown mnemonic `vpaddd' -- `vpaddd ymm2,ymm0,ymmword ptr[ADD0+rip]'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:37: Error: unknown mnemonic `vpaddd' -- `vpaddd ymm3,ymm0,ymmword ptr[ADD0+32+rip]'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:38: Error: unknown mnemonic `vpcmpltud' -- `vpcmpltud k2,ymm2,ymm0'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:39: Error: unknown mnemonic `vpcmpltud' -- `vpcmpltud k3,ymm3,ymm0'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:40: Error: unknown mnemonic `vpaddd' -- `vpaddd ymm4{k2},ymm4,dword ptr[ADD1+rip]{1to8}'
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:avx512
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -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: unknown mnemonic `push' -- `push r15'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:19: Error: unknown mnemonic `push' -- `push r14'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:20: Error: unknown mnemonic `push' -- `push r13'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:21: Error: unknown mnemonic `push' -- `push r12'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:22: Error: unknown mnemonic `push' -- `push rbx'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:23: Error: unknown mnemonic `push' -- `push rbp'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:24: Error: operand 1 must be an integer register -- `mov rbp,rsp'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:25: Error: operand 1 must be an integer or stack pointer register -- `sub rsp,144'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:26: Error: operand 1 must be an integer or stack pointer register -- `and rsp,0xFFFFFFFFFFFFFFC0'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:27: Error: operand 1 must be a SIMD vector register -- `neg r9'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:28: Error: unknown mnemonic `kmovw' -- `kmovw k1,r9d'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:29: Error: unknown mnemonic `vmovd' -- `vmovd xmm0,r8d'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:30: Error: unknown mnemonic `vpbroadcastd' -- `vpbroadcastd ymm0,xmm0'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:31: Error: unknown mnemonic `shr' -- `shr r8,32'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:32: Error: unknown mnemonic `vmovd' -- `vmovd xmm1,r8d'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:33: Error: unknown mnemonic `vpbroadcastd' -- `vpbroadcastd ymm1,xmm1'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:34: Error: unknown mnemonic `vmovdqa' -- `vmovdqa ymm4,ymm1'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:35: Error: unknown mnemonic `vmovdqa' -- `vmovdqa ymm5,ymm1'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:36: Error: unknown mnemonic `vpaddd' -- `vpaddd ymm2,ymm0,ymmword ptr[ADD0+rip]'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:37: Error: unknown mnemonic `vpaddd' -- `vpaddd ymm3,ymm0,ymmword ptr[ADD0+32+rip]'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:38: Error: unknown mnemonic `vpcmpltud' -- `vpcmpltud k2,ymm2,ymm0'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:39: Error: unknown mnemonic `vpcmpltud' -- `vpcmpltud k3,ymm3,ymm0'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:40: Error: unknown mnemonic `vpaddd' -- `vpaddd ymm4{k2},ymm4,dword ptr[ADD1+rip]{1to8}'
blake3_avx512_x86-64_unix.S: ...

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

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: gcc -march=native -mtune=native -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/aarch64-linux-gnu/bits/string_fortified.h:29:10: warning: ‘__builtin_memcpy’ reading 64 bytes from a region of size 32 [-Wstringop-overflow=]
blake3.c: 29 | return __builtin___memcpy_chk (__dest, __src, __len,
blake3.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake3.c: 30 | __glibc_objsize0 (__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/aarch64-linux-gnu/bits/string_fortified.h:29:10: warning: ‘__builtin_memcpy’ writing 32 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
blake3.c: 29 | return __builtin___memcpy_chk (__dest, __src, __len,
blake3.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake3.c: 30 | __glibc_objsize0 (__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/aarch64-linux-gnu/bits/string_fortified.h:29:10: warning: ‘__builtin_memcpy’ reading 64 bytes from a region of size 32 [-Wstringop-overflow=]
blake3.c: 29 | return __builtin___memcpy_chk (__dest, __src, __len,
blake3.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake3.c: ...

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

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 /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/aarch64-linux-gnu/bits/string_fortified.h:29:10: warning: ‘__builtin_memcpy’ writing 32 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
blake3.c: 29 | return __builtin___memcpy_chk (__dest, __src, __len,
blake3.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake3.c: 30 | __glibc_objsize0 (__dest));
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: gcc -march=native -mtune=native -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/aarch64-linux-gnu/bits/string_fortified.h:29:10: warning: ‘__builtin_memcpy’ writing 32 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=]
blake3.c: 29 | return __builtin___memcpy_chk (__dest, __src, __len,
blake3.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake3.c: 30 | __glibc_objsize0 (__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: unknown mnemonic `push' -- `push r15'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:17: Error: unknown mnemonic `push' -- `push r14'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:18: Error: unknown mnemonic `push' -- `push r13'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:19: Error: unknown mnemonic `push' -- `push r12'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:20: Error: unknown mnemonic `push' -- `push rbx'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:21: Error: unknown mnemonic `push' -- `push rbp'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:22: Error: operand 1 must be an integer register -- `mov rbp,rsp'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:23: Error: operand 1 must be an integer or stack pointer register -- `sub rsp,360'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:24: Error: operand 1 must be an integer or stack pointer register -- `and rsp,0xFFFFFFFFFFFFFFC0'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:25: Error: operand 1 must be a SIMD vector register -- `neg r9d'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:26: Error: unknown mnemonic `movd' -- `movd xmm0,r9d'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:27: Error: unknown mnemonic `pshufd' -- `pshufd xmm0,xmm0,0x00'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:28: Error: unknown mnemonic `movdqa' -- `movdqa xmmword ptr[rsp+0x130],xmm0'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:29: Error: unknown mnemonic `movdqa' -- `movdqa xmm1,xmm0'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:30: Error: unknown mnemonic `pand' -- `pand xmm1,xmmword ptr[ADD0+rip]'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:31: Error: unknown mnemonic `pand' -- `pand xmm0,xmmword ptr[ADD1+rip]'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:32: Error: unknown mnemonic `movdqa' -- `movdqa xmmword ptr[rsp+0x150],xmm0'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:33: Error: unknown mnemonic `movd' -- `movd xmm0,r8d'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:34: Error: unknown mnemonic `pshufd' -- `pshufd xmm0,xmm0,0x00'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:35: Error: unknown mnemonic `paddd' -- `paddd xmm0,xmm1'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:36: Error: unknown mnemonic `movdqa' -- `movdqa xmmword ptr[rsp+0x110],xmm0'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:37: Error: unknown mnemonic `pxor' -- `pxor xmm0,xmmword ptr[CMP_MSB_MASK+rip]'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:38: Error: unknown mnemonic `pxor' -- `pxor xmm1,xmmword ptr[CMP_MSB_MASK+rip]'
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

Compiler output

Implementation: T:sse41
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -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: unknown mnemonic `push' -- `push r15'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:17: Error: unknown mnemonic `push' -- `push r14'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:18: Error: unknown mnemonic `push' -- `push r13'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:19: Error: unknown mnemonic `push' -- `push r12'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:20: Error: unknown mnemonic `push' -- `push rbx'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:21: Error: unknown mnemonic `push' -- `push rbp'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:22: Error: operand 1 must be an integer register -- `mov rbp,rsp'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:23: Error: operand 1 must be an integer or stack pointer register -- `sub rsp,360'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:24: Error: operand 1 must be an integer or stack pointer register -- `and rsp,0xFFFFFFFFFFFFFFC0'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:25: Error: operand 1 must be a SIMD vector register -- `neg r9d'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:26: Error: unknown mnemonic `movd' -- `movd xmm0,r9d'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:27: Error: unknown mnemonic `pshufd' -- `pshufd xmm0,xmm0,0x00'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:28: Error: unknown mnemonic `movdqa' -- `movdqa xmmword ptr[rsp+0x130],xmm0'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:29: Error: unknown mnemonic `movdqa' -- `movdqa xmm1,xmm0'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:30: Error: unknown mnemonic `pand' -- `pand xmm1,xmmword ptr[ADD0+rip]'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:31: Error: unknown mnemonic `pand' -- `pand xmm0,xmmword ptr[ADD1+rip]'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:32: Error: unknown mnemonic `movdqa' -- `movdqa xmmword ptr[rsp+0x150],xmm0'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:33: Error: unknown mnemonic `movd' -- `movd xmm0,r8d'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:34: Error: unknown mnemonic `pshufd' -- `pshufd xmm0,xmm0,0x00'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:35: Error: unknown mnemonic `paddd' -- `paddd xmm0,xmm1'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:36: Error: unknown mnemonic `movdqa' -- `movdqa xmmword ptr[rsp+0x110],xmm0'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:37: Error: unknown mnemonic `pxor' -- `pxor xmm0,xmmword ptr[CMP_MSB_MASK+rip]'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:38: Error: unknown mnemonic `pxor' -- `pxor xmm1,xmmword ptr[CMP_MSB_MASK+rip]'
blake3_sse41_x86-64_unix.S: ...

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