Implementation notes: amd64, h5nano, crypto_stream/cryptmtv3

Computer: h5nano
Architecture: amd64
CPU ID: CentaurHauls-000006f8-afc9fbff
SUPERCOP version: 20141014
Operation: crypto_stream
Primitive: cryptmtv3
TimeImplementationCompilerBenchmark dateSUPERCOP version
8840e/v3clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101620141014
8840e/v3clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101620141014
8840e/v3clang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014062920140622
8840e/v3clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014062920140622
8980e/v3clang -O3 -fomit-frame-pointer2014062920140622
9230e/v3gcc -funroll-loops -Os -fomit-frame-pointer2014051120140425
9230e/v3gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014051120140425
9230e/v3gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014051120140425
9230e/v3gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014051120140425
9245e/v3gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014051120140425
9245e/v3gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014051120140425
9310e/v3gcc -funroll-loops -m64 -Os -fomit-frame-pointer2014051120140425
9375e/v3gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014051120140425
9375e/v3gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014051120140425
9380e/v3gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014051120140425
9380e/v3gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014051120140425
9395e/v3gcc -m64 -march=core2 -O3 -fomit-frame-pointer2014051120140425
9395e/v3gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014051120140425
9395e/v3gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014051120140425
9395e/v3gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014051120140425
9395e/v3gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014051120140425
9400e/v3gcc -m64 -march=core2 -O2 -fomit-frame-pointer2014051120140425
9435e/v3gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014051120140425
9435e/v3gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014051120140425
9455e/v3gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014051120140425
9455e/v3gcc -march=barcelona -O2 -fomit-frame-pointer2014051120140425
9470e/v3gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014051120140425
9470e/v3gcc -march=barcelona -O3 -fomit-frame-pointer2014051120140425
9515e/v3gcc -funroll-loops -O2 -fomit-frame-pointer2014051120140425
9530e/v3gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014051120140425
9535e/v3gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014051120140425
9540e/v3gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014051120140425
9545e/v3gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014051120140425
9545e/v3gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014051120140425
9555e/v3gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014051120140425
9555e/v3gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014051120140425
9555e/v3gcc -m64 -march=nocona -O -fomit-frame-pointer2014051120140425
9555e/v3gcc -march=nocona -O -fomit-frame-pointer2014051120140425
9590e/v3gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014051120140425
9590e/v3gcc -m64 -march=core2 -O -fomit-frame-pointer2014051120140425
9590e/v3gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014051120140425
9595e/v3gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014051120140425
9605e/v3gcc -O -fomit-frame-pointer2014051120140425
9605e/v3gcc -fno-schedule-insns -O -fomit-frame-pointer2014051120140425
9605e/v3gcc -m64 -O -fomit-frame-pointer2014051120140425
9605e/v3gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014051120140425
9605e/v3gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014051120140425
9605e/v3gcc -m64 -march=corei7 -O -fomit-frame-pointer2014051120140425
9605e/v3gcc -m64 -march=k8 -O2 -fomit-frame-pointer2014051120140425
9605e/v3gcc -march=k8 -O2 -fomit-frame-pointer2014051120140425
9610e/v3gcc -m64 -march=nocona -O3 -fomit-frame-pointer2014051120140425
9610e/v3gcc -march=k8 -O3 -fomit-frame-pointer2014051120140425
9610e/v3gcc -march=nocona -O3 -fomit-frame-pointer2014051120140425
9615e/v3gcc -m64 -march=barcelona -O -fomit-frame-pointer2014051120140425
9615e/v3gcc -m64 -march=k8 -O -fomit-frame-pointer2014051120140425
9615e/v3gcc -march=barcelona -O -fomit-frame-pointer2014051120140425
9615e/v3gcc -march=k8 -O -fomit-frame-pointer2014051120140425
9620e/v3gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014051120140425
9625e/v3gcc -funroll-loops -O -fomit-frame-pointer2014051120140425
9625e/v3gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014051120140425
9625e/v3gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014051120140425
9625e/v3gcc -funroll-loops -m64 -O -fomit-frame-pointer2014051120140425
9625e/v3gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014051120140425
9625e/v3gcc -m64 -march=nocona -O2 -fomit-frame-pointer2014051120140425
9630e/v3gcc -O3 -fomit-frame-pointer2014051120140425
9630e/v3gcc -fno-schedule-insns -O3 -fomit-frame-pointer2014051120140425
9630e/v3gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014051120140425
9630e/v3gcc -m64 -O3 -fomit-frame-pointer2014051120140425
9630e/v3gcc -m64 -march=k8 -O3 -fomit-frame-pointer2014051120140425
9630e/v3gcc -march=nocona -O2 -fomit-frame-pointer2014051120140425
9635e/v3gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014051120140425
9640e/v3gcc -funroll-loops -O3 -fomit-frame-pointer2014051120140425
9640e/v3gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014051120140425
9650e/v3gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014051120140425
9655e/v3gcc -O2 -fomit-frame-pointer2014051120140425
9655e/v3gcc -m64 -O2 -fomit-frame-pointer2014051120140425
9670e/v3gcc -fno-schedule-insns -O2 -fomit-frame-pointer2014051120140425
9680e/v3gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014051120140425
9680e/v3gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014051120140425
9680e/v3gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014051120140425
9680e/v3gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014051120140425
9680e/v3gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014051120140425
9700e/v3gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014051120140425
9990e/v3gcc -m64 -march=barcelona -Os -fomit-frame-pointer2014051120140425
9990e/v3gcc -march=barcelona -Os -fomit-frame-pointer2014051120140425
10010e/v3gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014051120140425
10030e/v3gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014051120140425
10030e/v3gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014051120140425
10035e/v3gcc -Os -fomit-frame-pointer2014051120140425
10035e/v3gcc -fno-schedule-insns -Os -fomit-frame-pointer2014051120140425
10035e/v3gcc -m64 -Os -fomit-frame-pointer2014051120140425
10035e/v3gcc -m64 -march=k8 -Os -fomit-frame-pointer2014051120140425
10035e/v3gcc -march=k8 -Os -fomit-frame-pointer2014051120140425
10040e/v3gcc -m64 -march=core2 -Os -fomit-frame-pointer2014051120140425
10040e/v3gcc -m64 -march=corei7 -Os -fomit-frame-pointer2014051120140425
10160e/v3gcc -m64 -march=nocona -Os -fomit-frame-pointer2014051120140425
10160e/v3gcc -march=nocona -Os -fomit-frame-pointer2014051120140425
62590e/v3cc2014051120140425
62720e/v3gcc -funroll-loops2014051120140425
62795e/v3gcc2014051120140425

Compiler output

Implementation: crypto_stream/cryptmtv3/e/v3
Compiler: clang -O3 -fomit-frame-pointer
cryptmt-v3.c: In file included from cryptmt-v3.c:1:
cryptmt-v3.c: ./e/cryptmt-v3.c:189:18: warning: array index of '156' indexes past the end of an array (that 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.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer e/v3

Compiler output

Implementation: crypto_stream/cryptmtv3/e/v3
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
api.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
api.c: clang: warning: argument unused during compilation: '-mavx2'
api.c: clang: warning: argument unused during compilation: '-mpclmul'
cryptmt-v3.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
cryptmt-v3.c: clang: warning: argument unused during compilation: '-mavx2'
cryptmt-v3.c: clang: warning: argument unused during compilation: '-mpclmul'
cryptmt-v3.c: In file included from cryptmt-v3.c:1:
cryptmt-v3.c: ./e/cryptmt-v3.c:189:18: warning: array index of '156' indexes past the end of an array (that 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.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer e/v3

Compiler output

Implementation: crypto_stream/cryptmtv3/e/v3
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
api.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
api.c: clang: warning: argument unused during compilation: '-mavx2'
api.c: clang: warning: argument unused during compilation: '-mpclmul'
api.c: clang: warning: argument unused during compilation: '-fpolly'
api.c: clang: warning: argument unused during compilation: '-fvectorize'
api.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
api.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
cryptmt-v3.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
cryptmt-v3.c: clang: warning: argument unused during compilation: '-mavx2'
cryptmt-v3.c: clang: warning: argument unused during compilation: '-mpclmul'
cryptmt-v3.c: clang: warning: argument unused during compilation: '-fpolly'
cryptmt-v3.c: clang: warning: argument unused during compilation: '-fvectorize'
cryptmt-v3.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
cryptmt-v3.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
cryptmt-v3.c: In file included from cryptmt-v3.c:1:
cryptmt-v3.c: ./e/cryptmt-v3.c:189:18: warning: array index of '156' indexes past the end of an array (that 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.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer e/v3

Compiler output

Implementation: crypto_stream/cryptmtv3/e/v3
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
api.c: clang: warning: argument unused during compilation: '-mavx2'
cryptmt-v3.c: clang: warning: argument unused during compilation: '-mavx2'
cryptmt-v3.c: In file included from cryptmt-v3.c:1:
cryptmt-v3.c: ./e/cryptmt-v3.c:189:18: warning: array index of '156' indexes past the end of an array (that 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.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer e/v3

Compiler output

Implementation: crypto_stream/cryptmtv3/e/v3
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
api.c: clang: warning: argument unused during compilation: '-mavx2'
api.c: clang: warning: argument unused during compilation: '-fpolly'
api.c: clang: warning: argument unused during compilation: '-fvectorize'
api.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
api.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
cryptmt-v3.c: clang: warning: argument unused during compilation: '-mavx2'
cryptmt-v3.c: clang: warning: argument unused during compilation: '-fpolly'
cryptmt-v3.c: clang: warning: argument unused during compilation: '-fvectorize'
cryptmt-v3.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
cryptmt-v3.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
cryptmt-v3.c: In file included from cryptmt-v3.c:1:
cryptmt-v3.c: ./e/cryptmt-v3.c:189:18: warning: array index of '156' indexes past the end of an array (that 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.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer e/v3