Implementation notes: x86, thoth, crypto_hash/blake2s

Computer: thoth
Architecture: x86
CPU ID: AuthenticAMD-00000622-0183f9ff
SUPERCOP version: 20160806
Operation: crypto_hash
Primitive: blake2s
TimeImplementationCompilerBenchmark dateSUPERCOP version
21558regsgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072620160724
22152regsclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072620160724
22370regsgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072620160724
22944regsgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072620160724
23551regsgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072620160724
26793refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072620160724
26844refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072620160724
27983refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072620160724
28094refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072620160724
30226refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072620160724

Test failure

Implementation: crypto_hash/blake2s/moon/avx/32
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
error 111

Number of similar (compiler,implementation) pairs: 20, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments moon/avx/32 moon/sse2/32 moon/ssse3/32 moon/xop/32
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv moon/avx/32 moon/sse2/32 moon/ssse3/32 moon/xop/32
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv moon/avx/32 moon/sse2/32 moon/ssse3/32 moon/xop/32
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv moon/avx/32 moon/sse2/32 moon/ssse3/32 moon/xop/32
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv moon/avx/32 moon/sse2/32 moon/ssse3/32 moon/xop/32

Compiler output

Implementation: crypto_hash/blake2s/moon/armv6/32
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
blake2s.S: blake2s.S:5:1: error: unknown directive
blake2s.S: .arch armv5
blake2s.S: ^
blake2s.S: blake2s.S:8:9: error: unexpected token in argument list
blake2s.S: stmfd sp!, {r4-r12, r14}
blake2s.S: ^
blake2s.S: blake2s.S:9:1: error: unknown use of instruction mnemonic without a size suffix
blake2s.S: mov r12, sp
blake2s.S: ^
blake2s.S: blake2s.S:10:13: error: unknown token in expression
blake2s.S: sub sp, sp, #256
blake2s.S: ^
blake2s.S: blake2s.S:11:13: error: unknown token in expression
blake2s.S: and sp, sp, #0xffffffe0
blake2s.S: ^
blake2s.S: blake2s.S:12:13: error: expected ']' in brackets expression
blake2s.S: str r12, [sp, #148]
blake2s.S: ^
blake2s.S: blake2s.S:13:9: error: unknown token in expression
blake2s.S: mov r4, #64
blake2s.S: ^
blake2s.S: blake2s.S:14:9: error: unknown token in expression
blake2s.S: cmp r2, #64
blake2s.S: ^
blake2s.S: blake2s.S:15:1: error: invalid instruction mnemonic 'bhs'
blake2s.S: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments moon/armv6/32

Compiler output

Implementation: crypto_hash/blake2s/moon/xop/64
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
blake2s.S: blake2s.S:6:7: error: register %rbp is only available in 64-bit mode
blake2s.S: pushq %rbp
blake2s.S: ^~~~
blake2s.S: blake2s.S:7:11: error: register %r8d is only available in 64-bit mode
blake2s.S: movl $64, %r8d
blake2s.S: ^~~~
blake2s.S: blake2s.S:8:6: error: register %rsp is only available in 64-bit mode
blake2s.S: movq %rsp, %rbp
blake2s.S: ^~~~
blake2s.S: blake2s.S:9:7: error: register %r12 is only available in 64-bit mode
blake2s.S: pushq %r12
blake2s.S: ^~~~
blake2s.S: blake2s.S:10:7: error: register %rbx is only available in 64-bit mode
blake2s.S: pushq %rbx
blake2s.S: ^~~~
blake2s.S: blake2s.S:11:12: error: register %rsp is only available in 64-bit mode
blake2s.S: andq $-64, %rsp
blake2s.S: ^~~~
blake2s.S: blake2s.S:12:11: error: register %rsp is only available in 64-bit mode
blake2s.S: addq $32, %rsp
blake2s.S: ^~~~
blake2s.S: blake2s.S:13:11: error: register %rdx is only available in 64-bit mode
blake2s.S: cmpq $64, %rdx
blake2s.S: ^~~~
blake2s.S: blake2s.S:14:8: error: register %rdx is only available in 64-bit mode
blake2s.S: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments moon/xop/64

Compiler output

Implementation: crypto_hash/blake2s/moon/ssse3/64
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
blake2s.S: blake2s.S:6:7: error: register %rbp is only available in 64-bit mode
blake2s.S: pushq %rbp
blake2s.S: ^~~~
blake2s.S: blake2s.S:7:6: error: register %rsp is only available in 64-bit mode
blake2s.S: movq %rsp, %rbp
blake2s.S: ^~~~
blake2s.S: blake2s.S:8:12: error: register %rsp is only available in 64-bit mode
blake2s.S: andq $-64, %rsp
blake2s.S: ^~~~
blake2s.S: gt;:4:7: error: register %r8 is only available in 64-bit mode
blake2s.S: popl %r8
blake2s.S: ^~~
blake2s.S: blake2s.S:9:1: note: while in macro instantiation
blake2s.S: LOAD_VAR_PIC blake2s_constants_ssse3, %r8
blake2s.S: ^
blake2s.S: gt;:5:36: error: register %r8 is only available in 64-bit mode
blake2s.S: leal blake2s_constants_ssse3 - 1b(%r8), %r8
blake2s.S: ^~~
blake2s.S: blake2s.S:9:1: note: while in macro instantiation
blake2s.S: LOAD_VAR_PIC blake2s_constants_ssse3, %r8
blake2s.S: ^
blake2s.S: blake2s.S:10:6: error: register %rdi is only available in 64-bit mode
blake2s.S: movq %rdi, %r10
blake2s.S: ^~~~
blake2s.S: blake2s.S:11:11: error: register %rdx is only available in 64-bit mode
blake2s.S: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments moon/ssse3/64

Compiler output

Implementation: crypto_hash/blake2s/moon/sse2/64
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
blake2s.S: blake2s.S:6:7: error: register %rbp is only available in 64-bit mode
blake2s.S: pushq %rbp
blake2s.S: ^~~~
blake2s.S: blake2s.S:7:6: error: register %rsp is only available in 64-bit mode
blake2s.S: movq %rsp, %rbp
blake2s.S: ^~~~
blake2s.S: blake2s.S:8:12: error: register %rsp is only available in 64-bit mode
blake2s.S: andq $-64, %rsp
blake2s.S: ^~~~
blake2s.S: blake2s.S:9:6: error: register %rdi is only available in 64-bit mode
blake2s.S: movq %rdi, %r10
blake2s.S: ^~~~
blake2s.S: blake2s.S:10:11: error: register %r8d is only available in 64-bit mode
blake2s.S: movl $64, %r8d
blake2s.S: ^~~~
blake2s.S: blake2s.S:11:11: error: register %rdx is only available in 64-bit mode
blake2s.S: cmpq $64, %rdx
blake2s.S: ^~~~
blake2s.S: gt;:4:7: error: register %r9 is only available in 64-bit mode
blake2s.S: popl %r9
blake2s.S: ^~~
blake2s.S: blake2s.S:12:1: note: while in macro instantiation
blake2s.S: LOAD_VAR_PIC 160+blake2s_sigma, %r9
blake2s.S: ^
blake2s.S: gt;:5:30: error: register %r9 is only available in 64-bit mode
blake2s.S: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments moon/sse2/64

Compiler output

Implementation: crypto_hash/blake2s/moon/avx/64
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
blake2s.S: blake2s.S:6:7: error: register %rbp is only available in 64-bit mode
blake2s.S: pushq %rbp
blake2s.S: ^~~~
blake2s.S: blake2s.S:7:6: error: register %rsp is only available in 64-bit mode
blake2s.S: movq %rsp, %rbp
blake2s.S: ^~~~
blake2s.S: blake2s.S:8:7: error: register %r15 is only available in 64-bit mode
blake2s.S: pushq %r15
blake2s.S: ^~~~
blake2s.S: blake2s.S:9:7: error: register %r14 is only available in 64-bit mode
blake2s.S: pushq %r14
blake2s.S: ^~~~
blake2s.S: blake2s.S:10:7: error: register %r13 is only available in 64-bit mode
blake2s.S: pushq %r13
blake2s.S: ^~~~
blake2s.S: blake2s.S:11:7: error: register %r12 is only available in 64-bit mode
blake2s.S: pushq %r12
blake2s.S: ^~~~
blake2s.S: blake2s.S:12:7: error: register %rbx is only available in 64-bit mode
blake2s.S: pushq %rbx
blake2s.S: ^~~~
blake2s.S: blake2s.S:14:12: error: register %rsp is only available in 64-bit mode
blake2s.S: andq $-64, %rsp
blake2s.S: ^~~~
blake2s.S: blake2s.S:15:10: error: register %rsp is only available in 64-bit mode
blake2s.S: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments moon/avx/64

Compiler output

Implementation: crypto_hash/blake2s/xmm
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
blake2s.c: In file included from blake2s.c:21:
blake2s.c: ./blake2-config.h:68:2: error: "This code requires at least SSE2."
blake2s.c: #error "This code requires at least SSE2."
blake2s.c: ^
blake2s.c: 1 error generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments xmm

Compiler output

Implementation: crypto_hash/blake2s/avxicc
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
blake2s.s: blake2s.s:13:19: error: register %r11d is only available in 64-bit mode
blake2s.s: xorl %r11d, %r11d
blake2s.s: ^~~~~
blake2s.s: blake2s.s:15:19: error: register %rsi is only available in 64-bit mode
blake2s.s: movq %rsi, %r9
blake2s.s: ^~~~
blake2s.s: blake2s.s:16:41: error: register %rip is only available in 64-bit mode
blake2s.s: vmovdqu .L_2il0floatpacket.10(%rip), %xmm4
blake2s.s: ^~~~
blake2s.s: blake2s.s:18:40: error: register %rip is only available in 64-bit mode
blake2s.s: vmovdqu .L_2il0floatpacket.7(%rip), %xmm0
blake2s.s: ^~~~
blake2s.s: blake2s.s:20:40: error: register %rip is only available in 64-bit mode
blake2s.s: vmovdqu .L_2il0floatpacket.8(%rip), %xmm1
blake2s.s: ^~~~
blake2s.s: blake2s.s:21:19: error: register %rdx is only available in 64-bit mode
blake2s.s: movq %rdx, %r8
blake2s.s: ^~~~
blake2s.s: blake2s.s:22:40: error: register %rip is only available in 64-bit mode
blake2s.s: vmovdqu .L_2il0floatpacket.9(%rip), %xmm3
blake2s.s: ^~~~
blake2s.s: blake2s.s:23:19: error: register %r10d is only available in 64-bit mode
blake2s.s: xorl %r10d, %r10d
blake2s.s: ^~~~~
blake2s.s: blake2s.s:24:41: error: register %rip is only available in 64-bit mode
blake2s.s: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avxicc

Compiler output

Implementation: crypto_hash/blake2s/moon/armv6/32
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
blake2s.S: blake2s.S: Assembler messages:
blake2s.S: blake2s.S:5: Error: no such architecture: `armv5'
blake2s.S: blake2s.S:8: Error: no such instruction: `stmfd sp!,{r4-r12,r14}'
blake2s.S: blake2s.S:9: Error: too many memory references for `mov'
blake2s.S: blake2s.S:10: Error: too many memory references for `sub'
blake2s.S: blake2s.S:11: Error: too many memory references for `and'
blake2s.S: blake2s.S:12: Error: invalid char '[' beginning operand 2 `[sp'
blake2s.S: blake2s.S:13: Error: expecting operand after ','; got nothing
blake2s.S: blake2s.S:14: Error: expecting operand after ','; got nothing
blake2s.S: blake2s.S:15: Error: no such instruction: `bhs blake2s_blocks_armv6_use64'
blake2s.S: blake2s.S:16: Error: too many memory references for `mov'
blake2s.S: blake2s.S:18: Error: invalid char '[' beginning operand 2 `[sp'
blake2s.S: blake2s.S:19: Error: invalid char '[' beginning operand 2 `[sp'
blake2s.S: blake2s.S:20: Error: invalid char '[' beginning operand 2 `[sp'
blake2s.S: blake2s.S:21: Error: invalid char '[' beginning operand 2 `[sp'
blake2s.S: blake2s.S:22: Error: no such instruction: `ldr r6,[r0,'
blake2s.S: blake2s.S:23: Error: no such instruction: `tst r6,r6'
blake2s.S: blake2s.S:24: Error: no such instruction: `beq blake2s_blocks_armv6_nocopymessage'
blake2s.S: blake2s.S:25: Error: expecting operand after ','; got nothing
blake2s.S: blake2s.S:26: Error: no such instruction: `beq blake2s_blocks_armv6_nocopymessage'
blake2s.S: blake2s.S:27: Error: too many memory references for `mov'
blake2s.S: blake2s.S:28: Error: no such instruction: `eor r4,r4'
blake2s.S: blake2s.S:29: Error: no such instruction: `eor r5,r5'
blake2s.S: blake2s.S:30: Error: no such instruction: `eor r6,r6'
blake2s.S: blake2s.S:31: Error: no such instruction: `eor r7,r7'
blake2s.S: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv moon/armv6/32
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv moon/armv6/32
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv moon/armv6/32
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv moon/armv6/32

Compiler output

Implementation: crypto_hash/blake2s/moon/xop/64
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
blake2s.S: blake2s.S: Assembler messages:
blake2s.S: blake2s.S:6: Error: bad register name `%rbp'
blake2s.S: blake2s.S:7: Error: bad register name `%r8d'
blake2s.S: blake2s.S:8: Error: bad register name `%rsp'
blake2s.S: blake2s.S:9: Error: bad register name `%r12'
blake2s.S: blake2s.S:10: Error: bad register name `%rbx'
blake2s.S: blake2s.S:11: Error: bad register name `%rsp'
blake2s.S: blake2s.S:12: Error: bad register name `%rsp'
blake2s.S: blake2s.S:13: Error: bad register name `%rdx'
blake2s.S: blake2s.S:14: Error: bad register name `%rdx'
blake2s.S: blake2s.S:15: Error: bad register name `%rdi)'
blake2s.S: blake2s.S:17: Error: bad register name `%rdx'
blake2s.S: blake2s.S:21: Error: bad register name `%rsp)'
blake2s.S: blake2s.S:22: Error: bad register name `%rsp)'
blake2s.S: blake2s.S:23: Error: bad register name `%rsp)'
blake2s.S: blake2s.S:25: Error: bad register name `%rsi)'
blake2s.S: blake2s.S:26: Error: bad register name `%r9)'
blake2s.S: blake2s.S:27: Error: bad register name `%rsi'
blake2s.S: blake2s.S:28: Error: bad register name `%rsp)'
blake2s.S: blake2s.S:31: Error: bad register name `%r9'
blake2s.S: blake2s.S:35: Error: bad register name `%rsi)'
blake2s.S: blake2s.S:36: Error: bad register name `%rax'
blake2s.S: blake2s.S:37: Error: bad register name `%rsi'
blake2s.S: blake2s.S:38: Error: bad register name `%rax)'
blake2s.S: blake2s.S:42: Error: bad register name `%rsi)'
blake2s.S: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv moon/xop/64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv moon/xop/64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv moon/xop/64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv moon/xop/64

Compiler output

Implementation: crypto_hash/blake2s/moon/avx/64
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
blake2s.S: blake2s.S: Assembler messages:
blake2s.S: blake2s.S:6: Error: bad register name `%rbp'
blake2s.S: blake2s.S:7: Error: bad register name `%rsp'
blake2s.S: blake2s.S:8: Error: bad register name `%r15'
blake2s.S: blake2s.S:9: Error: bad register name `%r14'
blake2s.S: blake2s.S:10: Error: bad register name `%r13'
blake2s.S: blake2s.S:11: Error: bad register name `%r12'
blake2s.S: blake2s.S:12: Error: bad register name `%rbx'
blake2s.S: blake2s.S:14: Error: bad register name `%rsp'
blake2s.S: blake2s.S:15: Error: bad register name `%rsp'
blake2s.S: blake2s.S:16: Error: bad register name `%rdx'
blake2s.S: blake2s.S:17: Error: bad register name `%rdx'
blake2s.S: blake2s.S:18: Error: bad register name `%rdi)'
blake2s.S: blake2s.S:22: Error: bad register name `%rdi)'
blake2s.S: blake2s.S:23: Error: bad register name `%rdi)'
blake2s.S: blake2s.S:24: Error: bad register name `%r13d'
blake2s.S: blake2s.S:25: Error: bad register name `%rdi)'
blake2s.S: blake2s.S:26: Error: bad register name `%rdi)'
blake2s.S: blake2s.S:27: Error: bad register name `%r10'
blake2s.S: blake2s.S:27: Error: bad register name `%r10)'
blake2s.S: blake2s.S:28: Error: bad register name `%r10)'
blake2s.S: blake2s.S:29: Error: bad register name `%r10)'
blake2s.S: blake2s.S:30: Error: bad register name `%r10'
blake2s.S: blake2s.S:30: Error: bad register name `%r10)'
blake2s.S: blake2s.S:31: Error: bad register name `%r10)'
blake2s.S: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv moon/avx/64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv moon/avx/64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv moon/avx/64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv moon/avx/64

Compiler output

Implementation: crypto_hash/blake2s/moon/ssse3/64
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
blake2s.S: blake2s.S: Assembler messages:
blake2s.S: blake2s.S:6: Error: bad register name `%rbp'
blake2s.S: blake2s.S:7: Error: bad register name `%rsp'
blake2s.S: blake2s.S:8: Error: bad register name `%rsp'
blake2s.S: blake2s.S:9: Error: bad register name `%r8'
blake2s.S: blake2s.S:9: Error: bad register name `%r8)'
blake2s.S: blake2s.S:10: Error: bad register name `%rdi'
blake2s.S: blake2s.S:11: Error: bad register name `%rdx'
blake2s.S: blake2s.S:12: Error: bad register name `%r9'
blake2s.S: blake2s.S:12: Error: bad register name `%r9)'
blake2s.S: blake2s.S:13: Error: bad register name `%r8)'
blake2s.S: blake2s.S:14: Error: bad register name `%r8)'
blake2s.S: blake2s.S:15: Error: bad register name `%r8d'
blake2s.S: blake2s.S:16: Error: bad register name `%rdx'
blake2s.S: blake2s.S:17: Error: bad register name `%r10)'
blake2s.S: blake2s.S:20: Error: bad register name `%rdx'
blake2s.S: blake2s.S:23: Error: bad register name `%rdx'
blake2s.S: blake2s.S:24: Error: bad register name `%rsp)'
blake2s.S: blake2s.S:26: Error: bad register name `%rsp)'
blake2s.S: blake2s.S:27: Error: bad register name `%rsp)'
blake2s.S: blake2s.S:28: Error: bad register name `%rsp)'
blake2s.S: blake2s.S:29: Error: bad register name `%rsp)'
blake2s.S: blake2s.S:32: Error: bad register name `%rsi)'
blake2s.S: blake2s.S:33: Error: bad register name `%rsp)'
blake2s.S: blake2s.S:34: Error: bad register name `%rsp)'
blake2s.S: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv moon/ssse3/64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv moon/ssse3/64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv moon/ssse3/64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv moon/ssse3/64

Compiler output

Implementation: crypto_hash/blake2s/moon/sse2/64
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
blake2s.S: blake2s.S: Assembler messages:
blake2s.S: blake2s.S:6: Error: bad register name `%rbp'
blake2s.S: blake2s.S:7: Error: bad register name `%rsp'
blake2s.S: blake2s.S:8: Error: bad register name `%rsp'
blake2s.S: blake2s.S:9: Error: bad register name `%rdi'
blake2s.S: blake2s.S:10: Error: bad register name `%r8d'
blake2s.S: blake2s.S:11: Error: bad register name `%rdx'
blake2s.S: blake2s.S:12: Error: bad register name `%r9'
blake2s.S: blake2s.S:12: Error: bad register name `%r9)'
blake2s.S: blake2s.S:13: Error: bad register name `%rdx'
blake2s.S: blake2s.S:14: Error: bad register name `%r10)'
blake2s.S: blake2s.S:17: Error: bad register name `%rdx'
blake2s.S: blake2s.S:20: Error: bad register name `%rdx'
blake2s.S: blake2s.S:21: Error: bad register name `%rsp)'
blake2s.S: blake2s.S:23: Error: bad register name `%rsp)'
blake2s.S: blake2s.S:24: Error: bad register name `%rsp)'
blake2s.S: blake2s.S:25: Error: bad register name `%rsp)'
blake2s.S: blake2s.S:26: Error: bad register name `%rsp)'
blake2s.S: blake2s.S:29: Error: bad register name `%rsi)'
blake2s.S: blake2s.S:30: Error: bad register name `%rsp)'
blake2s.S: blake2s.S:31: Error: bad register name `%rsp)'
blake2s.S: blake2s.S:32: Error: bad register name `%rsi)'
blake2s.S: blake2s.S:33: Error: bad register name `%rsp)'
blake2s.S: blake2s.S:34: Error: bad register name `%rsi'
blake2s.S: blake2s.S:36: Error: bad register name `%rdx'
blake2s.S: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv moon/sse2/64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv moon/sse2/64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv moon/sse2/64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv moon/sse2/64

Compiler output

Implementation: crypto_hash/blake2s/xmm
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
blake2s.c: In file included from blake2s.c:21:0:
blake2s.c: blake2-config.h:68:2: error: #error "This code requires at least SSE2."
blake2s.c: #error "This code requires at least SSE2."
blake2s.c: ^
blake2s.c: blake2s.c: In function 'crypto_hash_blake2s_xmm':
blake2s.c: blake2s.c:57:8: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
blake2s.c: row1 = _mm_setr_epi32(0x6A09E667UL ^ 0x01010020UL, 0xBB67AE85UL, 0x3C6EF372UL, 0xA54FF53AUL);
blake2s.c: ^

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv xmm
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv xmm
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv xmm
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv xmm

Compiler output

Implementation: crypto_hash/blake2s/avxicc
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
blake2s.s: blake2s.s: Assembler messages:
blake2s.s: blake2s.s:13: Error: bad register name `%r11d'
blake2s.s: blake2s.s:15: Error: bad register name `%rsi'
blake2s.s: blake2s.s:16: Error: bad register name `%rip)'
blake2s.s: blake2s.s:18: Error: bad register name `%rip)'
blake2s.s: blake2s.s:20: Error: bad register name `%rip)'
blake2s.s: blake2s.s:21: Error: bad register name `%rdx'
blake2s.s: blake2s.s:22: Error: bad register name `%rip)'
blake2s.s: blake2s.s:23: Error: bad register name `%r10d'
blake2s.s: blake2s.s:24: Error: bad register name `%rip)'
blake2s.s: blake2s.s:25: Error: bad register name `%rdx'
blake2s.s: blake2s.s:28: Error: bad register name `%rbp'
blake2s.s: blake2s.s:29: Error: bad register name `%rdx)'
blake2s.s: blake2s.s:30: Error: bad register name `%rsi'
blake2s.s: blake2s.s:32: Error: bad register name `%rcx'
blake2s.s: blake2s.s:33: Error: bad register name `%rsi'
blake2s.s: blake2s.s:34: Error: bad register name `%rax'
blake2s.s: blake2s.s:35: Error: bad register name `%rsi'
blake2s.s: blake2s.s:36: Error: bad register name `%rdx'
blake2s.s: blake2s.s:37: Error: bad register name `%rdx'
blake2s.s: blake2s.s:39: Error: bad register name `%rcx'
blake2s.s: blake2s.s:40: Error: bad register name `%rcx'
blake2s.s: blake2s.s:41: Error: bad register name `%rcx'
blake2s.s: blake2s.s:42: Error: bad register name `%rcx'
blake2s.s: blake2s.s:43: Error: bad register name `%xmm8'
blake2s.s: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv avxicc
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv avxicc
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv avxicc
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv avxicc