Implementation notes: x86, hydra8, crypto_stream/cryptmtv3

Computer: hydra8
Architecture: x86
CPU ID: GenuineIntel-000306a9-bfebfbff
SUPERCOP version: 20171218
Operation: crypto_stream
Primitive: cryptmtv3
TimeImplementationCompilerBenchmark dateSUPERCOP version
6768e/v3gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2017090620170904
6772e/v3gcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2017090620170904
6776e/v3gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2017090620170904
6780e/v3gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2017090620170904
6820e/v3gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2017090620170904
6860e/v3gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2017090620170904
6864e/v3gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2017090620170904
6872e/v3gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2017090620170904
6880e/v3gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2017090620170904
6892e/v3gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2017090620170904
6892e/v3gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2017090620170904
6900e/v3gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2017090620170904
6944e/v3gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2017090620170904
6976e/v3gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2017090620170904
6976e/v3gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2017090620170904
6992e/v3gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2017090620170904
7004e/v3gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2017090620170904
7088e/v3gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2017090620170904
7116e/v3gcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2017090620170904
7120e/v3gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2017090620170904
7124e/v3gcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2017090620170904
7140e/v3gcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2017090620170904
7192e/v3gcc -m32 -march=prescott -O3 -fomit-frame-pointer2017090620170904
7208e/v3gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2017090620170904
7208e/v3gcc -m32 -march=nocona -O2 -fomit-frame-pointer2017090620170904
7212e/v3gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2017090620170904
7220e/v3gcc -m32 -march=prescott -O2 -fomit-frame-pointer2017090620170904
7244e/v3gcc -m32 -march=nocona -O3 -fomit-frame-pointer2017090620170904
7256e/v3gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2017090620170904
7260e/v3gcc -m32 -march=core-avx-i -O -fomit-frame-pointer2017090620170904
7260e/v3gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2017090620170904
7260e/v3gcc -m32 -march=corei7-avx -O -fomit-frame-pointer2017090620170904
7260e/v3gcc -m32 -march=corei7 -O3 -fomit-frame-pointer2017090620170904
7280e/v3gcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017090620170904
7292e/v3gcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2017090620170904
7316e/v3gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2017090620170904
7324e/v3gcc -m32 -march=core2 -O3 -fomit-frame-pointer2017090620170904
7328e/v3gcc -m32 -march=k8 -O2 -fomit-frame-pointer2017090620170904
7360e/v3gcc -m32 -march=core2 -O2 -fomit-frame-pointer2017090620170904
7364e/v3gcc -m32 -march=corei7 -O2 -fomit-frame-pointer2017090620170904
7368e/v3gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2017090620170904
7372e/v3gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017090620170904
7376e/v3gcc -m32 -march=barcelona -O -fomit-frame-pointer2017090620170904
7396e/v3gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2017090620170904
7412e/v3gcc -m32 -march=nocona -O -fomit-frame-pointer2017090620170904
7420e/v3gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2017090620170904
7424e/v3gcc -m32 -march=corei7 -O -fomit-frame-pointer2017090620170904
7432e/v3gcc -m32 -march=prescott -O -fomit-frame-pointer2017090620170904
7436e/v3gcc -m32 -march=pentium4 -O -fomit-frame-pointer2017090620170904
7448e/v3gcc -m32 -march=barcelona -O2 -fomit-frame-pointer2017090620170904
7460e/v3gcc -m32 -march=k8 -O3 -fomit-frame-pointer2017090620170904
7488e/v3gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2017090620170904
7508e/v3gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2017090620170904
7508e/v3gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2017090620170904
7516e/v3gcc -m32 -march=barcelona -O3 -fomit-frame-pointer2017090620170904
7520e/v3gcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2017090620170904
7528e/v3gcc -m32 -march=core2 -O -fomit-frame-pointer2017090620170904
7536e/v3gcc -m32 -march=k8 -O -fomit-frame-pointer2017090620170904
7540e/v3gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2017090620170904
7548e/v3gcc -m32 -march=corei7 -Os -fomit-frame-pointer2017090620170904
7552e/v3gcc -m32 -march=nocona -Os -fomit-frame-pointer2017090620170904
7556e/v3gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2017090620170904
7556e/v3gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2017090620170904
7560e/v3gcc -m32 -march=core2 -Os -fomit-frame-pointer2017090620170904
7560e/v3gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017090620170904
7564e/v3gcc -m32 -march=prescott -Os -fomit-frame-pointer2017090620170904
7568e/v3gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2017090620170904
7580e/v3gcc -m32 -march=pentium-m -O -fomit-frame-pointer2017090620170904
7596e/v3gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2017090620170904
7604e/v3gcc -m32 -march=pentium4 -Os -fomit-frame-pointer2017090620170904
7916e/v3gcc -m32 -march=pentium-m -Os -fomit-frame-pointer2017090620170904
7936e/v3gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2017090620170904
7936e/v3gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2017090620170904
7976e/v3gcc -m32 -march=k8 -Os -fomit-frame-pointer2017090620170904
8004e/v3gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2017090620170904
8044e/v3gcc -m32 -march=barcelona -Os -fomit-frame-pointer2017090620170904
10752e/v3gcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2017090620170904
10772e/v3gcc -m32 -O3 -fomit-frame-pointer2017090620170904
10792e/v3gcc -funroll-loops -m32 -O3 -fomit-frame-pointer2017090620170904
10852e/v3gcc -funroll-loops -m32 -O2 -fomit-frame-pointer2017090620170904
10972e/v3gcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2017090620170904
10984e/v3gcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2017090620170904
10996e/v3gcc -m32 -march=athlon -O3 -fomit-frame-pointer2017090620170904
11016e/v3gcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2017090620170904
11036e/v3gcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2017090620170904
11040e/v3gcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2017090620170904
11048e/v3gcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2017090620170904
11068e/v3gcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2017090620170904
11076e/v3gcc -m32 -march=i486 -O3 -fomit-frame-pointer2017090620170904
11080e/v3gcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2017090620170904
11084e/v3gcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2017090620170904
11084e/v3gcc -m32 -march=i386 -O3 -fomit-frame-pointer2017090620170904
11084e/v3gcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2017090620170904
11096e/v3gcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2017090620170904
11108e/v3gcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2017090620170904
11124e/v3gcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2017090620170904
11132e/v3gcc -funroll-loops -m32 -O -fomit-frame-pointer2017090620170904
11132e/v3gcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2017090620170904
11132e/v3gcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2017090620170904
11148e/v3gcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2017090620170904
11164e/v3gcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2017090620170904
11168e/v3gcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2017090620170904
11172e/v3gcc -m32 -march=pentium -O3 -fomit-frame-pointer2017090620170904
11188e/v3gcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2017090620170904
11192e/v3gcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2017090620170904
11196e/v3gcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2017090620170904
11208e/v3gcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2017090620170904
11212e/v3gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2017090620170904
11236e/v3gcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2017090620170904
11240e/v3gcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2017090620170904
11260e/v3gcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2017090620170904
11268e/v3gcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2017090620170904
11268e/v3gcc -m32 -march=k6 -O3 -fomit-frame-pointer2017090620170904
11284e/v3gcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2017090620170904
11288e/v3gcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2017090620170904
11296e/v3gcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2017090620170904
11356e/v3gcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2017090620170904
11400e/v3gcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2017090620170904
11456e/v3gcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2017090620170904
11468e/v3gcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2017090620170904
12700e/v3gcc -m32 -march=athlon -O2 -fomit-frame-pointer2017090620170904
12764e/v3gcc -m32 -O2 -fomit-frame-pointer2017090620170904
13072e/v3gcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2017090620170904
13084e/v3gcc -m32 -march=pentium -O2 -fomit-frame-pointer2017090620170904
13172e/v3gcc -m32 -march=i386 -O2 -fomit-frame-pointer2017090620170904
13172e/v3gcc -m32 -march=i486 -O2 -fomit-frame-pointer2017090620170904
13192e/v3gcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2017090620170904
13212e/v3gcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2017090620170904
13276e/v3gcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2017090620170904
13300e/v3gcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2017090620170904
13324e/v3gcc -m32 -march=pentium -Os -fomit-frame-pointer2017090620170904
13340e/v3gcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2017090620170904
13452e/v3gcc -m32 -march=k6 -Os -fomit-frame-pointer2017090620170904
13460e/v3gcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2017090620170904
13464e/v3gcc -m32 -Os -fomit-frame-pointer2017090620170904
13468e/v3gcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2017090620170904
13472e/v3gcc -m32 -march=k6 -O2 -fomit-frame-pointer2017090620170904
13480e/v3gcc -m32 -march=k6-2 -Os -fomit-frame-pointer2017090620170904
13496e/v3gcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2017090620170904
13504e/v3gcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2017090620170904
13504e/v3gcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2017090620170904
13508e/v3gcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2017090620170904
13516e/v3gcc -m32 -march=pentium -O -fomit-frame-pointer2017090620170904
13524e/v3gcc -m32 -march=athlon -Os -fomit-frame-pointer2017090620170904
13552e/v3gcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2017090620170904
13564e/v3gcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2017090620170904
13584e/v3gcc -funroll-loops -m32 -Os -fomit-frame-pointer2017090620170904
13588e/v3gcc -m32 -march=i486 -O -fomit-frame-pointer2017090620170904
13596e/v3gcc -m32 -march=i386 -O -fomit-frame-pointer2017090620170904
13616e/v3gcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2017090620170904
13616e/v3gcc -m32 -march=k6-3 -Os -fomit-frame-pointer2017090620170904
13660e/v3gcc -m32 -march=i486 -Os -fomit-frame-pointer2017090620170904
13692e/v3gcc -m32 -march=i386 -Os -fomit-frame-pointer2017090620170904
13860e/v3gcc -m32 -march=athlon -O -fomit-frame-pointer2017090620170904
13872e/v3gcc -m32 -march=pentium2 -Os -fomit-frame-pointer2017090620170904
13880e/v3gcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2017090620170904
13900e/v3gcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2017090620170904
13908e/v3gcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2017090620170904
13964e/v3gcc -m32 -O -fomit-frame-pointer2017090620170904
14112e/v3gcc -m32 -march=pentiumpro -O -fomit-frame-pointer2017090620170904
14204e/v3gcc -m32 -march=pentium2 -O -fomit-frame-pointer2017090620170904
14276e/v3gcc -m32 -march=k6 -O -fomit-frame-pointer2017090620170904
14292e/v3gcc -m32 -march=k6-2 -O -fomit-frame-pointer2017090620170904
14312e/v3gcc -m32 -march=k6-3 -O -fomit-frame-pointer2017090620170904

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/benchmarking/supercop-20170904/supercop-data/hydra8/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/hydra8/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