Implementation notes: amd64, utrecht, crypto_stream/chacha8

Computer: utrecht
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20160806
Operation: crypto_stream
Primitive: chacha8
TimeImplementationCompilerBenchmark dateSUPERCOP version
3006e/amd64-xmm6gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
3006e/amd64-xmm6gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
3015e/amd64-xmm6gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
3015e/amd64-xmm6gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
3222moon/ssse3/64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
3231moon/ssse3/64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
3240moon/ssse3/64gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
3573krovetz/vec128gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
4068moon/sse2/64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
4077moon/sse2/64gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
4095moon/sse2/64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
4113moon/sse2/64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
4617amd64-ssse3gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
4644amd64-ssse3gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
4644amd64-ssse3gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
4716amd64-ssse3gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
4851moon/ssse3/64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
5211dolbeau/amd64-avx2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
5283krovetz/vec128gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
5301e/amd64-3gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
5301e/amd64-3gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
5328e/amd64-3gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
5346e/amd64-3gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
5409dolbeau/amd64-avx2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
5481dolbeau/amd64-avx2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
5805krovetz/vec128gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
5922krovetz/vec128gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
6030dolbeau/amd64-avx2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
6831e/mergedgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
7731e/mergedgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
9666e/regsgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
9711e/mergedgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
9774e/mergedgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
9774e/refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080420160731
15192e/regsgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
15885e/regsgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
17541e/refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080420160731
18270e/refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080420160731
19116e/regsgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731
20889e/refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080420160731

Test failure

Implementation: crypto_stream/chacha8/moon/avx/64
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
error 111

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

Compiler output

Implementation: crypto_stream/chacha8/dolbeau/ppc-altivec
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
chacha.c: chacha.c:11:21: fatal error: altivec.h: No such file or directory
chacha.c: #include gt;
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 dolbeau/ppc-altivec
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv dolbeau/ppc-altivec
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv dolbeau/ppc-altivec
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv dolbeau/ppc-altivec

Compiler output

Implementation: crypto_stream/chacha8/dolbeau/mipsel-msa
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
chacha.c: chacha.c:11:22: fatal error: arm_neon.h: No such file or directory
chacha.c: #include gt;
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 dolbeau/mipsel-msa
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv dolbeau/mipsel-msa
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv dolbeau/mipsel-msa
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv dolbeau/mipsel-msa

Compiler output

Implementation: crypto_stream/chacha8/krovetz/avx2
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
stream.c: stream.c: In function 'crypto_stream_chacha8_krovetz_avx2_xor':
stream.c: stream.c:54:5: error: unknown type name '__m256i'
stream.c: __m256i v0,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11;
stream.c: ^
stream.c: stream.c:58:5: error: unknown type name '__m256i'
stream.c: __m256i s0 = _mm256_broadcastsi128_si256(*(__m128i *)sigma);
stream.c: ^
stream.c: stream.c:60:5: error: unknown type name '__m256i'
stream.c: __m256i s1 = _mm256_loadu_si256((__m256i *)k);
stream.c: ^
stream.c: stream.c:60:38: error: '__m256i' undeclared (first use in this function)
stream.c: __m256i s1 = _mm256_loadu_si256((__m256i *)k);
stream.c: ^
stream.c: stream.c:60:38: note: each undeclared identifier is reported only once for each function it appears in
stream.c: stream.c:60:47: error: expected expression before ')' token
stream.c: __m256i s1 = _mm256_loadu_si256((__m256i *)k);
stream.c: ^
stream.c: stream.c:61:13: error: expected ';' before 's2'
stream.c: __m256i s2 = _mm256_permute2x128_si256(s1,s1,0x11);
stream.c: ^
stream.c: stream.c:63:13: error: expected ';' before 's3'
stream.c: __m256i s3 = _mm256_or_si256(
stream.c: ^
stream.c: stream.c:69:25: error: 's2' undeclared (first use in this function)
stream.c: v10 = v6 = v2 = s2; v3 = s3; v7 = INC(v3); v11 = INC(v7);
stream.c: ...

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

Compiler output

Implementation: crypto_stream/chacha8/goll_gueron
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
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 goll_gueron
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv goll_gueron
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv goll_gueron
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv goll_gueron