Implementation notes: x86, latour, crypto_stream/cryptmtv3

Computer: latour
Architecture: x86
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20171218
Operation: crypto_stream
Primitive: cryptmtv3
TimeImplementationCompilerBenchmark dateSUPERCOP version
7911e/v3gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2017090820170904
8055e/v3gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2017090820170904
8136e/v3gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2017090820170904
8172e/v3gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2017090820170904
8181e/v3gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2017090820170904
8181e/v3gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2017090820170904
8298e/v3gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2017090820170904
8316e/v3gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2017090820170904
8451e/v3gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2017090820170904
8469e/v3gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2017090820170904
8532e/v3gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2017090820170904
8541e/v3gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2017090820170904
8568e/v3gcc -m32 -march=k8 -O3 -fomit-frame-pointer2017090820170904
8676e/v3gcc -m32 -march=barcelona -O3 -fomit-frame-pointer2017090820170904
8676e/v3gcc -m32 -march=nocona -O3 -fomit-frame-pointer2017090820170904
8694e/v3gcc -m32 -march=prescott -O3 -fomit-frame-pointer2017090820170904
8730e/v3gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2017090820170904
8757e/v3gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2017090820170904
8766e/v3gcc -m32 -march=core2 -O3 -fomit-frame-pointer2017090820170904
8766e/v3gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2017090820170904
8802e/v3gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2017090820170904
8811e/v3gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2017090820170904
8820e/v3gcc -m32 -march=nocona -O -fomit-frame-pointer2017090820170904
8820e/v3gcc -m32 -march=prescott -O -fomit-frame-pointer2017090820170904
8829e/v3gcc -m32 -march=core2 -O -fomit-frame-pointer2017090820170904
8856e/v3gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2017090820170904
8856e/v3gcc -m32 -march=pentium-m -Os -fomit-frame-pointer2017090820170904
8865e/v3gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2017090820170904
8865e/v3gcc -m32 -march=corei7 -O -fomit-frame-pointer2017090820170904
8883e/v3gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2017090820170904
8892e/v3gcc -m32 -march=pentium-m -O -fomit-frame-pointer2017090820170904
8892e/v3gcc -m32 -march=pentium4 -O -fomit-frame-pointer2017090820170904
8901e/v3gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2017090820170904
8910e/v3gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2017090820170904
8910e/v3gcc -m32 -march=k8 -O -fomit-frame-pointer2017090820170904
8946e/v3gcc -m32 -march=barcelona -O -fomit-frame-pointer2017090820170904
9018e/v3gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2017090820170904
9036e/v3gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2017090820170904
9036e/v3gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017090820170904
9036e/v3gcc -m32 -march=corei7 -Os -fomit-frame-pointer2017090820170904
9036e/v3gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2017090820170904
9054e/v3gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2017090820170904
9063e/v3gcc -m32 -march=k8 -Os -fomit-frame-pointer2017090820170904
9072e/v3gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2017090820170904
9081e/v3gcc -m32 -march=core2 -Os -fomit-frame-pointer2017090820170904
9099e/v3gcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2017090820170904
9117e/v3gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2017090820170904
9180e/v3gcc -m32 -march=barcelona -Os -fomit-frame-pointer2017090820170904
9234e/v3gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2017090820170904
9252e/v3gcc -m32 -march=nocona -Os -fomit-frame-pointer2017090820170904
9252e/v3gcc -m32 -march=pentium4 -Os -fomit-frame-pointer2017090820170904
9270e/v3gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2017090820170904
9270e/v3gcc -m32 -march=prescott -Os -fomit-frame-pointer2017090820170904
9279e/v3gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2017090820170904
9360e/v3gcc -m32 -march=barcelona -O2 -fomit-frame-pointer2017090820170904
9486e/v3gcc -m32 -march=nocona -O2 -fomit-frame-pointer2017090820170904
9495e/v3gcc -m32 -march=prescott -O2 -fomit-frame-pointer2017090820170904
9504e/v3gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2017090820170904
9513e/v3gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017090820170904
9513e/v3gcc -m32 -march=corei7 -O2 -fomit-frame-pointer2017090820170904
9531e/v3gcc -m32 -march=core2 -O2 -fomit-frame-pointer2017090820170904
9531e/v3gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2017090820170904
9540e/v3gcc -m32 -march=k8 -O2 -fomit-frame-pointer2017090820170904
9648e/v3gcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2017090820170904
9810e/v3gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2017090820170904
12069e/v3gcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2017090820170904
12195e/v3gcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2017090820170904
12249e/v3gcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2017090820170904
12285e/v3gcc -funroll-loops -m32 -O -fomit-frame-pointer2017090820170904
12285e/v3gcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2017090820170904
12339e/v3gcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2017090820170904
12402e/v3gcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2017090820170904
12411e/v3gcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2017090820170904
12645e/v3gcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2017090820170904
12672e/v3gcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2017090820170904
12699e/v3gcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2017090820170904
13716e/v3gcc -m32 -march=i486 -O -fomit-frame-pointer2017090820170904
13860e/v3gcc -m32 -march=i386 -O -fomit-frame-pointer2017090820170904
13959e/v3gcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2017090820170904
13977e/v3gcc -m32 -march=pentium -O -fomit-frame-pointer2017090820170904
14643e/v3gcc -m32 -O -fomit-frame-pointer2017090820170904
14688e/v3gcc -m32 -march=athlon -O -fomit-frame-pointer2017090820170904
14724e/v3gcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2017090820170904
14751e/v3gcc -m32 -march=k6-3 -Os -fomit-frame-pointer2017090820170904
14760e/v3gcc -m32 -march=pentiumpro -O -fomit-frame-pointer2017090820170904
14769e/v3gcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2017090820170904
14769e/v3gcc -m32 -march=pentium2 -Os -fomit-frame-pointer2017090820170904
14778e/v3gcc -m32 -march=pentium2 -O -fomit-frame-pointer2017090820170904
14778e/v3gcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2017090820170904
14787e/v3gcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2017090820170904
14814e/v3gcc -m32 -march=athlon -Os -fomit-frame-pointer2017090820170904
14814e/v3gcc -m32 -march=k6 -Os -fomit-frame-pointer2017090820170904
14823e/v3gcc -m32 -march=k6-2 -O -fomit-frame-pointer2017090820170904
14832e/v3gcc -m32 -march=k6-2 -Os -fomit-frame-pointer2017090820170904
14904e/v3gcc -m32 -march=k6 -O -fomit-frame-pointer2017090820170904
14913e/v3gcc -m32 -march=k6-3 -O -fomit-frame-pointer2017090820170904
14922e/v3gcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2017090820170904
14922e/v3gcc -m32 -O2 -fomit-frame-pointer2017090820170904
14922e/v3gcc -m32 -march=pentium -Os -fomit-frame-pointer2017090820170904
14931e/v3gcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2017090820170904
14940e/v3gcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2017090820170904
14940e/v3gcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2017090820170904
14949e/v3gcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2017090820170904
14949e/v3gcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2017090820170904
14949e/v3gcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2017090820170904
14958e/v3gcc -funroll-loops -m32 -Os -fomit-frame-pointer2017090820170904
14985e/v3gcc -m32 -Os -fomit-frame-pointer2017090820170904
14994e/v3gcc -m32 -march=i486 -Os -fomit-frame-pointer2017090820170904
15066e/v3gcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2017090820170904
15093e/v3gcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2017090820170904
15093e/v3gcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2017090820170904
15102e/v3gcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2017090820170904
15129e/v3gcc -funroll-loops -m32 -O3 -fomit-frame-pointer2017090820170904
15201e/v3gcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2017090820170904
15201e/v3gcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2017090820170904
15219e/v3gcc -m32 -march=i386 -Os -fomit-frame-pointer2017090820170904
15246e/v3gcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2017090820170904
15318e/v3gcc -m32 -O3 -fomit-frame-pointer2017090820170904
15345e/v3gcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2017090820170904
15363e/v3gcc -m32 -march=athlon -O3 -fomit-frame-pointer2017090820170904
15471e/v3gcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2017090820170904
15489e/v3gcc -m32 -march=athlon -O2 -fomit-frame-pointer2017090820170904
15561e/v3gcc -m32 -march=k6 -O2 -fomit-frame-pointer2017090820170904
15561e/v3gcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2017090820170904
15579e/v3gcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2017090820170904
15615e/v3gcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2017090820170904
15615e/v3gcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2017090820170904
15651e/v3gcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2017090820170904
15759e/v3gcc -m32 -march=pentium -O2 -fomit-frame-pointer2017090820170904
15768e/v3gcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2017090820170904
15768e/v3gcc -m32 -march=pentium -O3 -fomit-frame-pointer2017090820170904
15813e/v3gcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2017090820170904
15822e/v3gcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2017090820170904
15894e/v3gcc -m32 -march=i486 -O3 -fomit-frame-pointer2017090820170904
15921e/v3gcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2017090820170904
15984e/v3gcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2017090820170904
15993e/v3gcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2017090820170904
16002e/v3gcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2017090820170904
16011e/v3gcc -m32 -march=k6 -O3 -fomit-frame-pointer2017090820170904
16101e/v3gcc -m32 -march=i386 -O3 -fomit-frame-pointer2017090820170904
16119e/v3gcc -m32 -march=i486 -O2 -fomit-frame-pointer2017090820170904
16191e/v3gcc -m32 -march=i386 -O2 -fomit-frame-pointer2017090820170904
16425e/v3gcc -funroll-loops -m32 -O2 -fomit-frame-pointer2017090820170904
16713e/v3gcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2017090820170904
16785e/v3gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2017090820170904
16785e/v3gcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2017090820170904
16848e/v3gcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2017090820170904
16866e/v3gcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2017090820170904
16884e/v3gcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2017090820170904
16920e/v3gcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2017090820170904
16965e/v3gcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2017090820170904
16992e/v3gcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2017090820170904
17226e/v3gcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2017090820170904

Test failure

Implementation: crypto_stream/cryptmtv3/e/v3
Compiler: gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer e/v3
gcc -m32 -march=core-avx-i -O -fomit-frame-pointer e/v3
gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer e/v3
gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer e/v3
gcc -m32 -march=core-avx2 -O -fomit-frame-pointer e/v3
gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer e/v3
gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer e/v3
gcc -m32 -march=corei7-avx -O -fomit-frame-pointer e/v3
gcc -m32 -march=corei7-avx -Os -fomit-frame-pointer e/v3

Compiler output

Implementation: crypto_stream/cryptmtv3/e/v3
Compiler: gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer
cryptmt-v3.c: In file included from e/sse2.c:5:0,
cryptmt-v3.c: from e/cryptmt-v3.c:66,
cryptmt-v3.c: from cryptmt-v3.c:2:
cryptmt-v3.c: /usr/lib/gcc/x86_64-linux-gnu/4.8/include/emmintrin.h:31:3: error: #error "SSE2 instruction set not enabled"
cryptmt-v3.c: # error "SSE2 instruction set not enabled"
cryptmt-v3.c: ^
cryptmt-v3.c: In file included from e/cryptmt-v3.c:66:0,
cryptmt-v3.c: from cryptmt-v3.c:2:
cryptmt-v3.c: e/sse2.c:15:1: error: unknown type name '__m128i'
cryptmt-v3.c: static INLINE __m128i _mm_recursion(const __m128i *x, const __m128i *y,
cryptmt-v3.c: ^
cryptmt-v3.c: e/sse2.c:15:1: error: unknown type name '__m128i'
cryptmt-v3.c: e/sse2.c:15:1: error: unknown type name '__m128i'
cryptmt-v3.c: e/sse2.c:16:9: error: unknown type name '__m128i'
cryptmt-v3.c: __m128i z, const __m128i mask);
cryptmt-v3.c: ^
cryptmt-v3.c: e/sse2.c:16:9: error: unknown type name '__m128i'
cryptmt-v3.c: e/sse2.c:18:39: error: unknown type name '__m128i'
cryptmt-v3.c: static INLINE void _mm_filter_16bytes(__m128i *sfmt, __m128i *p_accum,
cryptmt-v3.c: ^
cryptmt-v3.c: e/sse2.c:18:54: error: unknown type name '__m128i'
cryptmt-v3.c: static INLINE void _mm_filter_16bytes(__m128i *sfmt, __m128i *p_accum,
cryptmt-v3.c: ^
cryptmt-v3.c: e/sse2.c:21:34: error: unknown type name '__m128i'
cryptmt-v3.c: static INLINE void _mm_booter_am(__m128i *acc, __m128i *pos1, __m128i *pos2,
cryptmt-v3.c: ...

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer e/v3
gcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer e/v3
gcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer e/v3
gcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer e/v3
gcc -m32 -march=pentium3 -O2 -fomit-frame-pointer e/v3
gcc -m32 -march=pentium3 -O3 -fomit-frame-pointer e/v3
gcc -m32 -march=pentium3 -O -fomit-frame-pointer e/v3
gcc -m32 -march=pentium3 -Os -fomit-frame-pointer e/v3