Implementation notes: amd64, scw1b63b1, crypto_stream/chacha12

Computer: scw1b63b1
Architecture: amd64
CPU ID: GenuineIntel-000506f1-0f8bfbff
SUPERCOP version: 20191017
Operation: crypto_stream
Primitive: chacha12
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
30385146 0 116825 784 800dolbeau/amd64-avx2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
30404760 0 115539 776 800dolbeau/amd64-avx2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
30465146 0 116825 784 800dolbeau/amd64-avx2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
30525146 0 117649 784 808dolbeau/amd64-avx2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
31744332 0 414935 784 832dolbeau/amd64-avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
35162856 0 014481 784 800krovetz/vec128clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
35222856 0 014481 784 800krovetz/vec128clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
35222834 0 013563 776 800krovetz/vec128clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
35242856 0 015305 784 800krovetz/vec128clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
35322614 0 016724 808 856krovetz/vec128gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
35502618 0 014612 808 856krovetz/vec128gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
36064466 0 116097 784 800e/amd64-xmm6clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
36084456 0 115179 776 800e/amd64-xmm6clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
36144466 0 116937 784 808e/amd64-xmm6clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
36144466 0 117009 784 808e/amd64-xmm6clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
36204578 0 416507 800 864e/amd64-xmm6gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
36204562 0 418676 808 864e/amd64-xmm6gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
36204548 0 416243 800 864e/amd64-xmm6gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
36224466 0 116097 784 800e/amd64-xmm6clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
36762463 0 014220 808 856krovetz/vec128gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
37024318 0 414879 784 832e/amd64-xmm6gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
37245158 0 417155 800 864dolbeau/amd64-avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
37645965 0 420148 808 864dolbeau/amd64-avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
38625053 0 416811 800 864dolbeau/amd64-avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
40721994 0 012567 784 824krovetz/vec128gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
47483000 0 015537 784 800krovetz/vec128clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
81482562 0 115033 784 808e/amd64-3clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
81482549 0 113259 776 800e/amd64-3clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
81482415 0 412943 784 832e/amd64-3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
81502562 0 114193 784 800e/amd64-3clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
81562675 0 414603 800 864e/amd64-3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
81582562 0 114193 784 800e/amd64-3clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
81662659 0 416772 808 864e/amd64-3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
82042562 0 115105 784 808e/amd64-3clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
82282298 0 113961 784 800e/mergedclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
82282298 0 114785 784 808e/mergedclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
82302298 0 113961 784 800e/mergedclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
82422645 0 414339 800 864e/amd64-3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
83182036 0 112787 776 800e/mergedclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
91363018 0 417180 808 864e/regsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
92443018 0 417180 808 864e/refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
92743741 0 417892 808 864e/mergedgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
93882358 0 414323 800 864e/mergedgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
95722473 0 115049 784 808e/mergedclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
95862154 0 113817 784 800e/regsclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
96862154 0 114641 784 808e/regsclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
96862154 0 113817 784 800e/regsclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
98841997 0 412567 784 832e/mergedgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
99182298 0 114785 784 808e/refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
99302298 0 113961 784 800e/refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
99762298 0 113961 784 800e/refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
102222366 0 414107 800 864e/mergedgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
104722345 0 114921 784 808e/regsclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
109202409 0 114985 784 808e/refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
115122136 0 414115 800 864e/regsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
127661853 0 112603 776 800e/regsclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
129181881 0 112643 776 800e/refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
133702124 0 413867 800 864e/regsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
156942200 0 414179 800 864e/refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
160981845 0 412423 784 832e/regsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
166042018 0 413755 800 864e/refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
189881715 0 412279 784 832e/refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017

Test failure

Implementation: amd64-ssse3
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 111

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
try.c: /usr/bin/ld: crypto_stream_chacha12.a(chacha.o): relocation R_X86_64_32S against symbol `R16' can not be used when making a shared object; recompile with -fPIC
try.c: /usr/bin/ld: final link failed: Nonrepresentable section on output
try.c: collect2: error: ld returned 1 exit status

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/amd64-avx2
Security model: unknown
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
chacha.c: In file included from chacha.c:104:
chacha.c: ./u4.h:122:7: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'crypto_stream_chacha12_dolbeau_amd64_avx2_ECRYPT_encrypt_bytes' that is compiled without support for 'ssse3'
chacha.c: VEC4_QUARTERROUND( 0, 4, 8,12);
chacha.c: ^
chacha.c: ./u4.h:17:36: note: expanded from macro 'VEC4_QUARTERROUND'
chacha.c: #define VEC4_QUARTERROUND(a,b,c,d) VEC4_QUARTERROUND_SHUFFLE(a,b,c,d)
chacha.c: ^
chacha.c: ./u4.h:12:86: note: expanded from macro 'VEC4_QUARTERROUND_SHUFFLE'
chacha.c: x_##a = _mm_add_epi32(x_##a, x_##b); t_##a = _mm_xor_si128(x_##d, x_##a); x_##d = _mm_shuffle_epi8(t_##a, rot16); ^
chacha.c: ...
chacha.c: x_3 = _mm_shuffle_epi8(x_3, rot16);
chacha.c: ^
chacha.c: ./u1.h:36:13: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'crypto_stream_chacha12_dolbeau_amd64_avx2_ECRYPT_encrypt_bytes' that is compiled without support for 'ssse3'
chacha.c: x_3 = _mm_shuffle_epi8(x_3, rot8);
chacha.c: ^
chacha.c: ./u1.h:50:13: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'crypto_stream_chacha12_dolbeau_amd64_avx2_ECRYPT_encrypt_bytes' that is compiled without support for 'ssse3'
chacha.c: x_3 = _mm_shuffle_epi8(x_3, rot16);
chacha.c: ^
chacha.c: fatal error: too many errors emitted, stopping now [-ferror-limit=]
chacha.c: 20 errors generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE dolbeau/amd64-avx2

Compiler output

Implementation: dolbeau/mipsel-msa
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
chacha.c: In file included from chacha.c:12:
chacha.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/arm_neon.h:28:2: error: "NEON support not enabled"
chacha.c: #error "NEON support not enabled"
chacha.c: ^
chacha.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/arm_neon.h:48:24: error: 'neon_vector_type' attribute is not supported for this target
chacha.c: typedef __attribute__((neon_vector_type(8))) int8_t int8x8_t;
chacha.c: ^
chacha.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/arm_neon.h:49:24: error: 'neon_vector_type' attribute is not supported for this target
chacha.c: typedef __attribute__((neon_vector_type(16))) int8_t int8x16_t;
chacha.c: ^
chacha.c: ...
chacha.c: typedef __attribute__((neon_vector_type(2))) uint64_t uint64x2_t;
chacha.c: ^
chacha.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/arm_neon.h:64:24: error: 'neon_vector_type' attribute is not supported for this target
chacha.c: typedef __attribute__((neon_vector_type(4))) float16_t float16x4_t;
chacha.c: ^
chacha.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/arm_neon.h:65:24: error: 'neon_vector_type' attribute is not supported for this target
chacha.c: typedef __attribute__((neon_vector_type(8))) float16_t float16x8_t;
chacha.c: ^
chacha.c: fatal error: too many errors emitted, stopping now [-ferror-limit=]
chacha.c: 20 errors generated.

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

Compiler output

Implementation: dolbeau/mipsel-msa
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
chacha.c: chacha.c:12:22: fatal error: arm_neon.h: No such file or directory
chacha.c: #include <arm_neon.h>
chacha.c: ^
chacha.c: compilation terminated.

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:126:2: error: #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: ^~~~~

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:56:18: warning: implicit declaration of function '_mm_broadcastsi128_si256' is invalid in C99 [-Wimplicit-function-declaration]
stream.c: __m256i s0 = _mm_broadcastsi128_si256((__m128i *)sigma);
stream.c: ^
stream.c: stream.c:56:13: error: initializing '__m256i' (vector of 4 'long long' values) with an expression of incompatible type 'int'
stream.c: __m256i s0 = _mm_broadcastsi128_si256((__m128i *)sigma);
stream.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: 1 warning and 1 error generated.

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: In function ‘crypto_stream_chacha12_krovetz_avx2_xor’:
stream.c: stream.c:58:13: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
stream.c: __m256i s0 = _mm256_broadcastsi128_si256(*(__m128i *)sigma);
stream.c: ^~
stream.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/6/include/immintrin.h:43:0,
stream.c: from stream.c:8:
stream.c: /usr/lib/gcc/x86_64-linux-gnu/6/include/avx2intrin.h:574:1: error: inlining failed in call to always_inline ‘_mm256_or_si256’: target specific option mismatch
stream.c: _mm256_or_si256 (__m256i __A, __m256i __B)
stream.c: ^~~~~~~~~~~~~~~
stream.c: stream.c:63:13: note: called from here
stream.c: ...
stream.c: from stream.c:8:
stream.c: /usr/lib/gcc/x86_64-linux-gnu/6/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline ‘_mm256_xor_si256’: target specific option mismatch
stream.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
stream.c: ^~~~~~~~~~~~~~~~
stream.c: stream.c:15:19: note: called from here
stream.c: #define XOR(x,y) _mm256_xor_si256(x,y)
stream.c: ^~~~~~~~~~~~~~~~~~~~~
stream.c: stream.c:162:27: note: in expansion of macro ‘XOR’
stream.c: *(__m256i *)buf = XOR(tail, *(__m256i *)buf);
stream.c: ^~~

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: moon/avx/64
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_avx_64'
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_avx_64
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_avx_64(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_avx_64' declared here
crypto_stream.c: extern int crypto_stream_chacha12_moon_avx_64(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_avx_64' 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/avx/64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/avx/64
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/avx/64
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/avx/64
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/avx/64

Compiler output

Implementation: moon/avx/64
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_avx_64’
crypto_stream.c: #define chacha_fn crypto_stream_chacha12_moon_avx_64
crypto_stream.c: ^
crypto_stream.c: crypto_stream.c:1:19: note: in definition of macro ‘chacha_fn’
crypto_stream.c: #define chacha_fn crypto_stream_chacha12_moon_avx_64
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_avx_64’ was here
crypto_stream.c: extern int crypto_stream_chacha12_moon_avx_64(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/avx/64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/avx/64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/avx/64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/avx/64

Compiler output

Implementation: moon/avx2/64
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_avx2_64'
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_avx2_64
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_avx2_64(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_avx2_64' declared here
crypto_stream.c: extern int crypto_stream_chacha12_moon_avx2_64(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_avx2_64' 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/avx2/64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/avx2/64
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/avx2/64
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/avx2/64
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/avx2/64

Compiler output

Implementation: moon/avx2/64
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_avx2_64’
crypto_stream.c: #define chacha_fn crypto_stream_chacha12_moon_avx2_64
crypto_stream.c: ^
crypto_stream.c: crypto_stream.c:1:19: note: in definition of macro ‘chacha_fn’
crypto_stream.c: #define chacha_fn crypto_stream_chacha12_moon_avx2_64
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_avx2_64’ was here
crypto_stream.c: extern int crypto_stream_chacha12_moon_avx2_64(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/avx2/64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/avx2/64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/avx2/64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/avx2/64

Compiler output

Implementation: moon/sse2/64
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_sse2_64'
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_sse2_64
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_sse2_64(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_sse2_64' declared here
crypto_stream.c: extern int crypto_stream_chacha12_moon_sse2_64(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_sse2_64' 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/sse2/64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/sse2/64
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/sse2/64
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/sse2/64
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/sse2/64

Compiler output

Implementation: moon/sse2/64
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_sse2_64’
crypto_stream.c: #define chacha_fn crypto_stream_chacha12_moon_sse2_64
crypto_stream.c: ^
crypto_stream.c: crypto_stream.c:1:19: note: in definition of macro ‘chacha_fn’
crypto_stream.c: #define chacha_fn crypto_stream_chacha12_moon_sse2_64
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_sse2_64’ was here
crypto_stream.c: extern int crypto_stream_chacha12_moon_sse2_64(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/sse2/64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/sse2/64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/sse2/64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/sse2/64

Compiler output

Implementation: moon/ssse3/64
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_ssse3_64'
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_ssse3_64
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_ssse3_64(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_ssse3_64' declared here
crypto_stream.c: extern int crypto_stream_chacha12_moon_ssse3_64(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_ssse3_64' 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/ssse3/64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/ssse3/64
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/ssse3/64
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/ssse3/64
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/ssse3/64

Compiler output

Implementation: moon/ssse3/64
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_ssse3_64’
crypto_stream.c: #define chacha_fn crypto_stream_chacha12_moon_ssse3_64
crypto_stream.c: ^
crypto_stream.c: crypto_stream.c:1:19: note: in definition of macro ‘chacha_fn’
crypto_stream.c: #define chacha_fn crypto_stream_chacha12_moon_ssse3_64
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_ssse3_64’ was here
crypto_stream.c: extern int crypto_stream_chacha12_moon_ssse3_64(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/ssse3/64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/ssse3/64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/ssse3/64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/ssse3/64

Compiler output

Implementation: moon/xop/64
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_xop_64'
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_xop_64
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_xop_64(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_xop_64' declared here
crypto_stream.c: extern int crypto_stream_chacha12_moon_xop_64(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_xop_64' 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/xop/64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/xop/64
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/xop/64
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/xop/64
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE moon/xop/64

Compiler output

Implementation: moon/xop/64
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_xop_64’
crypto_stream.c: #define chacha_fn crypto_stream_chacha12_moon_xop_64
crypto_stream.c: ^
crypto_stream.c: crypto_stream.c:1:19: note: in definition of macro ‘chacha_fn’
crypto_stream.c: #define chacha_fn crypto_stream_chacha12_moon_xop_64
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_xop_64’ was here
crypto_stream.c: extern int crypto_stream_chacha12_moon_xop_64(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/xop/64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/xop/64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/xop/64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE moon/xop/64