Implementation notes: armeabi, pi2, crypto_hash/blake2s

Computer: pi2
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20160731
Operation: crypto_hash
Primitive: blake2s
TimeImplementationCompilerBenchmark dateSUPERCOP version
37359moon/armv6/32gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016080520160731
37394moon/armv6/32gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016080520160731
37568regsclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080520160731
37843moon/armv6/32clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080520160731
38112regsgcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016080520160731
38122moon/armv6/32gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016080520160731
38595moon/armv6/32gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016080520160731
42355regsgcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016080520160731
43044regsgcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016080520160731
46907refgcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016080520160731
48498refgcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016080520160731
48799refgcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016080520160731
49406regsgcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016080520160731
50733refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080520160731
60786refgcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016080520160731

Compiler output

Implementation: crypto_hash/blake2s/moon/avx/32
Compiler: clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
blake2s.S: blake2s.S:6:7: error: unexpected token in operand
blake2s.S: pushl %ebp
blake2s.S: ^
blake2s.S: blake2s.S:7:11: error: unexpected token in operand
blake2s.S: movl $64, %eax
blake2s.S: ^
blake2s.S: blake2s.S:8:6: error: unexpected token in operand
blake2s.S: movl %esp, %ebp
blake2s.S: ^
blake2s.S: blake2s.S:9:7: error: unexpected token in operand
blake2s.S: pushl %edi
blake2s.S: ^
blake2s.S: blake2s.S:10:7: error: unexpected token in operand
blake2s.S: pushl %esi
blake2s.S: ^
blake2s.S: blake2s.S:11:7: error: unexpected token in operand
blake2s.S: pushl %ebx
blake2s.S: ^
blake2s.S: blake2s.S:12:12: error: unexpected token in operand
blake2s.S: andl $-64, %esp
blake2s.S: ^
blake2s.S: blake2s.S:13:13: error: unexpected token in operand
blake2s.S: addl $-128, %esp
blake2s.S: ^
blake2s.S: blake2s.S:14:13: error: unexpected token in argument list
blake2s.S: ...

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

Compiler output

Implementation: crypto_hash/blake2s/moon/xop/32
Compiler: clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
blake2s.S: blake2s.S:6:7: error: unexpected token in operand
blake2s.S: pushl %ebp
blake2s.S: ^
blake2s.S: blake2s.S:7:11: error: unexpected token in operand
blake2s.S: movl $64, %eax
blake2s.S: ^
blake2s.S: blake2s.S:8:6: error: unexpected token in operand
blake2s.S: movl %esp, %ebp
blake2s.S: ^
blake2s.S: blake2s.S:9:7: error: unexpected token in operand
blake2s.S: pushl %edi
blake2s.S: ^
blake2s.S: blake2s.S:10:7: error: unexpected token in operand
blake2s.S: pushl %esi
blake2s.S: ^
blake2s.S: blake2s.S:11:7: error: unexpected token in operand
blake2s.S: pushl %ebx
blake2s.S: ^
blake2s.S: blake2s.S:12:12: error: unexpected token in operand
blake2s.S: andl $-64, %esp
blake2s.S: ^
blake2s.S: blake2s.S:13:13: error: unexpected token in operand
blake2s.S: addl $-128, %esp
blake2s.S: ^
blake2s.S: blake2s.S:14:8: error: unexpected token in argument list
blake2s.S: ...

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

Compiler output

Implementation: crypto_hash/blake2s/moon/ssse3/32
Compiler: clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
blake2s.S: blake2s.S:6:7: error: unexpected token in operand
blake2s.S: pushl %ebp
blake2s.S: ^
blake2s.S: blake2s.S:7:6: error: unexpected token in operand
blake2s.S: movl %esp, %ebp
blake2s.S: ^
blake2s.S: blake2s.S:8:12: error: unexpected token in operand
blake2s.S: andl $-64, %esp
blake2s.S: ^
blake2s.S: blake2s.S:9:7: error: unexpected token in operand
blake2s.S: pushl %esi
blake2s.S: ^
blake2s.S: blake2s.S:10:7: error: unexpected token in operand
blake2s.S: pushl %edi
blake2s.S: ^
blake2s.S: blake2s.S:11:7: error: unexpected token in operand
blake2s.S: pushl %ebx
blake2s.S: ^
blake2s.S: blake2s.S:12:12: error: unexpected token in operand
blake2s.S: subl $180, %esp
blake2s.S: ^
blake2s.S: blake2s.S:13:11: error: unexpected token in operand
blake2s.S: movl $64, %ebx
blake2s.S: ^
blake2s.S: gt;:7:31: error: unexpected token in variant, expected ')'
blake2s.S: ...

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

Compiler output

Implementation: crypto_hash/blake2s/moon/sse2/32
Compiler: clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
blake2s.S: blake2s.S:6:7: error: unexpected token in operand
blake2s.S: pushl %ebp
blake2s.S: ^
blake2s.S: blake2s.S:7:6: error: unexpected token in operand
blake2s.S: movl %esp, %ebp
blake2s.S: ^
blake2s.S: blake2s.S:8:12: error: unexpected token in operand
blake2s.S: andl $-64, %esp
blake2s.S: ^
blake2s.S: blake2s.S:9:7: error: unexpected token in operand
blake2s.S: pushl %esi
blake2s.S: ^
blake2s.S: blake2s.S:10:7: error: unexpected token in operand
blake2s.S: pushl %edi
blake2s.S: ^
blake2s.S: blake2s.S:11:7: error: unexpected token in operand
blake2s.S: pushl %ebx
blake2s.S: ^
blake2s.S: blake2s.S:12:12: error: unexpected token in operand
blake2s.S: subl $180, %esp
blake2s.S: ^
blake2s.S: blake2s.S:13:1: error: invalid instruction
blake2s.S: pushl $64
blake2s.S: ^
blake2s.S: blake2s.S:14:6: error: unexpected token in operand
blake2s.S: ...

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

Compiler output

Implementation: crypto_hash/blake2s/moon/xop/64
Compiler: clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
blake2s.S: blake2s.S:6:7: error: unexpected token in operand
blake2s.S: pushq %rbp
blake2s.S: ^
blake2s.S: blake2s.S:7:11: error: unexpected token in operand
blake2s.S: movl $64, %r8d
blake2s.S: ^
blake2s.S: blake2s.S:8:6: error: unexpected token in operand
blake2s.S: movq %rsp, %rbp
blake2s.S: ^
blake2s.S: blake2s.S:9:7: error: unexpected token in operand
blake2s.S: pushq %r12
blake2s.S: ^
blake2s.S: blake2s.S:10:7: error: unexpected token in operand
blake2s.S: pushq %rbx
blake2s.S: ^
blake2s.S: blake2s.S:11:12: error: unexpected token in operand
blake2s.S: andq $-64, %rsp
blake2s.S: ^
blake2s.S: blake2s.S:12:11: error: unexpected token in operand
blake2s.S: addq $32, %rsp
blake2s.S: ^
blake2s.S: blake2s.S:13:11: error: unexpected token in operand
blake2s.S: cmpq $64, %rdx
blake2s.S: ^
blake2s.S: blake2s.S:14:8: error: unexpected token in operand
blake2s.S: ...

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

Compiler output

Implementation: crypto_hash/blake2s/moon/ssse3/64
Compiler: clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
blake2s.S: blake2s.S:6:7: error: unexpected token in operand
blake2s.S: pushq %rbp
blake2s.S: ^
blake2s.S: blake2s.S:7:6: error: unexpected token in operand
blake2s.S: movq %rsp, %rbp
blake2s.S: ^
blake2s.S: blake2s.S:8:12: error: unexpected token in operand
blake2s.S: andq $-64, %rsp
blake2s.S: ^
blake2s.S: gt;:7:31: error: unexpected token in variant, expected ')'
blake2s.S: leaq blake2s_constants_ssse3(%rip), %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: unexpected token in operand
blake2s.S: movq %rdi, %r10
blake2s.S: ^
blake2s.S: blake2s.S:11:11: error: unexpected token in operand
blake2s.S: cmpq $64, %rdx
blake2s.S: ^
blake2s.S: gt;:7:25: error: unexpected token in variant, expected ')'
blake2s.S: leaq 160+blake2s_sigma(%rip), %r9
blake2s.S: ^
blake2s.S: blake2s.S:12:1: note: while in macro instantiation
blake2s.S: ...

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

Compiler output

Implementation: crypto_hash/blake2s/moon/sse2/64
Compiler: clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
blake2s.S: blake2s.S:6:7: error: unexpected token in operand
blake2s.S: pushq %rbp
blake2s.S: ^
blake2s.S: blake2s.S:7:6: error: unexpected token in operand
blake2s.S: movq %rsp, %rbp
blake2s.S: ^
blake2s.S: blake2s.S:8:12: error: unexpected token in operand
blake2s.S: andq $-64, %rsp
blake2s.S: ^
blake2s.S: blake2s.S:9:6: error: unexpected token in operand
blake2s.S: movq %rdi, %r10
blake2s.S: ^
blake2s.S: blake2s.S:10:11: error: unexpected token in operand
blake2s.S: movl $64, %r8d
blake2s.S: ^
blake2s.S: blake2s.S:11:11: error: unexpected token in operand
blake2s.S: cmpq $64, %rdx
blake2s.S: ^
blake2s.S: gt;:7:25: error: unexpected token in variant, expected ')'
blake2s.S: leaq 160+blake2s_sigma(%rip), %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: blake2s.S:13:8: error: unexpected token in operand
blake2s.S: ...

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

Compiler output

Implementation: crypto_hash/blake2s/moon/avx/64
Compiler: clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
blake2s.S: blake2s.S:6:7: error: unexpected token in operand
blake2s.S: pushq %rbp
blake2s.S: ^
blake2s.S: blake2s.S:7:6: error: unexpected token in operand
blake2s.S: movq %rsp, %rbp
blake2s.S: ^
blake2s.S: blake2s.S:8:7: error: unexpected token in operand
blake2s.S: pushq %r15
blake2s.S: ^
blake2s.S: blake2s.S:9:7: error: unexpected token in operand
blake2s.S: pushq %r14
blake2s.S: ^
blake2s.S: blake2s.S:10:7: error: unexpected token in operand
blake2s.S: pushq %r13
blake2s.S: ^
blake2s.S: blake2s.S:11:7: error: unexpected token in operand
blake2s.S: pushq %r12
blake2s.S: ^
blake2s.S: blake2s.S:12:7: error: unexpected token in operand
blake2s.S: pushq %rbx
blake2s.S: ^
blake2s.S: blake2s.S:13:11: error: unexpected token in operand
blake2s.S: movl $64, %ebx
blake2s.S: ^
blake2s.S: blake2s.S:14:12: error: unexpected token in operand
blake2s.S: ...

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

Compiler output

Implementation: crypto_hash/blake2s/xmm
Compiler: clang -mcpu=native -mfpu=neon -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: In file included from blake2s.c:24:
blake2s.c: In file included from /usr/bin/../lib/clang/3.8.1/include/emmintrin.h:27:
blake2s.c: In file included from /usr/bin/../lib/clang/3.8.1/include/xmmintrin.h:27:
blake2s.c: /usr/bin/../lib/clang/3.8.1/include/mmintrin.h:45:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
blake2s.c: return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
blake2s.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2s.c: /usr/bin/../lib/clang/3.8.1/include/mmintrin.h:69:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
blake2s.c: return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
blake2s.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2s.c: /usr/bin/../lib/clang/3.8.1/include/mmintrin.h:75:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
blake2s.c: return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
blake2s.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2s.c: /usr/bin/../lib/clang/3.8.1/include/mmintrin.h:81:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
blake2s.c: return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
blake2s.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2s.c: /usr/bin/../lib/clang/3.8.1/include/mmintrin.h:87:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
blake2s.c: return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
blake2s.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2s.c: /usr/bin/../lib/clang/3.8.1/include/mmintrin.h:93:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
blake2s.c: return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
blake2s.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blake2s.c: ...

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

Compiler output

Implementation: crypto_hash/blake2s/avxicc
Compiler: clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
blake2s.s: blake2s.s:13:19: error: unexpected token in operand
blake2s.s: xorl %r11d, %r11d
blake2s.s: ^
blake2s.s: blake2s.s:14:19: error: unexpected token in operand
blake2s.s: xorl %ecx, %ecx
blake2s.s: ^
blake2s.s: blake2s.s:15:19: error: unexpected token in operand
blake2s.s: movq %rsi, %r9
blake2s.s: ^
blake2s.s: blake2s.s:16:41: error: unexpected token in variant, expected ')'
blake2s.s: vmovdqu .L_2il0floatpacket.10(%rip), %xmm4
blake2s.s: ^
blake2s.s: blake2s.s:17:19: error: unexpected token in operand
blake2s.s: xorl %eax, %eax
blake2s.s: ^
blake2s.s: blake2s.s:18:40: error: unexpected token in variant, expected ')'
blake2s.s: vmovdqu .L_2il0floatpacket.7(%rip), %xmm0
blake2s.s: ^
blake2s.s: blake2s.s:19:19: error: unexpected token in operand
blake2s.s: vmovdqa %xmm4, %xmm2
blake2s.s: ^
blake2s.s: blake2s.s:20:40: error: unexpected token in variant, expected ')'
blake2s.s: vmovdqu .L_2il0floatpacket.8(%rip), %xmm1
blake2s.s: ^
blake2s.s: blake2s.s:21:19: error: unexpected token in operand
blake2s.s: ...

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

Compiler output

Implementation: crypto_hash/blake2s/moon/avx/32
Compiler: gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv
blake2s.S: blake2s.S: Assembler messages:
blake2s.S: blake2s.S:6: Error: bad instruction `pushl %ebp'
blake2s.S: blake2s.S:7: Error: bad instruction `movl $64,%eax'
blake2s.S: blake2s.S:8: Error: bad instruction `movl %esp,%ebp'
blake2s.S: blake2s.S:9: Error: bad instruction `pushl %edi'
blake2s.S: blake2s.S:10: Error: bad instruction `pushl %esi'
blake2s.S: blake2s.S:11: Error: bad instruction `pushl %ebx'
blake2s.S: blake2s.S:12: Error: bad instruction `andl $-64,%esp'
blake2s.S: blake2s.S:13: Error: bad instruction `addl $-128,%esp'
blake2s.S: blake2s.S:14: Error: bad instruction `cmpl $64,16(%ebp)'
blake2s.S: blake2s.S:15: Error: bad instruction `movl 12(%ebp),%esi'
blake2s.S: blake2s.S:16: Error: bad instruction `cmovbe 16(%ebp),%eax'
blake2s.S: blake2s.S:17: Error: bad instruction `movl %eax,48(%esp)'
blake2s.S: blake2s.S:18: Error: bad instruction `movl 8(%ebp),%eax'
blake2s.S: blake2s.S:19: Error: bad instruction `movl 40(%eax),%eax'
blake2s.S: blake2s.S:20: Error: bad instruction `testl %eax,%eax'
blake2s.S: blake2s.S:21: Error: bad instruction `jne blake2s_blocks_avx_33'
blake2s.S: blake2s.S:23: Error: bad instruction `movl 8(%ebp),%eax'
blake2s.S: blake2s.S:24: Error: bad instruction `leaq blake2s_constants_ssse3(%rip),%ebx'
blake2s.S: blake2s.S:25: Error: bad instruction `vmovdqa 0(%ebx),%xmm1'
blake2s.S: blake2s.S:26: Error: bad instruction `vmovdqu (%eax),%xmm0'
blake2s.S: blake2s.S:27: Error: bad instruction `addl $32,%eax'
blake2s.S: blake2s.S:28: Error: bad instruction `vmovdqa %xmm0,32(%esp)'
blake2s.S: blake2s.S:29: Error: bad instruction `vmovdqu -16(%eax),%xmm0'
blake2s.S: blake2s.S:30: Error: bad instruction `movl %eax,12(%esp)'
blake2s.S: ...

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

Compiler output

Implementation: crypto_hash/blake2s/moon/xop/32
Compiler: gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv
blake2s.S: blake2s.S: Assembler messages:
blake2s.S: blake2s.S:6: Error: bad instruction `pushl %ebp'
blake2s.S: blake2s.S:7: Error: bad instruction `movl $64,%eax'
blake2s.S: blake2s.S:8: Error: bad instruction `movl %esp,%ebp'
blake2s.S: blake2s.S:9: Error: bad instruction `pushl %edi'
blake2s.S: blake2s.S:10: Error: bad instruction `pushl %esi'
blake2s.S: blake2s.S:11: Error: bad instruction `pushl %ebx'
blake2s.S: blake2s.S:12: Error: bad instruction `andl $-64,%esp'
blake2s.S: blake2s.S:13: Error: bad instruction `addl $-128,%esp'
blake2s.S: blake2s.S:14: Error: bad instruction `movl 12(%ebp),%esi'
blake2s.S: blake2s.S:15: Error: bad instruction `leaq blake2s_sigma(%rip),%ebx'
blake2s.S: blake2s.S:16: Error: bad instruction `cmpl $64,16(%ebp)'
blake2s.S: blake2s.S:17: Error: bad instruction `cmovbe 16(%ebp),%eax'
blake2s.S: blake2s.S:18: Error: bad instruction `movl %eax,48(%esp)'
blake2s.S: blake2s.S:19: Error: bad instruction `movl 8(%ebp),%eax'
blake2s.S: blake2s.S:20: Error: bad instruction `movl 40(%eax),%eax'
blake2s.S: blake2s.S:21: Error: bad instruction `testl %eax,%eax'
blake2s.S: blake2s.S:22: Error: bad instruction `jne blake2s_blocks_xop_33'
blake2s.S: blake2s.S:24: Error: bad instruction `movl 8(%ebp),%eax'
blake2s.S: blake2s.S:25: Error: bad instruction `vmovdqu (%eax),%xmm5'
blake2s.S: blake2s.S:26: Error: bad instruction `vmovdqu 16(%eax),%xmm4'
blake2s.S: blake2s.S:27: Error: bad instruction `addl $32,%eax'
blake2s.S: blake2s.S:28: Error: bad instruction `movl %eax,44(%esp)'
blake2s.S: blake2s.S:29: Error: bad instruction `movl 8(%ebp),%eax'
blake2s.S: blake2s.S:30: Error: bad instruction `movl 32(%eax),%eax'
blake2s.S: ...

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

Compiler output

Implementation: crypto_hash/blake2s/moon/ssse3/32
Compiler: gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv
blake2s.S: blake2s.S: Assembler messages:
blake2s.S: blake2s.S:6: Error: bad instruction `pushl %ebp'
blake2s.S: blake2s.S:7: Error: bad instruction `movl %esp,%ebp'
blake2s.S: blake2s.S:8: Error: bad instruction `andl $-64,%esp'
blake2s.S: blake2s.S:9: Error: bad instruction `pushl %esi'
blake2s.S: blake2s.S:10: Error: bad instruction `pushl %edi'
blake2s.S: blake2s.S:11: Error: bad instruction `pushl %ebx'
blake2s.S: blake2s.S:12: Error: bad instruction `subl $180,%esp'
blake2s.S: blake2s.S:13: Error: bad instruction `movl $64,%ebx'
blake2s.S: blake2s.S:14: Error: bad instruction `leaq blake2s_constants_ssse3(%rip),%esi'
blake2s.S: blake2s.S:15: Error: bad instruction `movdqa 0(%esi),%xmm3'
blake2s.S: blake2s.S:16: Error: bad instruction `movdqa 16(%esi),%xmm0'
blake2s.S: blake2s.S:17: Error: bad instruction `movl 8(%ebp),%edi'
blake2s.S: blake2s.S:18: Error: bad instruction `movl 16(%ebp),%ecx'
blake2s.S: blake2s.S:19: Error: bad instruction `cmpl $64,%ecx'
blake2s.S: blake2s.S:20: Error: bad instruction `movl 12(%ebp),%edx'
blake2s.S: blake2s.S:21: Error: bad instruction `leaq blake2s_sigma(%rip),%esi'
blake2s.S: blake2s.S:22: Error: bad instruction `lea 160(%esi),%eax'
blake2s.S: blake2s.S:23: Error: bad instruction `cmovbe %ecx,%ebx'
blake2s.S: blake2s.S:24: Error: bad instruction `movl %eax,128(%esp)'
blake2s.S: blake2s.S:25: Error: bad instruction `cmpl $0,40(%edi)'
blake2s.S: blake2s.S:26: Error: bad instruction `je blake2s_blocks_ssse3_18'
blake2s.S: blake2s.S:28: Error: bad instruction `cmpl $64,%ecx'
blake2s.S: blake2s.S:29: Error: bad instruction `je blake2s_blocks_ssse3_18'
blake2s.S: blake2s.S:31: Error: bad instruction `lea (%esp),%eax'
blake2s.S: ...

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

Compiler output

Implementation: crypto_hash/blake2s/moon/sse2/32
Compiler: gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv
blake2s.S: blake2s.S: Assembler messages:
blake2s.S: blake2s.S:6: Error: bad instruction `pushl %ebp'
blake2s.S: blake2s.S:7: Error: bad instruction `movl %esp,%ebp'
blake2s.S: blake2s.S:8: Error: bad instruction `andl $-64,%esp'
blake2s.S: blake2s.S:9: Error: bad instruction `pushl %esi'
blake2s.S: blake2s.S:10: Error: bad instruction `pushl %edi'
blake2s.S: blake2s.S:11: Error: bad instruction `pushl %ebx'
blake2s.S: blake2s.S:12: Error: bad instruction `subl $180,%esp'
blake2s.S: blake2s.S:13: Error: bad instruction `pushl $64'
blake2s.S: blake2s.S:14: Error: bad instruction `popl %eax'
blake2s.S: blake2s.S:15: Error: bad instruction `leaq blake2s_sigma(%rip),%ecx'
blake2s.S: blake2s.S:16: Error: bad instruction `movl 8(%ebp),%edx'
blake2s.S: blake2s.S:17: Error: bad instruction `movl 16(%ebp),%esi'
blake2s.S: blake2s.S:18: Error: bad instruction `cmpl $64,%esi'
blake2s.S: blake2s.S:19: Error: bad instruction `movl 12(%ebp),%ebx'
blake2s.S: blake2s.S:20: Error: bad instruction `cmovbe %esi,%eax'
blake2s.S: blake2s.S:21: Error: bad instruction `movl %ecx,72(%esp)'
blake2s.S: blake2s.S:22: Error: bad instruction `lea 160(%ecx),%ecx'
blake2s.S: blake2s.S:23: Error: bad instruction `movl %eax,68(%esp)'
blake2s.S: blake2s.S:24: Error: bad instruction `cmpl $0,40(%edx)'
blake2s.S: blake2s.S:25: Error: bad instruction `je blake2s_blocks_sse2_18'
blake2s.S: blake2s.S:27: Error: bad instruction `cmpl $64,%esi'
blake2s.S: blake2s.S:28: Error: bad instruction `je blake2s_blocks_sse2_18'
blake2s.S: blake2s.S:30: Error: bad instruction `testl $32,%esi'
blake2s.S: blake2s.S:31: Error: bad instruction `lea (%esp),%eax'
blake2s.S: ...

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

Compiler output

Implementation: crypto_hash/blake2s/moon/xop/64
Compiler: gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv
blake2s.S: blake2s.S: Assembler messages:
blake2s.S: blake2s.S:6: Error: bad instruction `pushq %rbp'
blake2s.S: blake2s.S:7: Error: bad instruction `movl $64,%r8d'
blake2s.S: blake2s.S:8: Error: bad instruction `movq %rsp,%rbp'
blake2s.S: blake2s.S:9: Error: bad instruction `pushq %r12'
blake2s.S: blake2s.S:10: Error: bad instruction `pushq %rbx'
blake2s.S: blake2s.S:11: Error: bad instruction `andq $-64,%rsp'
blake2s.S: blake2s.S:12: Error: bad instruction `addq $32,%rsp'
blake2s.S: blake2s.S:13: Error: bad instruction `cmpq $64,%rdx'
blake2s.S: blake2s.S:14: Error: bad instruction `cmovbe %rdx,%r8'
blake2s.S: blake2s.S:15: Error: bad instruction `cmpl $0,40(%rdi)'
blake2s.S: blake2s.S:16: Error: bad instruction `je blake2s_blocks_xop_2'
blake2s.S: blake2s.S:17: Error: bad instruction `cmpq $64,%rdx'
blake2s.S: blake2s.S:18: Error: bad instruction `je blake2s_blocks_xop_2'
blake2s.S: blake2s.S:19: Error: bad instruction `vpxor %xmm0,%xmm0,%xmm0'
blake2s.S: blake2s.S:20: Error: bad instruction `testb $32,%dl'
blake2s.S: blake2s.S:21: Error: bad instruction `leaq -96(%rsp),%r9'
blake2s.S: blake2s.S:22: Error: bad instruction `vmovdqa %ymm0,-96(%rsp)'
blake2s.S: blake2s.S:23: Error: bad instruction `vmovdqa %ymm0,-64(%rsp)'
blake2s.S: blake2s.S:24: Error: bad instruction `je blake2s_blocks_xop_13'
blake2s.S: blake2s.S:25: Error: bad instruction `vmovdqu (%rsi),%ymm0'
blake2s.S: blake2s.S:26: Error: bad instruction `leaq 32(%r9),%rax'
blake2s.S: blake2s.S:27: Error: bad instruction `addq $32,%rsi'
blake2s.S: blake2s.S:28: Error: bad instruction `vmovdqa %ymm0,-96(%rsp)'
blake2s.S: blake2s.S:29: Error: bad instruction `jmp blake2s_blocks_xop_3'
blake2s.S: ...

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

Compiler output

Implementation: crypto_hash/blake2s/moon/ssse3/64
Compiler: gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv
blake2s.S: blake2s.S: Assembler messages:
blake2s.S: blake2s.S:6: Error: bad instruction `pushq %rbp'
blake2s.S: blake2s.S:7: Error: bad instruction `movq %rsp,%rbp'
blake2s.S: blake2s.S:8: Error: bad instruction `andq $-64,%rsp'
blake2s.S: blake2s.S:9: Error: bad instruction `leaq blake2s_constants_ssse3(%rip),%r8'
blake2s.S: blake2s.S:10: Error: bad instruction `movq %rdi,%r10'
blake2s.S: blake2s.S:11: Error: bad instruction `cmpq $64,%rdx'
blake2s.S: blake2s.S:12: Error: bad instruction `leaq 160+blake2s_sigma(%rip),%r9'
blake2s.S: blake2s.S:13: Error: bad instruction `movdqa 0(%r8),%xmm6'
blake2s.S: blake2s.S:14: Error: bad instruction `movdqa 16(%r8),%xmm5'
blake2s.S: blake2s.S:15: Error: bad instruction `movl $64,%r8d'
blake2s.S: blake2s.S:16: Error: bad instruction `cmovbe %rdx,%r8'
blake2s.S: blake2s.S:17: Error: bad instruction `cmpl $0,40(%r10)'
blake2s.S: blake2s.S:18: Error: bad instruction `je blake2s_blocks_ssse3_18'
blake2s.S: blake2s.S:20: Error: bad instruction `cmpq $64,%rdx'
blake2s.S: blake2s.S:21: Error: bad instruction `je blake2s_blocks_ssse3_18'
blake2s.S: blake2s.S:23: Error: bad instruction `testq $32,%rdx'
blake2s.S: blake2s.S:24: Error: bad instruction `lea -64(%rsp),%rax'
blake2s.S: blake2s.S:25: Error: bad instruction `pxor %xmm0,%xmm0'
blake2s.S: blake2s.S:26: Error: bad instruction `movdqa %xmm0,-64(%rsp)'
blake2s.S: blake2s.S:27: Error: bad instruction `movdqa %xmm0,-48(%rsp)'
blake2s.S: blake2s.S:28: Error: bad instruction `movdqa %xmm0,-32(%rsp)'
blake2s.S: blake2s.S:29: Error: bad instruction `movdqa %xmm0,-16(%rsp)'
blake2s.S: blake2s.S:30: Error: bad instruction `je blake2s_blocks_ssse3_6'
blake2s.S: blake2s.S:32: Error: bad instruction `movdqu (%rsi),%xmm0'
blake2s.S: ...

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

Compiler output

Implementation: crypto_hash/blake2s/moon/sse2/64
Compiler: gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv
blake2s.S: blake2s.S: Assembler messages:
blake2s.S: blake2s.S:6: Error: bad instruction `pushq %rbp'
blake2s.S: blake2s.S:7: Error: bad instruction `movq %rsp,%rbp'
blake2s.S: blake2s.S:8: Error: bad instruction `andq $-64,%rsp'
blake2s.S: blake2s.S:9: Error: bad instruction `movq %rdi,%r10'
blake2s.S: blake2s.S:10: Error: bad instruction `movl $64,%r8d'
blake2s.S: blake2s.S:11: Error: bad instruction `cmpq $64,%rdx'
blake2s.S: blake2s.S:12: Error: bad instruction `leaq 160+blake2s_sigma(%rip),%r9'
blake2s.S: blake2s.S:13: Error: bad instruction `cmovbe %rdx,%r8'
blake2s.S: blake2s.S:14: Error: bad instruction `cmpl $0,40(%r10)'
blake2s.S: blake2s.S:15: Error: bad instruction `je blake2s_blocks_sse2_18'
blake2s.S: blake2s.S:17: Error: bad instruction `cmpq $64,%rdx'
blake2s.S: blake2s.S:18: Error: bad instruction `je blake2s_blocks_sse2_18'
blake2s.S: blake2s.S:20: Error: bad instruction `testq $32,%rdx'
blake2s.S: blake2s.S:21: Error: bad instruction `lea -64(%rsp),%rax'
blake2s.S: blake2s.S:22: Error: bad instruction `pxor %xmm0,%xmm0'
blake2s.S: blake2s.S:23: Error: bad instruction `movdqa %xmm0,-64(%rsp)'
blake2s.S: blake2s.S:24: Error: bad instruction `movdqa %xmm0,-48(%rsp)'
blake2s.S: blake2s.S:25: Error: bad instruction `movdqa %xmm0,-32(%rsp)'
blake2s.S: blake2s.S:26: Error: bad instruction `movdqa %xmm0,-16(%rsp)'
blake2s.S: blake2s.S:27: Error: bad instruction `je blake2s_blocks_sse2_6'
blake2s.S: blake2s.S:29: Error: bad instruction `movdqu (%rsi),%xmm0'
blake2s.S: blake2s.S:30: Error: bad instruction `movdqa %xmm0,-64(%rsp)'
blake2s.S: blake2s.S:31: Error: bad instruction `lea -32(%rsp),%rax'
blake2s.S: blake2s.S:32: Error: bad instruction `movdqu 16(%rsi),%xmm1'
blake2s.S: ...

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

Compiler output

Implementation: crypto_hash/blake2s/moon/avx/64
Compiler: gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv
blake2s.S: blake2s.S: Assembler messages:
blake2s.S: blake2s.S:6: Error: bad instruction `pushq %rbp'
blake2s.S: blake2s.S:7: Error: bad instruction `movq %rsp,%rbp'
blake2s.S: blake2s.S:8: Error: bad instruction `pushq %r15'
blake2s.S: blake2s.S:9: Error: bad instruction `pushq %r14'
blake2s.S: blake2s.S:10: Error: bad instruction `pushq %r13'
blake2s.S: blake2s.S:11: Error: bad instruction `pushq %r12'
blake2s.S: blake2s.S:12: Error: bad instruction `pushq %rbx'
blake2s.S: blake2s.S:13: Error: bad instruction `movl $64,%ebx'
blake2s.S: blake2s.S:14: Error: bad instruction `andq $-64,%rsp'
blake2s.S: blake2s.S:15: Error: bad instruction `addq $8,%rsp'
blake2s.S: blake2s.S:16: Error: bad instruction `cmpq $64,%rdx'
blake2s.S: blake2s.S:17: Error: bad instruction `cmovbe %rdx,%rbx'
blake2s.S: blake2s.S:18: Error: bad instruction `movl 40(%rdi),%eax'
blake2s.S: blake2s.S:19: Error: bad instruction `testl %eax,%eax'
blake2s.S: blake2s.S:20: Error: bad instruction `jne blake2s_blocks_avx_33'
blake2s.S: blake2s.S:22: Error: bad instruction `movl 32(%rdi),%r11d'
blake2s.S: blake2s.S:23: Error: bad instruction `leaq 32(%rdi),%r12'
blake2s.S: blake2s.S:24: Error: bad instruction `movl %ebx,%r13d'
blake2s.S: blake2s.S:25: Error: bad instruction `vmovdqu (%rdi),%xmm9'
blake2s.S: blake2s.S:26: Error: bad instruction `vmovdqu 16(%rdi),%xmm8'
blake2s.S: blake2s.S:27: Error: bad instruction `leaq blake2s_constants_ssse3(%rip),%r10'
blake2s.S: blake2s.S:28: Error: bad instruction `vmovdqa 0(%r10),%xmm1'
blake2s.S: blake2s.S:29: Error: bad instruction `vmovdqa 16(%r10),%xmm0'
blake2s.S: blake2s.S:30: Error: bad instruction `leaq 160+blake2s_sigma(%rip),%r10'
blake2s.S: ...

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

Compiler output

Implementation: crypto_hash/blake2s/xmm
Compiler: gcc -mcpu=native -mfpu=neon -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:24:23: fatal error: emmintrin.h: No such file or directory
blake2s.c: #include gt;
blake2s.c: ^
blake2s.c: compilation terminated.

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

Compiler output

Implementation: crypto_hash/blake2s/avxicc
Compiler: gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv
blake2s.s: blake2s.s: Assembler messages:
blake2s.s: blake2s.s:13: Error: bad instruction `xorl %r11d,%r11d'
blake2s.s: blake2s.s:14: Error: bad instruction `xorl %ecx,%ecx'
blake2s.s: blake2s.s:15: Error: bad instruction `movq %rsi,%r9'
blake2s.s: blake2s.s:16: Error: bad instruction `vmovdqu .L_2il0floatpacket.10(%rip),%xmm4'
blake2s.s: blake2s.s:17: Error: bad instruction `xorl %eax,%eax'
blake2s.s: blake2s.s:18: Error: bad instruction `vmovdqu .L_2il0floatpacket.7(%rip),%xmm0'
blake2s.s: blake2s.s:19: Error: bad instruction `vmovdqa %xmm4,%xmm2'
blake2s.s: blake2s.s:20: Error: bad instruction `vmovdqu .L_2il0floatpacket.8(%rip),%xmm1'
blake2s.s: blake2s.s:21: Error: bad instruction `movq %rdx,%r8'
blake2s.s: blake2s.s:22: Error: bad instruction `vmovdqu .L_2il0floatpacket.9(%rip),%xmm3'
blake2s.s: blake2s.s:23: Error: bad instruction `xorl %r10d,%r10d'
blake2s.s: blake2s.s:24: Error: bad instruction `vmovdqu .L_2il0floatpacket.11(%rip),%xmm5'
blake2s.s: blake2s.s:25: Error: bad instruction `cmpq $64,%rdx'
blake2s.s: blake2s.s:26: Error: bad instruction `jbe ..B1.5'
blake2s.s: blake2s.s:28: Error: bad instruction `movq %rbp,-104(%rsp)'
blake2s.s: blake2s.s:29: Error: bad instruction `lea -1(%rdx),%rsi'
blake2s.s: blake2s.s:30: Error: bad instruction `sarq $5,%rsi'
blake2s.s: blake2s.s:32: Error: bad instruction `movq %rcx,%rbp'
blake2s.s: blake2s.s:33: Error: bad instruction `shrq $58,%rsi'
blake2s.s: blake2s.s:34: Error: bad instruction `movq %rax,%rcx'
blake2s.s: blake2s.s:35: Error: bad instruction `lea -1(%rsi,%rdx),%rdx'
blake2s.s: blake2s.s:36: Error: bad instruction `sarq $6,%rdx'
blake2s.s: blake2s.s:37: Error: bad instruction `movq %rdx,%rax'
blake2s.s: blake2s.s:39: Error: bad instruction `vmovdqu (%rcx,%r9),%xmm9'
blake2s.s: ...

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