Implementation notes: amd64, wyvern1, crypto_stream/chacha12

Computer: wyvern1
Architecture: amd64
CPU ID: GenuineIntel-000306f2-bfebfbff
SUPERCOP version: 20191221
Operation: crypto_stream
Primitive: chacha12
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
13293477 0 018340 736 856goll_guerongcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
13507474 0 418867 728 864dolbeau/amd64-avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
13656672 0 417039 712 832dolbeau/amd64-avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
13823557 0 015220 736 856goll_guerongcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
13928008 0 422940 736 864dolbeau/amd64-avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
14717521 0 419195 728 864dolbeau/amd64-avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
14713599 0 015004 736 856goll_guerongcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
15213411 0 013751 712 824goll_guerongcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
15783742 0 015443 744 856krovetz/avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
15783742 0 018643 744 856krovetz/avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
16463611 0 015083 744 856krovetz/avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
17023502 0 013902 720 824krovetz/avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
25284437 0 419300 736 864amd64-ssse3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
25314228 0 414575 712 832amd64-ssse3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
25344377 0 415763 728 864amd64-ssse3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
25604437 0 416075 728 864amd64-ssse3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
25602382 0 017299 744 856krovetz/vec128gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
25812430 0 014163 744 856krovetz/vec128gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
27942328 0 013795 744 856krovetz/vec128gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
29842072 0 012486 720 824krovetz/vec128gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
30844597 0 419460 736 864e/amd64-xmm6gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
30904537 0 415859 728 864e/amd64-xmm6gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
31054597 0 416171 728 864e/amd64-xmm6gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
31084388 0 414703 712 832e/amd64-xmm6gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
57992694 0 414267 728 864e/amd64-3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
58252694 0 417556 736 864e/amd64-3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
58372487 0 412767 712 832e/amd64-3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
58402634 0 413955 728 864e/amd64-3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
62552380 0 413739 728 864e/mergedgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
62872844 0 417756 736 864e/regsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
65002844 0 417756 736 864e/refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
65363208 0 418108 736 864e/mergedgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
67402219 0 412551 712 832e/mergedgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
80422489 0 414115 728 864e/mergedgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
89032273 0 413627 728 864e/regsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
89982330 0 413971 728 864e/regsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
102532071 0 412407 712 832e/regsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
102862346 0 413987 728 864e/refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
106742219 0 413563 728 864e/refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
127311958 0 412295 712 832e/refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221

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