Implementation notes: armeabi, cubie2, crypto_stream/chacha8

Computer: cubie2
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20161026
Operation: crypto_stream
Primitive: chacha8
TimeImplementationCompilerBenchmark dateSUPERCOP version
9771dolbeau/arm-neongcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O22016121620161026
9823dolbeau/arm-neongcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O32016121620161026
9981moon/neon/32gcc -mcpu=native -mfpu=neon-vfpv4 -O22016121620161026
9981moon/neon/32gcc -mcpu=native -mfpu=neon-vfpv4 -O32016121620161026
9987moon/neon/32gcc -mcpu=native -mfpu=neon-vfpv4 -Os2016121620161026
9990moon/neon/32gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O22016121620161026
10007dolbeau/arm-neongcc -mcpu=native -mfpu=neon-vfpv4 -O22016121620161026
10008dolbeau/arm-neongcc -mcpu=native -mfpu=neon-vfpv4 -O32016121620161026
10027moon/neon/32gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O32016121620161026
10129moon/neon/32gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os2016121620161026
11545dolbeau/arm-neongcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os2016121620161026
12255dolbeau/arm-neongcc -mcpu=native -mfpu=neon-vfpv4 -Os2016121620161026
13659moon/armv6/32gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O22016121620161026
13659moon/armv6/32gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O32016121620161026
13665moon/armv6/32gcc -mcpu=native -mfpu=neon-vfpv4 -O22016121620161026
13668moon/armv6/32gcc -mcpu=native -mfpu=neon-vfpv4 -O32016121620161026
13671moon/armv6/32gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os2016121620161026
13671moon/armv6/32gcc -mcpu=native -mfpu=neon-vfpv4 -Os2016121620161026
18479e/mergedgcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os2016121620161026
19242e/mergedgcc -mcpu=native -mfpu=neon-vfpv4 -Os2016121620161026
20334e/mergedgcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O32016121620161026
20349e/mergedgcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O22016121620161026
20451e/mergedgcc -mcpu=native -mfpu=neon-vfpv4 -O32016121620161026
20472e/mergedgcc -mcpu=native -mfpu=neon-vfpv4 -O22016121620161026
21375e/regsgcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O32016121620161026
21393dolbeau/mipsel-msagcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O32016121620161026
21402e/refgcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O32016121620161026
21507dolbeau/mipsel-msagcc -mcpu=native -mfpu=neon-vfpv4 -O32016121620161026
21603e/refgcc -mcpu=native -mfpu=neon-vfpv4 -O32016121620161026
21675e/regsgcc -mcpu=native -mfpu=neon-vfpv4 -O32016121620161026
25950e/refgcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O22016121620161026
27036dolbeau/mipsel-msagcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O22016121620161026
27507e/regsgcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O22016121620161026
30117e/regsgcc -mcpu=native -mfpu=neon-vfpv4 -O22016121620161026
31908e/regsgcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os2016121620161026
33234dolbeau/mipsel-msagcc -mcpu=native -mfpu=neon-vfpv4 -O22016121620161026
33816e/refgcc -mcpu=native -mfpu=neon-vfpv4 -O22016121620161026
36921e/regsgcc -mcpu=native -mfpu=neon-vfpv4 -Os2016121620161026
37881dolbeau/mipsel-msagcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os2016121620161026
37884e/refgcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os2016121620161026
43522dolbeau/mipsel-msagcc -mcpu=native -mfpu=neon-vfpv4 -Os2016121620161026
43548e/refgcc -mcpu=native -mfpu=neon-vfpv4 -Os2016121620161026

Test failure

Implementation: crypto_stream/chacha8/krovetz/vec128
Compiler: gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O2
error 111
crypto_stream_xor does not handle n=c overlap

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O2 krovetz/vec128
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O3 krovetz/vec128
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os krovetz/vec128
gcc -mcpu=native -mfpu=neon-vfpv4 -O2 krovetz/vec128
gcc -mcpu=native -mfpu=neon-vfpv4 -O3 krovetz/vec128
gcc -mcpu=native -mfpu=neon-vfpv4 -Os krovetz/vec128

Compiler output

Implementation: crypto_stream/chacha8/dolbeau/ppc-altivec
Compiler: gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O2
chacha.c: chacha.c:11:21: fatal error: altivec.h: No such file or directory
chacha.c: #include gt;
chacha.c: ^
chacha.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O2 dolbeau/ppc-altivec
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O3 dolbeau/ppc-altivec
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os dolbeau/ppc-altivec
gcc -mcpu=native -mfpu=neon-vfpv4 -O2 dolbeau/ppc-altivec
gcc -mcpu=native -mfpu=neon-vfpv4 -O3 dolbeau/ppc-altivec
gcc -mcpu=native -mfpu=neon-vfpv4 -Os dolbeau/ppc-altivec

Compiler output

Implementation: crypto_stream/chacha8/amd64-ssse3
Compiler: gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O2
chacha.s: chacha.s: Assembler messages:
chacha.s: chacha.s:22: Error: ARM register expected -- `mov %rsp,%r11'
chacha.s: chacha.s:23: Error: ARM register expected -- `and $31,%r11'
chacha.s: chacha.s:24: Error: ARM register expected -- `add $384,%r11'
chacha.s: chacha.s:25: Error: immediate expression requires a # prefix -- `sub %r11,%rsp'
chacha.s: chacha.s:26: Error: ARM register expected -- `mov %rdi,%r8'
chacha.s: chacha.s:27: Error: ARM register expected -- `mov %rsi,%rsi'
chacha.s: chacha.s:28: Error: ARM register expected -- `mov %rsi,%rdi'
chacha.s: chacha.s:29: Error: ARM register expected -- `mov %rdx,%rdx'
chacha.s: chacha.s:30: Error: ARM register expected -- `cmp $0,%rdx'
chacha.s: ...
chacha.s: chacha.s:1516: Error: bad instruction `movl 0(%rsi),%eax'
chacha.s: chacha.s:1518: Error: bad instruction `movl 4(%rsi),%esi'
chacha.s: chacha.s:1520: Error: bad instruction `movl %r8d,48(%rdi)'
chacha.s: chacha.s:1522: Error: bad instruction `movl %r9d,52(%rdi)'
chacha.s: chacha.s:1524: Error: bad instruction `movl %eax,56(%rdi)'
chacha.s: chacha.s:1526: Error: bad instruction `movl %esi,60(%rdi)'
chacha.s: chacha.s:1528: Error: immediate expression requires a # prefix -- `add %r11,%rsp'
chacha.s: chacha.s:1529: Error: ARM register expected -- `mov %rdi,%rax'
chacha.s: chacha.s:1530: Error: ARM register expected -- `mov %rsi,%rdx'
chacha.s: chacha.s:1531: Error: bad instruction `ret'

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O2 amd64-ssse3
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O3 amd64-ssse3
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os amd64-ssse3
gcc -mcpu=native -mfpu=neon-vfpv4 -O2 amd64-ssse3
gcc -mcpu=native -mfpu=neon-vfpv4 -O3 amd64-ssse3
gcc -mcpu=native -mfpu=neon-vfpv4 -Os amd64-ssse3

Compiler output

Implementation: crypto_stream/chacha8/goll_gueron
Compiler: gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O2
stream.c: stream.c:11:23: fatal error: immintrin.h: No such file or directory
stream.c: #include gt;
stream.c: ^
stream.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O2 goll_gueron
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O3 goll_gueron
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os goll_gueron
gcc -mcpu=native -mfpu=neon-vfpv4 -O2 goll_gueron
gcc -mcpu=native -mfpu=neon-vfpv4 -O3 goll_gueron
gcc -mcpu=native -mfpu=neon-vfpv4 -Os goll_gueron

Compiler output

Implementation: crypto_stream/chacha8/krovetz/avx2
Compiler: gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O2
stream.c: stream.c:8:23: fatal error: immintrin.h: No such file or directory
stream.c: #include gt;
stream.c: ^
stream.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O2 krovetz/avx2
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O3 krovetz/avx2
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os krovetz/avx2
gcc -mcpu=native -mfpu=neon-vfpv4 -O2 krovetz/avx2
gcc -mcpu=native -mfpu=neon-vfpv4 -O3 krovetz/avx2
gcc -mcpu=native -mfpu=neon-vfpv4 -Os krovetz/avx2