Implementation notes: amd64, sandy, crypto_stream/cryptmtv3

Computer: sandy
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20120908
Operation: crypto_stream
Primitive: cryptmtv3
TimeImplementationCompilerBenchmark dateSUPERCOP version
5992e/v3clang -O3 -mavx2012071220120709
6540e/v3clang -O32012071220120709
7164e/v3gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012081620120812
7176e/v3gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012081620120812
7184e/v3gcc -funroll-loops -O -fomit-frame-pointer2012081620120812
7184e/v3gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2012081620120812
7188e/v3gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012081620120812
7188e/v3gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2012081620120812
7192e/v3gcc -funroll-loops -m64 -O -fomit-frame-pointer2012081620120812
7204e/v3gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012081620120812
7212e/v3gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012081620120812
7212e/v3gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2012081620120812
7216e/v3gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012081620120812
7216e/v3gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2012081620120812
7220e/v3gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2012081620120812
7228e/v3gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012081620120812
7252e/v3gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012081620120812
7252e/v3gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012081620120812
7256e/v3gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012081620120812
7276e/v3gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012081620120812
7292e/v3gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2012081620120812
7296e/v3gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012081620120812
7300e/v3gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012081620120812
7300e/v3gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2012081620120812
7304e/v3gcc -funroll-loops -O2 -fomit-frame-pointer2012081620120812
7304e/v3gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012081620120812
7304e/v3gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2012081620120812
7304e/v3gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2012081620120812
7320e/v3gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2012081620120812
7328e/v3gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2012081620120812
7344e/v3gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2012081620120812
7352e/v3gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2012081620120812
7352e/v3gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2012081620120812
7356e/v3gcc -funroll-loops -O3 -fomit-frame-pointer2012081620120812
7400e/v3gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2012081620120812
7400e/v3gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2012081620120812
7412e/v3gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012081620120812
7492e/v3gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012081620120812
7528e/v3gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2012081620120812
7548e/v3gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012081620120812
7556e/v3gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2012081620120812
7576e/v3gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012081620120812
7584e/v3gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2012081620120812
7600e/v3gcc -m64 -march=core2 -O2 -fomit-frame-pointer2012081620120812
7616e/v3gcc -m64 -march=nocona -O2 -fomit-frame-pointer2012081620120812
7620e/v3gcc -march=nocona -O2 -fomit-frame-pointer2012081620120812
7628e/v3gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2012081620120812
7632e/v3gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2012081620120812
7632e/v3gcc -m64 -march=k8 -O3 -fomit-frame-pointer2012081620120812
7632e/v3gcc -march=barcelona -O2 -fomit-frame-pointer2012081620120812
7640e/v3gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2012081620120812
7640e/v3gcc -march=k8 -O3 -fomit-frame-pointer2012081620120812
7644e/v3gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2012081620120812
7648e/v3gcc -march=barcelona -O3 -fomit-frame-pointer2012081620120812
7652e/v3gcc -march=nocona -O3 -fomit-frame-pointer2012081620120812
7660e/v3gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012081620120812
7660e/v3gcc -m64 -march=nocona -O3 -fomit-frame-pointer2012081620120812
7660e/v3gcc -m64 -march=nocona -O -fomit-frame-pointer2012081620120812
7664e/v3gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012081620120812
7668e/v3gcc -m64 -march=core2 -O -fomit-frame-pointer2012081620120812
7668e/v3gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012081620120812
7668e/v3gcc -m64 -march=corei7 -O -fomit-frame-pointer2012081620120812
7668e/v3gcc -m64 -march=k8 -O -fomit-frame-pointer2012081620120812
7668e/v3gcc -march=nocona -O -fomit-frame-pointer2012081620120812
7672e/v3gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2012081620120812
7676e/v3gcc -m64 -O -fomit-frame-pointer2012081620120812
7680e/v3gcc -O -fomit-frame-pointer2012081620120812
7680e/v3gcc -m64 -march=barcelona -O -fomit-frame-pointer2012081620120812
7680e/v3gcc -march=barcelona -O -fomit-frame-pointer2012081620120812
7684e/v3gcc -m64 -march=core2 -O3 -fomit-frame-pointer2012081620120812
7684e/v3gcc -march=k8 -O -fomit-frame-pointer2012081620120812
7700e/v3gcc -fno-schedule-insns -O -fomit-frame-pointer2012081620120812
7724e/v3gcc -O2 -fomit-frame-pointer2012081620120812
7724e/v3gcc -fno-schedule-insns -O2 -fomit-frame-pointer2012081620120812
7772e/v3gcc -m64 -O2 -fomit-frame-pointer2012081620120812
7776e/v3gcc -O3 -fomit-frame-pointer2012081620120812
7836e/v3gcc -m64 -march=k8 -O2 -fomit-frame-pointer2012081620120812
7840e/v3gcc -m64 -O3 -fomit-frame-pointer2012081620120812
7840e/v3gcc -march=k8 -O2 -fomit-frame-pointer2012081620120812
7868e/v3gcc -fno-schedule-insns -O3 -fomit-frame-pointer2012081620120812
7956e/v3gcc -m64 -march=corei7 -Os -fomit-frame-pointer2012081620120812
7956e/v3gcc -march=barcelona -Os -fomit-frame-pointer2012081620120812
7960e/v3gcc -m64 -march=barcelona -Os -fomit-frame-pointer2012081620120812
7964e/v3gcc -funroll-loops -Os -fomit-frame-pointer2012081620120812
7964e/v3gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012081620120812
7964e/v3gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012081620120812
7988e/v3gcc -funroll-loops -m64 -Os -fomit-frame-pointer2012081620120812
7992e/v3gcc -m64 -march=nocona -Os -fomit-frame-pointer2012081620120812
8000e/v3gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012081620120812
8004e/v3gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012081620120812
8008e/v3gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012081620120812
8008e/v3gcc -march=nocona -Os -fomit-frame-pointer2012081620120812
8012e/v3gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012081620120812
8012e/v3gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012081620120812
8016e/v3gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012081620120812
8016e/v3gcc -m64 -march=k8 -Os -fomit-frame-pointer2012081620120812
8024e/v3gcc -m64 -march=core2 -Os -fomit-frame-pointer2012081620120812
8028e/v3gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012081620120812
8028e/v3gcc -march=k8 -Os -fomit-frame-pointer2012081620120812
8036e/v3gcc -fno-schedule-insns -Os -fomit-frame-pointer2012081620120812
8040e/v3gcc -m64 -Os -fomit-frame-pointer2012081620120812
8072e/v3gcc -Os -fomit-frame-pointer2012081620120812
49628e/v3cc2012081620120812
49748e/v3gcc2012081620120812
49796e/v3gcc -funroll-loops2012081620120812

Compiler output

Implementation: crypto_stream/cryptmtv3/e/v3
Compiler: clang -O3
cryptmt-v3.c: In file included from cryptmt-v3.c:1:
cryptmt-v3.c: ./e/cryptmt-v3.c:189:18: warning: array index 156 is past the end of the array (which contains 156 elements) [-Warray-bounds]
cryptmt-v3.c: do_recursion(ps->gt;sfmt[N], ps->gt;sfmt[POS1], ps->gt;sfmt[N - 1]);
cryptmt-v3.c: ^ ~
cryptmt-v3.c: ./e/cryptmt-v3.c:25:5: note: array 'sfmt' declared here
cryptmt-v3.c: u32 sfmt[N][4];
cryptmt-v3.c: ^
cryptmt-v3.c: ./e/cryptmt-v3.c:403:27: warning: argument to 'sizeof' in 'memset' call is the same expression as the destination; did you mean to dereference it? [-Wsizeof-pointer-memaccess]
cryptmt-v3.c: memset(ctx, 0, sizeof(ctx));
cryptmt-v3.c: ~~~ ^~~
cryptmt-v3.c: 2 warnings generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 e/v3
clang -O3 -mavx e/v3