Implementation notes: x86, h6sandy, crypto_stream/cryptmtv3

Computer: h6sandy
Architecture: x86
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20171218
Operation: crypto_stream
Primitive: cryptmtv3
TimeImplementationCompilerBenchmark dateSUPERCOP version
7464e/v3gcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2017111220171020
7492e/v3gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2017111220171020
7496e/v3gcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2017111220171020
7520e/v3gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2017111220171020
7556e/v3gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2017111220171020
7560e/v3gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2017111220171020
7596e/v3gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2017111220171020
7600e/v3gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2017111220171020
7600e/v3gcc -m32 -march=core-avx-i -O -fomit-frame-pointer2017111220171020
7600e/v3gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2017111220171020
7612e/v3gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2017111220171020
7644e/v3gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2017111220171020
7644e/v3gcc -m32 -march=corei7-avx -O -fomit-frame-pointer2017111220171020
7656e/v3gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2017111220171020
7664e/v3gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2017111220171020
7680e/v3gcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2017111220171020
7688e/v3gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2017111220171020
7696e/v3gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2017111220171020
7696e/v3gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2017111220171020
7708e/v3gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2017111220171020
7708e/v3gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2017111220171020
7756e/v3gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2017111220171020
7776e/v3gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2017111220171020
7776e/v3gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2017111220171020
7800e/v3gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2017111220171020
7808e/v3gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2017111220171020
7856e/v3gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2017111220171020
7860e/v3gcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2017111220171020
7896e/v3gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2017111220171020
7912e/v3gcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2017111220171020
7916e/v3gcc -m32 -march=prescott -O2 -fomit-frame-pointer2017111220171020
7944e/v3gcc -m32 -march=nocona -O2 -fomit-frame-pointer2017111220171020
7956e/v3gcc -m32 -march=nocona -O3 -fomit-frame-pointer2017111220171020
7964e/v3gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2017111220171020
8020e/v3gcc -m32 -march=prescott -O3 -fomit-frame-pointer2017111220171020
8028e/v3gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2017111220171020
8044e/v3gcc -m32 -march=k8 -O3 -fomit-frame-pointer2017111220171020
8044e/v3gcc -m32 -march=nocona -O -fomit-frame-pointer2017111220171020
8056e/v3gcc -m32 -march=k8 -O2 -fomit-frame-pointer2017111220171020
8056e/v3gcc -m32 -march=prescott -O -fomit-frame-pointer2017111220171020
8060e/v3gcc -m32 -march=corei7 -O3 -fomit-frame-pointer2017111220171020
8064e/v3gcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017111220171020
8092e/v3gcc -m32 -march=core2 -O3 -fomit-frame-pointer2017111220171020
8100e/v3gcc -m32 -march=core2 -O2 -fomit-frame-pointer2017111220171020
8100e/v3gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017111220171020
8100e/v3gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2017111220171020
8116e/v3gcc -m32 -march=pentium4 -O -fomit-frame-pointer2017111220171020
8120e/v3gcc -m32 -march=corei7 -O2 -fomit-frame-pointer2017111220171020
8132e/v3gcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2017111220171020
8148e/v3gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2017111220171020
8152e/v3gcc -m32 -march=core2 -O -fomit-frame-pointer2017111220171020
8160e/v3gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2017111220171020
8176e/v3gcc -m32 -march=corei7 -O -fomit-frame-pointer2017111220171020
8204e/v3gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2017111220171020
8212e/v3gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2017111220171020
8216e/v3gcc -m32 -march=barcelona -O -fomit-frame-pointer2017111220171020
8220e/v3gcc -m32 -march=barcelona -O2 -fomit-frame-pointer2017111220171020
8240e/v3gcc -m32 -march=k8 -O -fomit-frame-pointer2017111220171020
8256e/v3gcc -m32 -march=barcelona -O3 -fomit-frame-pointer2017111220171020
8348e/v3gcc -m32 -march=pentium-m -O -fomit-frame-pointer2017111220171020
8420e/v3gcc -m32 -march=nocona -Os -fomit-frame-pointer2017111220171020
8428e/v3gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2017111220171020
8428e/v3gcc -m32 -march=prescott -Os -fomit-frame-pointer2017111220171020
8436e/v3gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2017111220171020
8440e/v3gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2017111220171020
8472e/v3gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017111220171020
8472e/v3gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2017111220171020
8472e/v3gcc -m32 -march=corei7 -Os -fomit-frame-pointer2017111220171020
8484e/v3gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2017111220171020
8488e/v3gcc -m32 -march=pentium4 -Os -fomit-frame-pointer2017111220171020
8508e/v3gcc -m32 -march=k8 -Os -fomit-frame-pointer2017111220171020
8524e/v3gcc -m32 -march=core2 -Os -fomit-frame-pointer2017111220171020
8596e/v3gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2017111220171020
8644e/v3gcc -m32 -march=barcelona -Os -fomit-frame-pointer2017111220171020
8676e/v3gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2017111220171020
8808e/v3gcc -m32 -march=pentium-m -Os -fomit-frame-pointer2017111220171020
11432e/v3gcc -funroll-loops -m32 -O2 -fomit-frame-pointer2017111220171020
11468e/v3gcc -m32 -O3 -fomit-frame-pointer2017111220171020
11492e/v3gcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2017111220171020
11564e/v3gcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2017111220171020
11576e/v3gcc -funroll-loops -m32 -O3 -fomit-frame-pointer2017111220171020
11596e/v3gcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2017111220171020
11652e/v3gcc -m32 -march=athlon -O3 -fomit-frame-pointer2017111220171020
11692e/v3gcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2017111220171020
11692e/v3gcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2017111220171020
11696e/v3gcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2017111220171020
11708e/v3gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2017111220171020
11712e/v3gcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2017111220171020
11712e/v3gcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2017111220171020
11728e/v3gcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2017111220171020
11736e/v3gcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2017111220171020
11768e/v3gcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2017111220171020
11772e/v3gcc -funroll-loops -m32 -O -fomit-frame-pointer2017111220171020
11772e/v3gcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2017111220171020
11776e/v3gcc -m32 -march=pentium -O3 -fomit-frame-pointer2017111220171020
11788e/v3gcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2017111220171020
11792e/v3gcc -m32 -march=i486 -O3 -fomit-frame-pointer2017111220171020
11800e/v3gcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2017111220171020
11816e/v3gcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2017111220171020
11820e/v3gcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2017111220171020
11820e/v3gcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2017111220171020
11824e/v3gcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2017111220171020
11840e/v3gcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2017111220171020
11840e/v3gcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2017111220171020
11844e/v3gcc -m32 -march=i386 -O3 -fomit-frame-pointer2017111220171020
11848e/v3gcc -m32 -march=k6 -O3 -fomit-frame-pointer2017111220171020
11852e/v3gcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2017111220171020
11900e/v3gcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2017111220171020
11900e/v3gcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2017111220171020
11960e/v3gcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2017111220171020
11960e/v3gcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2017111220171020
11964e/v3gcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2017111220171020
11972e/v3gcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2017111220171020
11996e/v3gcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2017111220171020
12020e/v3gcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2017111220171020
12056e/v3gcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2017111220171020
12068e/v3gcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2017111220171020
12076e/v3gcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2017111220171020
12120e/v3gcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2017111220171020
12156e/v3gcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2017111220171020
13340e/v3gcc -m32 -O2 -fomit-frame-pointer2017111220171020
13448e/v3gcc -m32 -march=athlon -O2 -fomit-frame-pointer2017111220171020
13552e/v3gcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2017111220171020
13580e/v3gcc -m32 -march=pentium -O2 -fomit-frame-pointer2017111220171020
13588e/v3gcc -m32 -march=i486 -O2 -fomit-frame-pointer2017111220171020
13728e/v3gcc -m32 -march=i386 -O2 -fomit-frame-pointer2017111220171020
13892e/v3gcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2017111220171020
13900e/v3gcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2017111220171020
13912e/v3gcc -m32 -march=pentium -Os -fomit-frame-pointer2017111220171020
13952e/v3gcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2017111220171020
13960e/v3gcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2017111220171020
13984e/v3gcc -funroll-loops -m32 -Os -fomit-frame-pointer2017111220171020
13984e/v3gcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2017111220171020
13988e/v3gcc -m32 -march=k6 -Os -fomit-frame-pointer2017111220171020
14016e/v3gcc -m32 -march=k6 -O2 -fomit-frame-pointer2017111220171020
14032e/v3gcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2017111220171020
14040e/v3gcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2017111220171020
14044e/v3gcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2017111220171020
14044e/v3gcc -m32 -march=k6-2 -Os -fomit-frame-pointer2017111220171020
14048e/v3gcc -m32 -march=athlon -Os -fomit-frame-pointer2017111220171020
14056e/v3gcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2017111220171020
14060e/v3gcc -m32 -Os -fomit-frame-pointer2017111220171020
14088e/v3gcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2017111220171020
14116e/v3gcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2017111220171020
14116e/v3gcc -m32 -march=k6-3 -Os -fomit-frame-pointer2017111220171020
14224e/v3gcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2017111220171020
14228e/v3gcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2017111220171020
14232e/v3gcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2017111220171020
14256e/v3gcc -m32 -march=pentium -O -fomit-frame-pointer2017111220171020
14296e/v3gcc -m32 -march=i386 -Os -fomit-frame-pointer2017111220171020
14304e/v3gcc -m32 -march=i486 -Os -fomit-frame-pointer2017111220171020
14352e/v3gcc -m32 -march=i486 -O -fomit-frame-pointer2017111220171020
14364e/v3gcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2017111220171020
14368e/v3gcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2017111220171020
14500e/v3gcc -m32 -march=i386 -O -fomit-frame-pointer2017111220171020
14640e/v3gcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2017111220171020
14764e/v3gcc -m32 -march=pentium2 -Os -fomit-frame-pointer2017111220171020
14776e/v3gcc -m32 -O -fomit-frame-pointer2017111220171020
14832e/v3gcc -m32 -march=k6 -O -fomit-frame-pointer2017111220171020
14872e/v3gcc -m32 -march=k6-3 -O -fomit-frame-pointer2017111220171020
14884e/v3gcc -m32 -march=athlon -O -fomit-frame-pointer2017111220171020
14916e/v3gcc -m32 -march=k6-2 -O -fomit-frame-pointer2017111220171020
15020e/v3gcc -m32 -march=pentium2 -O -fomit-frame-pointer2017111220171020
15056e/v3gcc -m32 -march=pentiumpro -O -fomit-frame-pointer2017111220171020

Test failure

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

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
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

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/supercop-20171020/supercop-data/h6sandy/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/supercop-20171020/supercop-data/h6sandy/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