Implementation notes: amd64, h4e350, crypto_stream/cryptmtv3

Computer: h4e350
Architecture: amd64
CPU ID: AuthenticAMD-00500f10-178bfbff
SUPERCOP version: 20141014
Operation: crypto_stream
Primitive: cryptmtv3
TimeImplementationCompilerBenchmark dateSUPERCOP version
11703e/v3clang -O3 -fomit-frame-pointer2014071320140622
12477e/v3gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014060520140525
12477e/v3gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014060520140525
12477e/v3gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014060520140525
12486e/v3gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014060520140525
12510e/v3gcc -fno-schedule-insns -O -fomit-frame-pointer2014060520140525
12513e/v3gcc -funroll-loops -O -fomit-frame-pointer2014060520140525
12513e/v3gcc -funroll-loops -m64 -O -fomit-frame-pointer2014060520140525
12516e/v3gcc -O -fomit-frame-pointer2014060520140525
12516e/v3gcc -m64 -march=barcelona -O -fomit-frame-pointer2014060520140525
12516e/v3gcc -m64 -march=core2 -O -fomit-frame-pointer2014060520140525
12516e/v3gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014060520140525
12516e/v3gcc -march=barcelona -O -fomit-frame-pointer2014060520140525
12519e/v3gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014060520140525
12519e/v3gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014060520140525
12519e/v3gcc -march=barcelona -O3 -fomit-frame-pointer2014060520140525
12522e/v3gcc -m64 -march=corei7 -O -fomit-frame-pointer2014060520140525
12528e/v3gcc -m64 -O -fomit-frame-pointer2014060520140525
12528e/v3gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014060520140525
12531e/v3gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014060520140525
12531e/v3gcc -m64 -march=k8 -O3 -fomit-frame-pointer2014060520140525
12534e/v3gcc -m64 -march=k8 -O -fomit-frame-pointer2014060520140525
12537e/v3gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014060520140525
12543e/v3gcc -m64 -O3 -fomit-frame-pointer2014060520140525
12543e/v3gcc -m64 -march=nocona -O -fomit-frame-pointer2014060520140525
12549e/v3gcc -march=k8 -O3 -fomit-frame-pointer2014060520140525
12549e/v3gcc -march=k8 -O -fomit-frame-pointer2014060520140525
12552e/v3gcc -O3 -fomit-frame-pointer2014060520140525
12555e/v3gcc -march=nocona -O -fomit-frame-pointer2014060520140525
12573e/v3gcc -O2 -fomit-frame-pointer2014060520140525
12573e/v3gcc -fno-schedule-insns -O2 -fomit-frame-pointer2014060520140525
12576e/v3gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014060520140525
12579e/v3gcc -m64 -O2 -fomit-frame-pointer2014060520140525
12591e/v3gcc -fno-schedule-insns -O3 -fomit-frame-pointer2014060520140525
12606e/v3gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014060520140525
12606e/v3gcc -march=barcelona -O2 -fomit-frame-pointer2014060520140525
12627e/v3gcc -m64 -march=k8 -O2 -fomit-frame-pointer2014060520140525
12630e/v3gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014060520140525
12636e/v3gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014060520140525
12645e/v3gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014060520140525
12645e/v3gcc -m64 -march=nocona -O3 -fomit-frame-pointer2014060520140525
12648e/v3gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014060520140525
12660e/v3gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014060520140525
12660e/v3gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014060520140525
12660e/v3gcc -march=nocona -O3 -fomit-frame-pointer2014060520140525
12669e/v3gcc -march=k8 -O2 -fomit-frame-pointer2014060520140525
12675e/v3gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014060520140525
12675e/v3gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014060520140525
12681e/v3gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014060520140525
12681e/v3gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014060520140525
12684e/v3gcc -funroll-loops -O3 -fomit-frame-pointer2014060520140525
12687e/v3gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014060520140525
12693e/v3gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014060520140525
12693e/v3gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014060520140525
12696e/v3gcc -funroll-loops -O2 -fomit-frame-pointer2014060520140525
12699e/v3gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014060520140525
12702e/v3gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014060520140525
12705e/v3gcc -march=nocona -O2 -fomit-frame-pointer2014060520140525
12708e/v3gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014060520140525
12711e/v3gcc -m64 -march=nocona -O2 -fomit-frame-pointer2014060520140525
12717e/v3gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014060520140525
12717e/v3gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014060520140525
12720e/v3gcc -m64 -march=core2 -O3 -fomit-frame-pointer2014060520140525
12762e/v3gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014060520140525
12762e/v3gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014060520140525
12768e/v3gcc -m64 -march=core2 -O2 -fomit-frame-pointer2014060520140525
12786e/v3gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014060520140525
12825e/v3clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101520141014
12825e/v3clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101520141014
12834e/v3clang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014071320140622
12834e/v3gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014060520140525
12834e/v3gcc -funroll-loops -m64 -Os -fomit-frame-pointer2014060520140525
12846e/v3gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014060520140525
12849e/v3gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014060520140525
12867e/v3clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014071320140622
12870e/v3gcc -funroll-loops -Os -fomit-frame-pointer2014060520140525
12888e/v3gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014060520140525
12888e/v3gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014060520140525
13086e/v3gcc -m64 -march=barcelona -Os -fomit-frame-pointer2014060520140525
13104e/v3gcc -march=barcelona -Os -fomit-frame-pointer2014060520140525
13248e/v3gcc -m64 -Os -fomit-frame-pointer2014060520140525
13248e/v3gcc -m64 -march=k8 -Os -fomit-frame-pointer2014060520140525
13248e/v3gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014060520140525
13254e/v3gcc -fno-schedule-insns -Os -fomit-frame-pointer2014060520140525
13257e/v3gcc -Os -fomit-frame-pointer2014060520140525
13257e/v3gcc -march=k8 -Os -fomit-frame-pointer2014060520140525
13395e/v3gcc -m64 -march=nocona -Os -fomit-frame-pointer2014060520140525
13395e/v3gcc -march=nocona -Os -fomit-frame-pointer2014060520140525
13398e/v3gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014060520140525
13398e/v3gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014060520140525
13536e/v3gcc -m64 -march=core2 -Os -fomit-frame-pointer2014060520140525
13536e/v3gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014060520140525
13536e/v3gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014060520140525
13536e/v3gcc -m64 -march=corei7 -Os -fomit-frame-pointer2014060520140525
139938e/v3gcc -funroll-loops2014060520140525
139974e/v3cc2014060520140525
140121e/v3gcc2014060520140525

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