Implementation notes: armeabi, h2tegra, crypto_stream/chacha20

Computer: h2tegra
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20160806
Operation: crypto_stream
Primitive: chacha20
TimeImplementationCompilerBenchmark dateSUPERCOP version
18450moon/armv6/32gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080320160731
18454moon/armv6/32gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080320160731
18464moon/armv6/32gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080320160731
18490moon/armv6/32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080320160731
35871e/refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080320160731
35911e/mergedgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080320160731
35946e/regsgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080320160731
37700e/mergedgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080320160731
38237e/mergedgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080320160731
38264e/mergedgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080320160731
43335e/regsgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080320160731
43689e/refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080320160731
45099e/regsgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080320160731
46663e/refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080320160731
50576e/regsgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080320160731
51964e/refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080320160731

Test failure

Implementation: crypto_stream/chacha20/moon/neon/32
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
error 111

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

Compiler output

Implementation: crypto_stream/chacha20/dolbeau/mipsel-msa
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
chacha.c: In file included from chacha.c:11:0:
chacha.c: /usr/lib/gcc/arm-linux-gnueabihf/4.7/include/arm_neon.h:32:2: error: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h

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

Compiler output

Implementation: crypto_stream/chacha20/dolbeau/arm-neon
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
chacha.c: In file included from chacha.c:11:0:
chacha.c: /usr/lib/gcc/arm-linux-gnueabihf/4.7/include/arm_neon.h:32:2: error: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
chacha.c: In file included from chacha.c:94:0:
chacha.c: u4.h: In function 'ECRYPT_encrypt_bytes':
chacha.c: u4.h:30:3: error: unknown type name 'uint32x4_t'
chacha.c: u4.h:31:3: error: unknown type name 'uint32x4_t'
chacha.c: u4.h:32:3: error: unknown type name 'uint32x4_t'
chacha.c: u4.h:33:3: error: unknown type name 'uint32x4_t'
chacha.c: u4.h:34:3: error: unknown type name 'uint32x4_t'
chacha.c: u4.h:35:3: error: unknown type name 'uint32x4_t'
chacha.c: u4.h:36:3: error: unknown type name 'uint32x4_t'
chacha.c: u4.h:37:3: error: unknown type name 'uint32x4_t'
chacha.c: u4.h:38:3: error: unknown type name 'uint32x4_t'
chacha.c: u4.h:39:3: error: unknown type name 'uint32x4_t'
chacha.c: u4.h:40:3: error: unknown type name 'uint32x4_t'
chacha.c: u4.h:41:3: error: unknown type name 'uint32x4_t'
chacha.c: u4.h:42:3: error: unknown type name 'uint32x4_t'
chacha.c: u4.h:43:3: error: unknown type name 'uint32x4_t'
chacha.c: u4.h:44:3: error: unknown type name 'uint32x4_t'
chacha.c: u4.h:45:3: error: unknown type name 'uint32x4_t'
chacha.c: u4.h:46:3: error: unknown type name 'uint32x4_t'
chacha.c: u4.h:47:3: error: unknown type name 'uint32x4_t'
chacha.c: u4.h:48:3: error: unknown type name 'uint32x4_t'
chacha.c: u4.h:49:3: error: unknown type name 'uint32x4_t'
chacha.c: u4.h:50:3: error: unknown type name 'uint32x4_t'
chacha.c: ...

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

Compiler output

Implementation: crypto_stream/chacha20/dolbeau/ppc-altivec
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
chacha.c: chacha.c:11:21: fatal error: altivec.h: No such file or directory
chacha.c: compilation terminated.

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

Compiler output

Implementation: crypto_stream/chacha20/amd64-ssse3
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
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:32: Error: bad instruction `jbe ._done'
chacha.s: chacha.s:34: Error: ARM register expected -- `mov $0,%rax'
chacha.s: chacha.s:36: Error: ARM register expected -- `mov %rdx,%rcx'
chacha.s: chacha.s:38: Error: bad instruction `rep stosb'
chacha.s: chacha.s:40: Error: ARM register expected -- `sub %rdx,%rdi'
chacha.s: chacha.s:42: Error: bad instruction `jmp ._start'
chacha.s: chacha.s:50: Error: ARM register expected -- `mov %rsp,%r11'
chacha.s: chacha.s:51: Error: ARM register expected -- `and $31,%r11'
chacha.s: chacha.s:52: Error: ARM register expected -- `add $384,%r11'
chacha.s: chacha.s:53: Error: immediate expression requires a # prefix -- `sub %r11,%rsp'
chacha.s: chacha.s:55: Error: ARM register expected -- `mov %rdi,%r8'
chacha.s: chacha.s:57: Error: ARM register expected -- `mov %rsi,%rsi'
chacha.s: chacha.s:59: Error: ARM register expected -- `mov %rdx,%rdi'
chacha.s: chacha.s:61: Error: ARM register expected -- `mov %rcx,%rdx'
chacha.s: chacha.s:63: Error: ARM register expected -- `cmp $0,%rdx'
chacha.s: ...

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

Compiler output

Implementation: crypto_stream/chacha20/goll_gueron
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
stream.c: stream.c:11:23: fatal error: immintrin.h: No such file or directory
stream.c: compilation terminated.

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

Compiler output

Implementation: crypto_stream/chacha20/krovetz/vec128
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
stream.c: stream.c:80:2: error: #error -- Implementation supports only machines with neon, altivec or SSE2
stream.c: stream.c: In function 'crypto_stream_chacha20_krovetz_vec128_xor':
stream.c: stream.c:151:14: error: incompatible types when initializing type 'vec' using type 'int'
stream.c: stream.c:152:36: error: 'VBPI' undeclared (first use in this function)
stream.c: stream.c:152:36: note: each undeclared identifier is reported only once for each function it appears in
stream.c: stream.c:152:36: error: 'GPR_TOO' undeclared (first use in this function)
stream.c: stream.c:155:19: error: 'ONE' undeclared (first use in this function)
stream.c: stream.c:176:13: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:176:13: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:176:13: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:176:13: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:176:13: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:176:13: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:176:13: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:176:13: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:176:13: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:176:13: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:176:13: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:176:13: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:176:13: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:176:13: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:177:13: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:177:13: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:177:13: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: stream.c:177:13: error: incompatible types when assigning to type 'vec' from type 'int'
stream.c: ...

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

Compiler output

Implementation: crypto_stream/chacha20/krovetz/avx2
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
stream.c: stream.c:8:23: fatal error: immintrin.h: No such file or directory
stream.c: compilation terminated.

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