Implementation notes: armeabi, novenablue, crypto_stream/chacha12

Computer: novenablue
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20200702
Operation: crypto_stream
Primitive: chacha12
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
134904176 0 115609 408 808dolbeau/arm-neonclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
135464780 0 117271 412 808dolbeau/arm-neonclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
135464780 0 118967 412 808dolbeau/arm-neonclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
135464780 0 117271 412 808dolbeau/arm-neonclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
141334816 0 119023 412 808dolbeau/arm-neonclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
200723220 0 115691 412 808e/regsclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
200723220 0 117387 412 808e/regsclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
200723220 0 115691 412 808e/regsclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
202182336 0 410104 396 792e/mergedgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
208003324 0 413289 408 792e/mergedgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
209043228 0 117411 412 808e/regsclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
210742864 0 412829 408 792e/refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
211062872 0 412837 408 792e/regsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
212292836 0 411192 404 792e/mergedgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
219822476 0 410596 404 792e/mergedgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
235644156 0 116631 412 808e/mergedclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
235644156 0 116631 412 808e/mergedclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
235894156 0 118327 412 808e/mergedclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
237643848 0 115273 408 808e/mergedclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
241124144 0 118335 412 808e/mergedclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
250962852 0 117047 412 808dolbeau/mipsel-msaclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
252292256 0 410612 404 792e/regsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
256362856 0 115343 412 808dolbeau/mipsel-msaclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
256442856 0 115343 412 808dolbeau/mipsel-msaclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
256512856 0 117039 412 808dolbeau/mipsel-msaclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
256722908 0 115379 412 808e/refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
256722908 0 115379 412 808e/refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
257072908 0 117075 412 808e/refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
264181936 0 410056 404 792e/regsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
265061672 0 410028 404 792e/refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
265612880 0 117067 412 808e/refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
267822748 0 114165 408 808e/regsclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
283282284 0 113701 408 808e/refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
283822284 0 113713 408 808dolbeau/mipsel-msaclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
296001560 0 49680 404 792e/refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
365841800 0 49564 396 792e/regsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
395791380 0 49144 396 792e/refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417

Test failure

Implementation: krovetz/vec128
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 111
crypto_stream_xor does not handle n=c overlap

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE krovetz/vec128
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE krovetz/vec128
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE krovetz/vec128
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE krovetz/vec128
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE krovetz/vec128

Compiler output

Implementation: amd64-ssse3
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
chacha.s: chacha.s:19:5: error: unexpected token in operand
chacha.s: mov %rsp,%r11
chacha.s: ^
chacha.s: chacha.s:20:9: error: unexpected token in operand
chacha.s: and $31,%r11
chacha.s: ^
chacha.s: chacha.s:21:10: error: unexpected token in operand
chacha.s: add $384,%r11
chacha.s: ^
chacha.s: chacha.s:22:5: error: unexpected token in operand
chacha.s: sub %r11,%rsp
chacha.s: ^
chacha.s: chacha.s:23:6: error: unexpected token in operand
chacha.s: mov %rdi,%r8
chacha.s: ^
chacha.s: chacha.s:24:6: error: unexpected token in operand
chacha.s: mov %rsi,%rsi
chacha.s: ^
chacha.s: chacha.s:25:6: error: unexpected token in operand
chacha.s: mov %rsi,%rdi
chacha.s: ^
chacha.s: chacha.s:26:6: error: unexpected token in operand
chacha.s: mov %rdx,%rdx
chacha.s: ^
chacha.s: chacha.s:27:9: error: unexpected token in operand
chacha.s: ...

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE amd64-ssse3
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE amd64-ssse3
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE amd64-ssse3
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE amd64-ssse3
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE amd64-ssse3

Compiler output

Implementation: amd64-ssse3
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
chacha.s: chacha.s: Assembler messages:
chacha.s: chacha.s:19: Error: ARM register expected -- `mov %rsp,%r11'
chacha.s: chacha.s:20: Error: ARM register expected -- `and $31,%r11'
chacha.s: chacha.s:21: Error: ARM register expected -- `add $384,%r11'
chacha.s: chacha.s:22: Error: immediate expression requires a # prefix -- `sub %r11,%rsp'
chacha.s: chacha.s:23: Error: ARM register expected -- `mov %rdi,%r8'
chacha.s: chacha.s:24: Error: ARM register expected -- `mov %rsi,%rsi'
chacha.s: chacha.s:25: Error: ARM register expected -- `mov %rsi,%rdi'
chacha.s: chacha.s:26: Error: ARM register expected -- `mov %rdx,%rdx'
chacha.s: chacha.s:27: Error: ARM register expected -- `cmp $0,%rdx'
chacha.s: chacha.s:29: Error: bad instruction `jbe ._done'
chacha.s: chacha.s:31: Error: ARM register expected -- `mov $0,%rax'
chacha.s: chacha.s:33: Error: ARM register expected -- `mov %rdx,%rcx'
chacha.s: chacha.s:35: Error: bad instruction `rep stosb'
chacha.s: chacha.s:37: Error: ARM register expected -- `sub %rdx,%rdi'
chacha.s: chacha.s:39: Error: bad instruction `jmp ._start'
chacha.s: chacha.s:47: Error: ARM register expected -- `mov %rsp,%r11'
chacha.s: chacha.s:48: Error: ARM register expected -- `and $31,%r11'
chacha.s: chacha.s:49: Error: ARM register expected -- `add $384,%r11'
chacha.s: chacha.s:50: Error: immediate expression requires a # prefix -- `sub %r11,%rsp'
chacha.s: chacha.s:52: Error: ARM register expected -- `mov %rdi,%r8'
chacha.s: chacha.s:54: Error: ARM register expected -- `mov %rsi,%rsi'
chacha.s: chacha.s:56: Error: ARM register expected -- `mov %rdx,%rdi'
chacha.s: chacha.s:58: Error: ARM register expected -- `mov %rcx,%rdx'
chacha.s: chacha.s:60: 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 -fPIC -fPIE amd64-ssse3
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE amd64-ssse3
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE amd64-ssse3
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE amd64-ssse3

Compiler output

Implementation: dolbeau/arm-neon
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
chacha.c: In file included from chacha.c:12:0:
chacha.c: /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/arm_neon.h:31:2: error: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
chacha.c: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
chacha.c: ^
chacha.c: In file included from chacha.c:95:0:
chacha.c: u4.h: In function 'crypto_stream_chacha12_dolbeau_arm_neon_ECRYPT_encrypt_bytes':
chacha.c: u4.h:30:3: error: unknown type name 'uint32x4_t'
chacha.c: uint32x4_t x_0 = vdupq_n_u32(x[0]);
chacha.c: ^
chacha.c: u4.h:31:3: error: unknown type name 'uint32x4_t'
chacha.c: uint32x4_t x_1 = vdupq_n_u32(x[1]);
chacha.c: ^
chacha.c: u4.h:32:3: error: unknown type name 'uint32x4_t'
chacha.c: uint32x4_t x_2 = vdupq_n_u32(x[2]);
chacha.c: ^
chacha.c: u4.h:33:3: error: unknown type name 'uint32x4_t'
chacha.c: uint32x4_t x_3 = vdupq_n_u32(x[3]);
chacha.c: ^
chacha.c: u4.h:34:3: error: unknown type name 'uint32x4_t'
chacha.c: uint32x4_t x_4 = vdupq_n_u32(x[4]);
chacha.c: ^
chacha.c: u4.h:35:3: error: unknown type name 'uint32x4_t'
chacha.c: uint32x4_t x_5 = vdupq_n_u32(x[5]);
chacha.c: ^
chacha.c: u4.h:36: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 -fPIC -fPIE dolbeau/arm-neon
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/arm-neon
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/arm-neon
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/arm-neon

Compiler output

Implementation: dolbeau/mipsel-msa
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
chacha.c: In file included from chacha.c:12:0:
chacha.c: /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/arm_neon.h:31:2: error: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
chacha.c: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
chacha.c: ^

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

Compiler output

Implementation: goll_gueron
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
stream.c: stream.c:126:2: error: -- Implementation supports only microarchitectures with support for Advanced Vector Extensions (AVX2 or AVX512).
stream.c: #error -- Implementation supports only microarchitectures with support for Advanced Vector Extensions (AVX2 or AVX512).
stream.c: ^
stream.c: 1 error generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE goll_gueron
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE goll_gueron
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE goll_gueron
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE goll_gueron
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE goll_gueron

Compiler output

Implementation: goll_gueron
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
stream.c: stream.c:11:23: fatal error: immintrin.h: No such file or directory
stream.c: #include <immintrin.h>
stream.c: ^
stream.c: compilation terminated.

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

Compiler output

Implementation: krovetz/avx2
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
stream.c: stream.c:54:5: error: use of undeclared identifier '__m256i'
stream.c: __m256i v0,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11;
stream.c: ^
stream.c: stream.c:56:5: error: use of undeclared identifier '__m256i'
stream.c: __m256i s0 = _mm_broadcastsi128_si256((__m128i *)sigma);
stream.c: ^
stream.c: stream.c:60:5: error: use of undeclared identifier '__m256i'
stream.c: __m256i s1 = _mm256_loadu_si256((__m256i *)k);
stream.c: ^
stream.c: stream.c:61:5: error: use of undeclared identifier '__m256i'
stream.c: __m256i s2 = _mm256_permute2x128_si256(s1,s1,0x11);
stream.c: ^
stream.c: stream.c:62:5: error: use of undeclared identifier 's1'
stream.c: s1 = _mm256_permute2x128_si256(s1,s1,0x00);
stream.c: ^
stream.c: stream.c:62:10: warning: implicit declaration of function '_mm256_permute2x128_si256' is invalid in C99 [-Wimplicit-function-declaration]
stream.c: s1 = _mm256_permute2x128_si256(s1,s1,0x00);
stream.c: ^
stream.c: stream.c:62:36: error: use of undeclared identifier 's1'
stream.c: s1 = _mm256_permute2x128_si256(s1,s1,0x00);
stream.c: ^
stream.c: stream.c:62:39: error: use of undeclared identifier 's1'
stream.c: s1 = _mm256_permute2x128_si256(s1,s1,0x00);
stream.c: ^
stream.c: stream.c:63:5: error: use of undeclared identifier '__m256i'
stream.c: ...

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE krovetz/avx2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE krovetz/avx2
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE krovetz/avx2
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE krovetz/avx2
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE krovetz/avx2

Compiler output

Implementation: krovetz/avx2
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
stream.c: stream.c:8:23: fatal error: immintrin.h: No such file or directory
stream.c: #include <immintrin.h>
stream.c: ^
stream.c: compilation terminated.

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

Compiler output

Implementation: krovetz/vec128
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
stream.c: stream.c:80:2: error: #error -- Implementation supports only machines with neon, altivec or SSE2
stream.c: #error -- Implementation supports only machines with neon, altivec or SSE2
stream.c: ^
stream.c: stream.c: In function 'crypto_stream_chacha12_krovetz_vec128_xor':
stream.c: stream.c:151:14: error: incompatible types when initializing type 'vec' using type 'int'
stream.c: vec s3 = NONCE(np);
stream.c: ^
stream.c: stream.c:91:19: error: 'VBPI' undeclared (first use in this function)
stream.c: #define BPI (VBPI + GPR_TOO) /* Blocks computed per loop iteration */
stream.c: ^
stream.c: stream.c:152:36: note: in expansion of macro 'BPI'
stream.c: for (iters = 0; iters < inlen/(BPI*64); iters++) {
stream.c: ^
stream.c: stream.c:91:19: note: each undeclared identifier is reported only once for each function it appears in
stream.c: #define BPI (VBPI + GPR_TOO) /* Blocks computed per loop iteration */
stream.c: ^
stream.c: stream.c:152:36: note: in expansion of macro 'BPI'
stream.c: for (iters = 0; iters < inlen/(BPI*64); iters++) {
stream.c: ^
stream.c: stream.c:91:26: error: 'GPR_TOO' undeclared (first use in this function)
stream.c: #define BPI (VBPI + GPR_TOO) /* Blocks computed per loop iteration */
stream.c: ^
stream.c: stream.c:152:36: note: in expansion of macro 'BPI'
stream.c: for (iters = 0; iters < inlen/(BPI*64); iters++) {
stream.c: ^
stream.c: ...

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

Compiler output

Implementation: moon/armv6/32
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
crypto_stream.c: crypto_stream.c:6:13: error: conflicting types for 'crypto_stream_chacha12_moon_armv6_32'
crypto_stream.c: extern void chacha_fn(const unsigned char *k, const unsigned char *n, const unsigned char *in, unsigned char *out, size_t inlen, size_t rounds);
crypto_stream.c: ^
crypto_stream.c: crypto_stream.c:1:19: note: expanded from macro 'chacha_fn'
crypto_stream.c: #define chacha_fn crypto_stream_chacha12_moon_armv6_32
crypto_stream.c: ^
crypto_stream.c: ./crypto_stream_chacha12.h:11:12: note: previous declaration is here
crypto_stream.c: extern int crypto_stream_chacha12_moon_armv6_32(unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
crypto_stream.c: ^
crypto_stream.c: crypto_stream.c:9:27: error: too many arguments to function call, expected 4, have 6
crypto_stream.c: chacha_fn(k, n, in, out, (size_t)inlen, 12);
crypto_stream.c: ~~~~~~~~~ ^~~~~~~~~~~~~~~~~
crypto_stream.c: ./crypto_stream_chacha12.h:11:1: note: 'crypto_stream_chacha12_moon_armv6_32' declared here
crypto_stream.c: extern int crypto_stream_chacha12_moon_armv6_32(unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
crypto_stream.c: ^
crypto_stream.c: crypto_stream.c:14:29: error: too many arguments to function call, expected 4, have 6
crypto_stream.c: chacha_fn(k, n, NULL, out, (size_t)outlen, 12);
crypto_stream.c: ~~~~~~~~~ ^~~~~~~~~~~~~~~~~~
crypto_stream.c: crypto_stream.c:13:1: note: 'crypto_stream_chacha12_moon_armv6_32' declared here
crypto_stream.c: int crypto_stream(unsigned char *out, unsigned long long outlen, const unsigned char *n, const unsigned char *k) {
crypto_stream.c: ^
crypto_stream.c: 3 errors generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/armv6/32
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/armv6/32
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/armv6/32
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/armv6/32
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/armv6/32

Compiler output

Implementation: moon/armv6/32
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
crypto_stream.c: crypto_stream.c:1:19: error: conflicting types for 'crypto_stream_chacha12_moon_armv6_32'
crypto_stream.c: #define chacha_fn crypto_stream_chacha12_moon_armv6_32
crypto_stream.c: ^
crypto_stream.c: crypto_stream.c:6:13: note: in expansion of macro 'chacha_fn'
crypto_stream.c: extern void chacha_fn(const unsigned char *k, const unsigned char *n, const unsigned char *in, unsigned char *out, size_t inlen, size_t rounds);
crypto_stream.c: ^
crypto_stream.c: In file included from crypto_stream.h:4:0,
crypto_stream.c: from crypto_stream.c:3:
crypto_stream.c: crypto_stream_chacha12.h:11:12: note: previous declaration of 'crypto_stream_chacha12_moon_armv6_32' was here
crypto_stream.c: extern int crypto_stream_chacha12_moon_armv6_32(unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
crypto_stream.c: ^

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

Compiler output

Implementation: moon/neon/32
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
crypto_stream.c: crypto_stream.c:6:13: error: conflicting types for 'crypto_stream_chacha12_moon_neon_32'
crypto_stream.c: extern void chacha_fn(const unsigned char *k, const unsigned char *n, const unsigned char *in, unsigned char *out, size_t inlen, size_t rounds);
crypto_stream.c: ^
crypto_stream.c: crypto_stream.c:1:19: note: expanded from macro 'chacha_fn'
crypto_stream.c: #define chacha_fn crypto_stream_chacha12_moon_neon_32
crypto_stream.c: ^
crypto_stream.c: ./crypto_stream_chacha12.h:11:12: note: previous declaration is here
crypto_stream.c: extern int crypto_stream_chacha12_moon_neon_32(unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
crypto_stream.c: ^
crypto_stream.c: crypto_stream.c:9:27: error: too many arguments to function call, expected 4, have 6
crypto_stream.c: chacha_fn(k, n, in, out, (size_t)inlen, 12);
crypto_stream.c: ~~~~~~~~~ ^~~~~~~~~~~~~~~~~
crypto_stream.c: ./crypto_stream_chacha12.h:11:1: note: 'crypto_stream_chacha12_moon_neon_32' declared here
crypto_stream.c: extern int crypto_stream_chacha12_moon_neon_32(unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
crypto_stream.c: ^
crypto_stream.c: crypto_stream.c:14:29: error: too many arguments to function call, expected 4, have 6
crypto_stream.c: chacha_fn(k, n, NULL, out, (size_t)outlen, 12);
crypto_stream.c: ~~~~~~~~~ ^~~~~~~~~~~~~~~~~~
crypto_stream.c: crypto_stream.c:13:1: note: 'crypto_stream_chacha12_moon_neon_32' declared here
crypto_stream.c: int crypto_stream(unsigned char *out, unsigned long long outlen, const unsigned char *n, const unsigned char *k) {
crypto_stream.c: ^
crypto_stream.c: 3 errors generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/neon/32
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/neon/32
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/neon/32
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/neon/32
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/neon/32

Compiler output

Implementation: moon/neon/32
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
crypto_stream.c: crypto_stream.c:1:19: error: conflicting types for 'crypto_stream_chacha12_moon_neon_32'
crypto_stream.c: #define chacha_fn crypto_stream_chacha12_moon_neon_32
crypto_stream.c: ^
crypto_stream.c: crypto_stream.c:6:13: note: in expansion of macro 'chacha_fn'
crypto_stream.c: extern void chacha_fn(const unsigned char *k, const unsigned char *n, const unsigned char *in, unsigned char *out, size_t inlen, size_t rounds);
crypto_stream.c: ^
crypto_stream.c: In file included from crypto_stream.h:4:0,
crypto_stream.c: from crypto_stream.c:3:
crypto_stream.c: crypto_stream_chacha12.h:11:12: note: previous declaration of 'crypto_stream_chacha12_moon_neon_32' was here
crypto_stream.c: extern int crypto_stream_chacha12_moon_neon_32(unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
crypto_stream.c: ^

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