Implementation notes: x86, bolero, crypto_stream/cryptmtv3

Computer: bolero
Architecture: x86
CPU ID: GenuineIntel-000406f1-bfebfbff
SUPERCOP version: 20190110
Operation: crypto_stream
Primitive: cryptmtv3
TimeImplementationCompilerBenchmark dateSUPERCOP version
6372e/v3gcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2017090620170904
6372e/v3gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2017090620170904
6380e/v3gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2017090620170904
6416e/v3gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2017090620170904
6416e/v3gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2017090620170904
6420e/v3gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2017090620170904
6488e/v3gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2017090620170904
6516e/v3gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2017090620170904
6528e/v3gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2017090620170904
6532e/v3gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2017090620170904
6544e/v3gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2017090620170904
6552e/v3gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2017090620170904
6552e/v3gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2017090620170904
6568e/v3gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2017090620170904
6628e/v3gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2017090620170904
6632e/v3gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2017090620170904
6648e/v3gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2017090620170904
6708e/v3gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2017090620170904
6804e/v3gcc -m32 -march=corei7 -O3 -fomit-frame-pointer2017090620170904
6832e/v3gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2017090620170904
6836e/v3gcc -m32 -march=nocona -O3 -fomit-frame-pointer2017090620170904
6848e/v3gcc -m32 -march=prescott -O3 -fomit-frame-pointer2017090620170904
6864e/v3gcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2017090620170904
6884e/v3gcc -m32 -march=core2 -O3 -fomit-frame-pointer2017090620170904
6884e/v3gcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2017090620170904
6888e/v3gcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2017090620170904
6888e/v3gcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017090620170904
6888e/v3gcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2017090620170904
6892e/v3gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017090620170904
6896e/v3gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2017090620170904
6896e/v3gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2017090620170904
6896e/v3gcc -m32 -march=corei7 -O2 -fomit-frame-pointer2017090620170904
6896e/v3gcc -m32 -march=nocona -O2 -fomit-frame-pointer2017090620170904
6900e/v3gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2017090620170904
6900e/v3gcc -m32 -march=prescott -O2 -fomit-frame-pointer2017090620170904
6904e/v3gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2017090620170904
6904e/v3gcc -m32 -march=core2 -O2 -fomit-frame-pointer2017090620170904
6904e/v3gcc -m32 -march=k8 -O2 -fomit-frame-pointer2017090620170904
6912e/v3gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2017090620170904
6916e/v3gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2017090620170904
6928e/v3gcc -m32 -march=nocona -O -fomit-frame-pointer2017090620170904
6928e/v3gcc -m32 -march=prescott -O -fomit-frame-pointer2017090620170904
6940e/v3gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2017090620170904
6940e/v3gcc -m32 -march=corei7 -O -fomit-frame-pointer2017090620170904
6940e/v3gcc -m32 -march=pentium4 -O -fomit-frame-pointer2017090620170904
6944e/v3gcc -m32 -march=core2 -O -fomit-frame-pointer2017090620170904
6944e/v3gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2017090620170904
6948e/v3gcc -m32 -march=barcelona -O -fomit-frame-pointer2017090620170904
6952e/v3gcc -m32 -march=core-avx2 -O -fomit-frame-pointer2017090620170904
6952e/v3gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2017090620170904
6956e/v3gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2017090620170904
6960e/v3gcc -m32 -march=corei7-avx -O -fomit-frame-pointer2017090620170904
6968e/v3gcc -m32 -march=core-avx-i -O -fomit-frame-pointer2017090620170904
6988e/v3gcc -m32 -march=k8 -O -fomit-frame-pointer2017090620170904
7016e/v3gcc -m32 -march=pentium-m -O -fomit-frame-pointer2017090620170904
7056e/v3gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2017090620170904
7072e/v3gcc -m32 -march=barcelona -O3 -fomit-frame-pointer2017090620170904
7084e/v3gcc -m32 -march=k8 -O3 -fomit-frame-pointer2017090620170904
7092e/v3gcc -m32 -march=barcelona -O2 -fomit-frame-pointer2017090620170904
7104e/v3gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2017090620170904
7120e/v3gcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2017090620170904
7124e/v3gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2017090620170904
7132e/v3gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2017090620170904
7144e/v3gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2017090620170904
7212e/v3gcc -m32 -march=prescott -Os -fomit-frame-pointer2017090620170904
7224e/v3gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2017090620170904
7224e/v3gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2017090620170904
7236e/v3gcc -m32 -march=corei7 -Os -fomit-frame-pointer2017090620170904
7236e/v3gcc -m32 -march=nocona -Os -fomit-frame-pointer2017090620170904
7240e/v3gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017090620170904
7240e/v3gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2017090620170904
7244e/v3gcc -m32 -march=core2 -Os -fomit-frame-pointer2017090620170904
7296e/v3gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2017090620170904
7296e/v3gcc -m32 -march=pentium4 -Os -fomit-frame-pointer2017090620170904
7424e/v3gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2017090620170904
7448e/v3gcc -m32 -march=k8 -Os -fomit-frame-pointer2017090620170904
7464e/v3gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2017090620170904
7500e/v3gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2017090620170904
7512e/v3gcc -m32 -march=barcelona -Os -fomit-frame-pointer2017090620170904
7516e/v3gcc -m32 -march=pentium-m -Os -fomit-frame-pointer2017090620170904
9116e/v3gcc -funroll-loops -m32 -O3 -fomit-frame-pointer2017090620170904
9188e/v3gcc -m32 -O3 -fomit-frame-pointer2017090620170904
9236e/v3gcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2017090620170904
9256e/v3gcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2017090620170904
9268e/v3gcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2017090620170904
9292e/v3gcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2017090620170904
9316e/v3gcc -m32 -march=i486 -O3 -fomit-frame-pointer2017090620170904
9324e/v3gcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2017090620170904
9324e/v3gcc -m32 -march=i386 -O3 -fomit-frame-pointer2017090620170904
9340e/v3gcc -funroll-loops -m32 -O2 -fomit-frame-pointer2017090620170904
9364e/v3gcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2017090620170904
9368e/v3gcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2017090620170904
9372e/v3gcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2017090620170904
9380e/v3gcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2017090620170904
9396e/v3gcc -m32 -march=athlon -O3 -fomit-frame-pointer2017090620170904
9400e/v3gcc -m32 -march=pentium -O3 -fomit-frame-pointer2017090620170904
9404e/v3gcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2017090620170904
9404e/v3gcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2017090620170904
9408e/v3gcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2017090620170904
9448e/v3gcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2017090620170904
9448e/v3gcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2017090620170904
9456e/v3gcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2017090620170904
9484e/v3gcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2017090620170904
9492e/v3gcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2017090620170904
9500e/v3gcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2017090620170904
9504e/v3gcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2017090620170904
9504e/v3gcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2017090620170904
9508e/v3gcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2017090620170904
9516e/v3gcc -funroll-loops -m32 -O -fomit-frame-pointer2017090620170904
9516e/v3gcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2017090620170904
9524e/v3gcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2017090620170904
9544e/v3gcc -m32 -march=k6 -O3 -fomit-frame-pointer2017090620170904
9548e/v3gcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2017090620170904
9548e/v3gcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2017090620170904
9552e/v3gcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2017090620170904
9556e/v3gcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2017090620170904
9556e/v3gcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2017090620170904
9560e/v3gcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2017090620170904
9568e/v3gcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2017090620170904
9584e/v3gcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2017090620170904
9584e/v3gcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2017090620170904
9608e/v3gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2017090620170904
9652e/v3gcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2017090620170904
9672e/v3gcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2017090620170904
10800e/v3gcc -m32 -O2 -fomit-frame-pointer2017090620170904
10900e/v3gcc -m32 -march=athlon -O2 -fomit-frame-pointer2017090620170904
10940e/v3gcc -m32 -march=i486 -O2 -fomit-frame-pointer2017090620170904
10968e/v3gcc -m32 -march=i386 -O2 -fomit-frame-pointer2017090620170904
11104e/v3gcc -m32 -march=pentium -O2 -fomit-frame-pointer2017090620170904
11204e/v3gcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2017090620170904
11204e/v3gcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2017090620170904
11224e/v3gcc -m32 -march=pentium -Os -fomit-frame-pointer2017090620170904
11240e/v3gcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2017090620170904
11260e/v3gcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2017090620170904
11272e/v3gcc -funroll-loops -m32 -Os -fomit-frame-pointer2017090620170904
11280e/v3gcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2017090620170904
11280e/v3gcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2017090620170904
11284e/v3gcc -m32 -Os -fomit-frame-pointer2017090620170904
11300e/v3gcc -m32 -march=i486 -O -fomit-frame-pointer2017090620170904
11308e/v3gcc -m32 -march=athlon -Os -fomit-frame-pointer2017090620170904
11328e/v3gcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2017090620170904
11332e/v3gcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2017090620170904
11336e/v3gcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2017090620170904
11344e/v3gcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2017090620170904
11364e/v3gcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2017090620170904
11368e/v3gcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2017090620170904
11372e/v3gcc -m32 -march=k6 -O2 -fomit-frame-pointer2017090620170904
11380e/v3gcc -m32 -march=i386 -O -fomit-frame-pointer2017090620170904
11392e/v3gcc -m32 -march=pentium -O -fomit-frame-pointer2017090620170904
11412e/v3gcc -m32 -march=k6-3 -Os -fomit-frame-pointer2017090620170904
11416e/v3gcc -m32 -march=i486 -Os -fomit-frame-pointer2017090620170904
11436e/v3gcc -m32 -march=k6 -Os -fomit-frame-pointer2017090620170904
11448e/v3gcc -m32 -march=i386 -Os -fomit-frame-pointer2017090620170904
11452e/v3gcc -m32 -march=k6-2 -Os -fomit-frame-pointer2017090620170904
11468e/v3gcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2017090620170904
11480e/v3gcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2017090620170904
11588e/v3gcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2017090620170904
11644e/v3gcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2017090620170904
11680e/v3gcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2017090620170904
11688e/v3gcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2017090620170904
11708e/v3gcc -m32 -march=pentium2 -Os -fomit-frame-pointer2017090620170904
12004e/v3gcc -m32 -march=athlon -O -fomit-frame-pointer2017090620170904
12048e/v3gcc -m32 -O -fomit-frame-pointer2017090620170904
12068e/v3gcc -m32 -march=pentiumpro -O -fomit-frame-pointer2017090620170904
12084e/v3gcc -m32 -march=pentium2 -O -fomit-frame-pointer2017090620170904
12236e/v3gcc -m32 -march=k6-2 -O -fomit-frame-pointer2017090620170904
12244e/v3gcc -m32 -march=k6 -O -fomit-frame-pointer2017090620170904
12292e/v3gcc -m32 -march=k6-3 -O -fomit-frame-pointer2017090620170904

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 /usr/lib/gcc/x86_64-linux-gnu/5/include/xmmintrin.h:1249:0,
cryptmt-v3.c: from /home/djb/benchmarking/supercop-20170904/supercop-data/bolero/x86/include/ecrypt-config.h:296,
cryptmt-v3.c: from e/cryptmt-v3.c:9,
cryptmt-v3.c: from cryptmt-v3.c:2:
cryptmt-v3.c: e/sse2.c: In function '_mm_recursion':
cryptmt-v3.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h:1286:1: error: inlining failed in call to always_inline '_mm_xor_si128': target specific option mismatch
cryptmt-v3.c: _mm_xor_si128 (__m128i __A, __m128i __B)
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:39:7: error: called from here
cryptmt-v3.c: c = _mm_xor_si128(c, a);
cryptmt-v3.c: ^
cryptmt-v3.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/xmmintrin.h:1249:0,
cryptmt-v3.c: from /home/djb/benchmarking/supercop-20170904/supercop-data/bolero/x86/include/ecrypt-config.h:296,
cryptmt-v3.c: from e/cryptmt-v3.c:9,
cryptmt-v3.c: from cryptmt-v3.c:2:
cryptmt-v3.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h:1286:1: error: inlining failed in call to always_inline '_mm_xor_si128': target specific option mismatch
cryptmt-v3.c: _mm_xor_si128 (__m128i __A, __m128i __B)
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:38:7: error: called from here
cryptmt-v3.c: c = _mm_xor_si128(c, b);
cryptmt-v3.c: ^
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