Test results for armeabi, tinker, crypto_hash/blake3

[Page version: 20241024 12:18:11]

Measurements for armeabi, tinker, crypto_hash Test results for armeabi, tinker, crypto_hash Test results for crypto_hash/blake3
Computer: tinker
Microarchitecture: armeabi; Cortex-A17 (410fc0d1)
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20240909
Operation: crypto_hash
Primitive: blake3
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
148819735 0 020314 416 752T:portableclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024092620240909

Test failure


error 111

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:neongcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)

Compiler output


blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:15: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:27:14: error: invalid operand for instruction
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:28:14: error: invalid operand for instruction
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:29:14: error: invalid operand for instruction
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:30:14: error: invalid operand for instruction
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:31:14: error: invalid operand for instruction
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:32:14: error: invalid operand for instruction
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:33:13: error: operand must be a register in range [r0, r15]
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:34:13: error: operand must be a register in range [r0, r15]
blake3_avx2_x86-64_unix.S: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:avx2clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)

Compiler output


blake3.c: blake3.c: In function ‘blake3_compress_subtree_wide.constprop’:
blake3.c: blake3.c:193:20: warning: array subscript 256 is outside array bounds of ‘uint8_t[128]’ {aka ‘unsigned char[128]’} [-Warray-bounds]
blake3.c:   193 |   size_t right_n = blake3_compress_subtree_wide(
blake3.c:       |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake3.c:   194 |       right_input, right_input_len, key, right_chunk_counter, flags, right_cvs);
blake3.c:       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake3.c: blake3.c:178:11: note: at offset 256 into object ‘cv_array’ of size 128
blake3.c:   178 |   uint8_t cv_array[2 * MAX_SIMD_DEGREE_OR_2 * BLAKE3_OUT_LEN];
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:15: Error: unknown pseudo-op: `.intel_syntax'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:27: Error: expression too complex -- `push r15'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:28: Error: expression too complex -- `push r14'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:29: Error: expression too complex -- `push r13'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:30: Error: expression too complex -- `push r12'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:31: Error: expression too complex -- `push rbx'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:32: Error: expression too complex -- `push rbp'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:33: Error: ARM register expected -- `mov rbp,rsp'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:34: Error: ARM register expected -- `sub rsp,680'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:35: Error: ARM register expected -- `and rsp,0xFFFFFFFFFFFFFFC0'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:36: Error: ARM register expected -- `neg r9d'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:37: Error: bad instruction `vmovd xmm0,r9d'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:38: Error: bad instruction `vpbroadcastd ymm0,xmm0'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:39: Error: bad instruction `vmovdqa ymmword ptr [rsp+0x280],ymm0'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:40: Error: bad instruction `vpand ymm1,ymm0,ymmword ptr [ADD0+rip]'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:41: Error: bad instruction `vpand ymm2,ymm0,ymmword ptr [ADD1+rip]'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:42: Error: bad instruction `vmovdqa ymmword ptr [rsp+0x220],ymm2'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:43: Error: bad instruction `vmovd xmm2,r8d'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:44: Error: bad instruction `vpbroadcastd ymm2,xmm2'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:45: Error: bad instruction `vpaddd ymm2,ymm2,ymm1'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:46: Error: bad instruction `vmovdqa ymmword ptr [rsp+0x240],ymm2'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:47: Error: bad instruction `vpxor ymm1,ymm1,ymmword ptr [CMP_MSB_MASK+rip]'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:48: Error: bad instruction `vpxor ymm2,ymm2,ymmword ptr [CMP_MSB_MASK+rip]'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:49: Error: bad instruction `vpcmpgtd ymm2,ymm1,ymm2'
blake3_avx2_x86-64_unix.S: ...

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:avx2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
T:avx2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
T:avx2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)

Compiler output


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:15: Error: unknown pseudo-op: `.intel_syntax'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:27: Error: expression too complex -- `push r15'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:28: Error: expression too complex -- `push r14'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:29: Error: expression too complex -- `push r13'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:30: Error: expression too complex -- `push r12'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:31: Error: expression too complex -- `push rbx'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:32: Error: expression too complex -- `push rbp'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:33: Error: ARM register expected -- `mov rbp,rsp'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:34: Error: ARM register expected -- `sub rsp,680'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:35: Error: ARM register expected -- `and rsp,0xFFFFFFFFFFFFFFC0'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:36: Error: ARM register expected -- `neg r9d'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:37: Error: bad instruction `vmovd xmm0,r9d'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:38: Error: bad instruction `vpbroadcastd ymm0,xmm0'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:39: Error: bad instruction `vmovdqa ymmword ptr [rsp+0x280],ymm0'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:40: Error: bad instruction `vpand ymm1,ymm0,ymmword ptr [ADD0+rip]'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:41: Error: bad instruction `vpand ymm2,ymm0,ymmword ptr [ADD1+rip]'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:42: Error: bad instruction `vmovdqa ymmword ptr [rsp+0x220],ymm2'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:43: Error: bad instruction `vmovd xmm2,r8d'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:44: Error: bad instruction `vpbroadcastd ymm2,xmm2'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:45: Error: bad instruction `vpaddd ymm2,ymm2,ymm1'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:46: Error: bad instruction `vmovdqa ymmword ptr [rsp+0x240],ymm2'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:47: Error: bad instruction `vpxor ymm1,ymm1,ymmword ptr [CMP_MSB_MASK+rip]'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:48: Error: bad instruction `vpxor ymm2,ymm2,ymmword ptr [CMP_MSB_MASK+rip]'
blake3_avx2_x86-64_unix.S: blake3_avx2_x86-64_unix.S:49: Error: bad instruction `vpcmpgtd ymm2,ymm1,ymm2'
blake3_avx2_x86-64_unix.S: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:avx2gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)

Compiler output


blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:15: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:32:14: error: invalid operand for instruction
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:33:14: error: invalid operand for instruction
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:34:14: error: invalid operand for instruction
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:35:14: error: invalid operand for instruction
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:36:14: error: invalid operand for instruction
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:37:14: error: invalid operand for instruction
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:38:13: error: operand must be a register in range [r0, r15]
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:39:13: error: operand must be a register in range [r0, r15]
blake3_avx512_x86-64_unix.S: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:avx512clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)

Compiler output


blake3.c: blake3.c: In function ‘blake3_compress_subtree_wide.constprop’:
blake3.c: blake3.c:193:20: warning: array subscript 512 is outside array bounds of ‘uint8_t[128]’ {aka ‘unsigned char[128]’} [-Warray-bounds]
blake3.c:   193 |   size_t right_n = blake3_compress_subtree_wide(
blake3.c:       |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake3.c:   194 |       right_input, right_input_len, key, right_chunk_counter, flags, right_cvs);
blake3.c:       |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake3.c: blake3.c:178:11: note: at offset 512 into object ‘cv_array’ of size 128
blake3.c:   178 |   uint8_t cv_array[2 * MAX_SIMD_DEGREE_OR_2 * BLAKE3_OUT_LEN];
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:15: Error: unknown pseudo-op: `.intel_syntax'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:32: Error: expression too complex -- `push r15'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:33: Error: expression too complex -- `push r14'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:34: Error: expression too complex -- `push r13'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:35: Error: expression too complex -- `push r12'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:36: Error: expression too complex -- `push rbx'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:37: Error: expression too complex -- `push rbp'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:38: Error: ARM register expected -- `mov rbp,rsp'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:39: Error: ARM register expected -- `sub rsp,144'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:40: Error: ARM register expected -- `and rsp,0xFFFFFFFFFFFFFFC0'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:41: Error: bad arguments to instruction -- `neg r9'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:42: Error: bad instruction `kmovw k1,r9d'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:43: Error: bad instruction `vmovd xmm0,r8d'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:44: Error: bad instruction `vpbroadcastd ymm0,xmm0'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:45: Error: bad instruction `shr r8,32'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:46: Error: bad instruction `vmovd xmm1,r8d'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:47: Error: bad instruction `vpbroadcastd ymm1,xmm1'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:48: Error: bad instruction `vmovdqa ymm4,ymm1'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:49: Error: bad instruction `vmovdqa ymm5,ymm1'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:50: Error: bad instruction `vpaddd ymm2,ymm0,ymmword ptr [ADD0+rip]'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:51: Error: bad instruction `vpaddd ymm3,ymm0,ymmword ptr [ADD0+32+rip]'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:52: Error: bad instruction `vpcmpltud k2,ymm2,ymm0'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:53: Error: bad instruction `vpcmpltud k3,ymm3,ymm0'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:54: Error: bad instruction `vpaddd ymm4 {k2},ymm4,dword ptr [ADD1+rip] {1to8}'
blake3_avx512_x86-64_unix.S: ...

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:avx512gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
T:avx512gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
T:avx512gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)

Compiler output


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:15: Error: unknown pseudo-op: `.intel_syntax'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:32: Error: expression too complex -- `push r15'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:33: Error: expression too complex -- `push r14'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:34: Error: expression too complex -- `push r13'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:35: Error: expression too complex -- `push r12'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:36: Error: expression too complex -- `push rbx'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:37: Error: expression too complex -- `push rbp'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:38: Error: ARM register expected -- `mov rbp,rsp'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:39: Error: ARM register expected -- `sub rsp,144'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:40: Error: ARM register expected -- `and rsp,0xFFFFFFFFFFFFFFC0'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:41: Error: bad arguments to instruction -- `neg r9'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:42: Error: bad instruction `kmovw k1,r9d'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:43: Error: bad instruction `vmovd xmm0,r8d'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:44: Error: bad instruction `vpbroadcastd ymm0,xmm0'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:45: Error: bad instruction `shr r8,32'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:46: Error: bad instruction `vmovd xmm1,r8d'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:47: Error: bad instruction `vpbroadcastd ymm1,xmm1'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:48: Error: bad instruction `vmovdqa ymm4,ymm1'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:49: Error: bad instruction `vmovdqa ymm5,ymm1'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:50: Error: bad instruction `vpaddd ymm2,ymm0,ymmword ptr [ADD0+rip]'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:51: Error: bad instruction `vpaddd ymm3,ymm0,ymmword ptr [ADD0+32+rip]'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:52: Error: bad instruction `vpcmpltud k2,ymm2,ymm0'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:53: Error: bad instruction `vpcmpltud k3,ymm3,ymm0'
blake3_avx512_x86-64_unix.S: blake3_avx512_x86-64_unix.S:54: Error: bad instruction `vpaddd ymm4 {k2},ymm4,dword ptr [ADD1+rip] {1to8}'
blake3_avx512_x86-64_unix.S: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:avx512gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)

Compiler output


blake3_neon.c: In file included from blake3_neon.c:3:
blake3_neon.c: /usr/lib/llvm-14/lib/clang/14.0.6/include/arm_neon.h:32:2: error: "NEON support not enabled"
blake3_neon.c: #error "NEON support not enabled"
blake3_neon.c:  ^
blake3_neon.c: blake3_neon.c:11:8: error: unknown type name 'uint32x4_t'; did you mean 'uint32_t'?
blake3_neon.c: INLINE uint32x4_t loadu_128(const uint8_t src[16]) {
blake3_neon.c:        ^~~~~~~~~~
blake3_neon.c:        uint32_t
blake3_neon.c: /usr/include/arm-linux-gnueabihf/bits/stdint-uintn.h:26:20: note: 'uint32_t' declared here
blake3_neon.c: typedef __uint32_t uint32_t;
blake3_neon.c:                    ^
blake3_neon.c: blake3_neon.c:13:3: error: unknown type name 'uint32x4_t'; did you mean 'uint32_t'?
blake3_neon.c:   uint32x4_t x;
blake3_neon.c:   ^~~~~~~~~~
blake3_neon.c:   uint32_t
blake3_neon.c: /usr/include/arm-linux-gnueabihf/bits/stdint-uintn.h:26:20: note: 'uint32_t' declared here
blake3_neon.c: typedef __uint32_t uint32_t;
blake3_neon.c:                    ^
blake3_neon.c: blake3_neon.c:14:3: warning: 'memcpy' will always overflow; destination buffer has size 4, but size argument is 16 [-Wfortify-source]
blake3_neon.c:   memcpy(&x, src, 16);
blake3_neon.c:   ^
blake3_neon.c: blake3_neon.c:18:24: error: unknown type name 'uint32x4_t'; did you mean 'uint32_t'?
blake3_neon.c: INLINE void storeu_128(uint32x4_t src, uint8_t dest[16]) {
blake3_neon.c:                        ^~~~~~~~~~
blake3_neon.c:                        uint32_t
blake3_neon.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:neonclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)

Compiler output


blake3.c: In file included from blake3.c:12:
blake3.c: blake3_static_dispatch.h:8:2: error: #error "there are wider implementations on this platform; fail the build"
blake3.c:     8 | #error "there are wider implementations on this platform; fail the build"
blake3.c:       |  ^~~~~

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:portablegcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
T:portablegcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
T:portablegcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
T:portablegcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)

Compiler output


blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:15: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:31:14: error: invalid operand for instruction
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:32:14: error: invalid operand for instruction
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:33:14: error: invalid operand for instruction
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:34:14: error: invalid operand for instruction
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:35:14: error: invalid operand for instruction
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:36:14: error: invalid operand for instruction
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:37:13: error: operand must be a register in range [r0, r15]
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:38:13: error: operand must be a register in range [r0, r15]
blake3_sse41_x86-64_unix.S: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:sse41clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)

Compiler output


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:15: Error: unknown pseudo-op: `.intel_syntax'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:31: Error: expression too complex -- `push r15'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:32: Error: expression too complex -- `push r14'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:33: Error: expression too complex -- `push r13'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:34: Error: expression too complex -- `push r12'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:35: Error: expression too complex -- `push rbx'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:36: Error: expression too complex -- `push rbp'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:37: Error: ARM register expected -- `mov rbp,rsp'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:38: Error: ARM register expected -- `sub rsp,360'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:39: Error: ARM register expected -- `and rsp,0xFFFFFFFFFFFFFFC0'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:40: Error: ARM register expected -- `neg r9d'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:41: Error: bad instruction `movd xmm0,r9d'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:42: Error: bad instruction `pshufd xmm0,xmm0,0x00'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:43: Error: bad instruction `movdqa xmmword ptr [rsp+0x130],xmm0'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:44: Error: bad instruction `movdqa xmm1,xmm0'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:45: Error: bad instruction `pand xmm1,xmmword ptr [ADD0+rip]'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:46: Error: bad instruction `pand xmm0,xmmword ptr [ADD1+rip]'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:47: Error: bad instruction `movdqa xmmword ptr [rsp+0x150],xmm0'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:48: Error: bad instruction `movd xmm0,r8d'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:49: Error: bad instruction `pshufd xmm0,xmm0,0x00'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:50: Error: bad instruction `paddd xmm0,xmm1'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:51: Error: bad instruction `movdqa xmmword ptr [rsp+0x110],xmm0'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:52: Error: bad instruction `pxor xmm0,xmmword ptr [CMP_MSB_MASK+rip]'
blake3_sse41_x86-64_unix.S: blake3_sse41_x86-64_unix.S:53: Error: bad instruction `pxor xmm1,xmmword ptr [CMP_MSB_MASK+rip]'
blake3_sse41_x86-64_unix.S: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:sse41gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
T:sse41gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
T:sse41gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
T:sse41gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)

Namespace violations


blake3.o blake3_default_hash T
blake3_portable.o blake3_compress_in_place_portable T
blake3_portable.o blake3_compress_xof_portable T
blake3_portable.o blake3_hash_many_portable T

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:portableclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)