Implementation notes: amd64, temp, crypto_stream/chacha12

Computer: temp
Architecture: amd64
CPU ID: AuthenticAMD-00800f12-178bfbff
SUPERCOP version: 20191017
Operation: crypto_stream
Primitive: chacha12
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
17676865 0 416981 760 816dolbeau/amd64-avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
17987299 0 418493 784 832dolbeau/amd64-avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
18913533 0 017702 792 920goll_guerongcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
19223613 0 015030 792 824goll_guerongcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
20467461 0 418845 784 832dolbeau/amd64-avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
20468224 0 422438 792 928dolbeau/amd64-avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
21392142 0 016286 792 920krovetz/vec128gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
21703288 0 014542 792 824krovetz/avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
21702190 0 013582 792 824krovetz/vec128gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
22013624 0 014854 792 824goll_guerongcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
22013361 0 013461 760 808goll_guerongcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
22944322 32 415653 864 832amd64-ssse3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
22942275 0 013486 792 824krovetz/vec128gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
23254306 32 418494 872 928amd64-ssse3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
23254281 32 415429 864 832amd64-ssse3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
23254124 32 414181 840 816amd64-ssse3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
24182069 0 012165 760 808krovetz/vec128gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
24803646 0 015070 792 824krovetz/avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
24803646 0 017822 792 920krovetz/avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
26663340 0 013445 760 808krovetz/avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
29764514 0 415845 784 832e/amd64-xmm6gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
29764498 0 418686 792 928e/amd64-xmm6gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
29764473 0 415621 784 832e/amd64-xmm6gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
29764316 0 414373 760 816e/amd64-xmm6gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
48982413 0 412469 760 816e/amd64-3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
49292611 0 413909 784 832e/amd64-3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
49292595 0 416750 792 928e/amd64-3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
49292570 0 413685 784 832e/amd64-3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
49602997 0 417182 792 928e/refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
51772776 0 416958 792 928e/mergedgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
53013013 0 417198 792 928e/regsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
54252301 0 413645 784 832e/mergedgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
54562275 0 413421 784 832e/mergedgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
58282049 0 412157 760 816e/mergedgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
73162135 0 413485 784 832e/regsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
84322051 0 413197 784 832e/regsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
85562199 0 413549 784 832e/refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
87422003 0 413149 784 832e/refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
88041893 0 411997 760 816e/regsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
105711826 0 411933 760 816e/refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017

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: 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: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_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: 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: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_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: 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: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_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: 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: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_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: 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: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_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