Implementation notes: amd64, h5nano, crypto_hashblocks/sha256

Computer: h5nano
Architecture: amd64
CPU ID: CentaurHauls-000006f8-afc9fbff
SUPERCOP version: 20141014
Operation: crypto_hashblocks
Primitive: sha256
TimeImplementationCompilerBenchmark dateSUPERCOP version
41455refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014042820140425
41630refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014042820140425
41635refgcc -march=nocona -O3 -fomit-frame-pointer2014042820140425
41650refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014042820140425
41650refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014042820140425
41655refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014042820140425
41680refgcc -march=nocona -O2 -fomit-frame-pointer2014042820140425
41685refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014042820140425
41730inplacegcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014042820140425
41730inplacegcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014042820140425
41750refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014042820140425
41750refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014042820140425
41755refgcc -funroll-loops -O2 -fomit-frame-pointer2014042820140425
41755refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014042820140425
41770refgcc -funroll-loops -O3 -fomit-frame-pointer2014042820140425
41780refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014042820140425
41870inplacegcc -funroll-loops -O2 -fomit-frame-pointer2014042820140425
41870inplacegcc -funroll-loops -O3 -fomit-frame-pointer2014042820140425
41870inplacegcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014042820140425
41870inplacegcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014042820140425
41870inplacegcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014042820140425
41905inplacegcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014042820140425
41965inplacegcc -m64 -march=nocona -O2 -fomit-frame-pointer2014042820140425
41965inplacegcc -march=nocona -O2 -fomit-frame-pointer2014042820140425
41995refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014042820140425
41995refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014042820140425
42015inplacegcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014042820140425
42020inplacegcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014042820140425
42060refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014042820140425
42100refgcc -march=k8 -O2 -fomit-frame-pointer2014042820140425
42115inplacegcc -m64 -march=nocona -O3 -fomit-frame-pointer2014042820140425
42115inplacegcc -march=nocona -O3 -fomit-frame-pointer2014042820140425
42195refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014042820140425
42200inplacegcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014042820140425
42205inplacegcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014042820140425
42205inplacegcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014042820140425
42205inplacegcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014042820140425
42210refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014042820140425
42245inplacegcc -m64 -march=k8 -O2 -fomit-frame-pointer2014042820140425
42265refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014042820140425
42265refgcc -march=barcelona -O2 -fomit-frame-pointer2014042820140425
42265inplacegcc -march=k8 -O2 -fomit-frame-pointer2014042820140425
42365inplacegcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014042820140425
42380inplacegcc -march=barcelona -O2 -fomit-frame-pointer2014042820140425
42510inplacegcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014042820140425
42535inplacegcc -m64 -march=core2 -O2 -fomit-frame-pointer2014042820140425
42535inplacegcc -m64 -march=core2 -O3 -fomit-frame-pointer2014042820140425
42535inplacegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014042820140425
42535inplacegcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014042820140425
42535inplacegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014042820140425
42535inplacegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014042820140425
42535inplacegcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014042820140425
42535inplacegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014042820140425
42535inplacegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014042820140425
42610inplacegcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014042820140425
42610inplacegcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014042820140425
42625inplacegcc -m64 -march=nocona -Os -fomit-frame-pointer2014042820140425
42625inplacegcc -march=nocona -Os -fomit-frame-pointer2014042820140425
42660refgcc -O3 -fomit-frame-pointer2014042820140425
42660refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014042820140425
42660refgcc -m64 -O2 -fomit-frame-pointer2014042820140425
42660refgcc -m64 -O3 -fomit-frame-pointer2014042820140425
42675refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014042820140425
42675refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014042820140425
42675refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014042820140425
42675refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014042820140425
42680refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014042820140425
42695refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014042820140425
42695refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014042820140425
42695refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014042820140425
42695refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014042820140425
42695refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014042820140425
42730inplacegcc -O2 -fomit-frame-pointer2014042820140425
42730inplacegcc -O3 -fomit-frame-pointer2014042820140425
42730inplacegcc -m64 -O3 -fomit-frame-pointer2014042820140425
42765refgcc -O2 -fomit-frame-pointer2014042820140425
42765refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014042820140425
42765inplacegcc -fno-schedule-insns -O3 -fomit-frame-pointer2014042820140425
42765refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014042820140425
42765refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014042820140425
42765refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014042820140425
42765refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014042820140425
42775inplacegcc -fno-schedule-insns -O2 -fomit-frame-pointer2014042820140425
42775inplacegcc -m64 -O2 -fomit-frame-pointer2014042820140425
42785inplacegcc -m64 -march=barcelona -O -fomit-frame-pointer2014042820140425
42785inplacegcc -m64 -march=k8 -O -fomit-frame-pointer2014042820140425
42785inplacegcc -march=barcelona -O -fomit-frame-pointer2014042820140425
42785inplacegcc -march=k8 -O -fomit-frame-pointer2014042820140425
42790refgcc -m64 -march=k8 -O -fomit-frame-pointer2014042820140425
42790refgcc -march=k8 -O -fomit-frame-pointer2014042820140425
42795refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014042820140425
42795refgcc -march=barcelona -O -fomit-frame-pointer2014042820140425
42805inplacegcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014042820140425
42805inplacegcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014042820140425
42805inplacegcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014042820140425
42805inplacegcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014042820140425
42965refgcc -m64 -march=nocona -O -fomit-frame-pointer2014042820140425
42965refgcc -march=nocona -O -fomit-frame-pointer2014042820140425
42985refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014042820140425
42990refgcc -funroll-loops -Os -fomit-frame-pointer2014042820140425
42990refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014042820140425
42990refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014042820140425
42995refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014042820140425
43000refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014042820140425
43010refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014042820140425
43020refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014042820140425
43025refgcc -O -fomit-frame-pointer2014042820140425
43025refgcc -fno-schedule-insns -O -fomit-frame-pointer2014042820140425
43025refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014042820140425
43025refgcc -m64 -O -fomit-frame-pointer2014042820140425
43025refgcc -m64 -march=core2 -O -fomit-frame-pointer2014042820140425
43025refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014042820140425
43025refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014042820140425
43025refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014042820140425
43025refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014042820140425
43030refgcc -funroll-loops -O -fomit-frame-pointer2014042820140425
43115inplacegcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014042820140425
43115inplacegcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014042820140425
43135refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014042820140425
43135refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014042820140425
43195inplacegcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014042820140425
43195inplacegcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014042820140425
43200inplacegcc -funroll-loops -Os -fomit-frame-pointer2014042820140425
43200inplacegcc -funroll-loops -m64 -Os -fomit-frame-pointer2014042820140425
43200inplacegcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014042820140425
43205inplacegcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014042820140425
43280refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014042820140425
43280refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014042820140425
43280refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014042820140425
43280refgcc -march=nocona -Os -fomit-frame-pointer2014042820140425
43405inplacegcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014042820140425
43405inplacegcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014042820140425
43445inplacegcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014042820140425
43515refgcc -Os -fomit-frame-pointer2014042820140425
43515refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014042820140425
43515refgcc -m64 -Os -fomit-frame-pointer2014042820140425
43515refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014042820140425
43515refgcc -march=k8 -Os -fomit-frame-pointer2014042820140425
43545inplacegcc -O -fomit-frame-pointer2014042820140425
43545inplacegcc -fno-schedule-insns -O -fomit-frame-pointer2014042820140425
43545inplacegcc -funroll-loops -O -fomit-frame-pointer2014042820140425
43545inplacegcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014042820140425
43545inplacegcc -funroll-loops -m64 -O -fomit-frame-pointer2014042820140425
43545inplacegcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014042820140425
43545inplacegcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014042820140425
43545inplacegcc -m64 -O -fomit-frame-pointer2014042820140425
43545inplacegcc -m64 -march=core2 -O -fomit-frame-pointer2014042820140425
43545inplacegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014042820140425
43545inplacegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014042820140425
43545inplacegcc -m64 -march=corei7 -O -fomit-frame-pointer2014042820140425
43545inplacegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014042820140425
43545inplacegcc -m64 -march=nocona -O -fomit-frame-pointer2014042820140425
43545inplacegcc -march=nocona -O -fomit-frame-pointer2014042820140425
43550inplacegcc -m64 -march=core2 -Os -fomit-frame-pointer2014042820140425
43550inplacegcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014042820140425
43550inplacegcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014042820140425
43550inplacegcc -m64 -march=corei7 -Os -fomit-frame-pointer2014042820140425
43550inplacegcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014042820140425
43700inplacegcc -m64 -march=barcelona -Os -fomit-frame-pointer2014042820140425
43700inplacegcc -march=barcelona -Os -fomit-frame-pointer2014042820140425
43740refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014042820140425
43745refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014042820140425
43750refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014042820140425
43750refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014042820140425
43750refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014042820140425
43750refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014042820140425
43750refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014042820140425
43880inplacegcc -Os -fomit-frame-pointer2014042820140425
43880inplacegcc -fno-schedule-insns -Os -fomit-frame-pointer2014042820140425
43880inplacegcc -m64 -Os -fomit-frame-pointer2014042820140425
43880inplacegcc -m64 -march=k8 -Os -fomit-frame-pointer2014042820140425
43880inplacegcc -march=k8 -Os -fomit-frame-pointer2014042820140425
43915refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014042820140425
43925refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014042820140425
43925refgcc -march=barcelona -Os -fomit-frame-pointer2014042820140425
43935refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014042820140425
44115inplacegcc -m64 -march=k8 -O3 -fomit-frame-pointer2014042820140425
44115inplacegcc -march=k8 -O3 -fomit-frame-pointer2014042820140425
44190refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014042820140425
44190refgcc -march=barcelona -O3 -fomit-frame-pointer2014042820140425
44215refgcc -march=k8 -O3 -fomit-frame-pointer2014042820140425
44250inplacegcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014042820140425
44265inplacegcc -march=barcelona -O3 -fomit-frame-pointer2014042820140425
44300refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014042820140425
45700inplaceclang -O3 -fomit-frame-pointer2014062820140622
45700inplaceclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101420141014
45700inplaceclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014062820140622
45700inplaceclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014062820140622
46020inplaceclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
46580refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101420141014
46580refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
46605refclang -O3 -fomit-frame-pointer2014062820140622
46605refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014062820140622
46605refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014062820140622
69930inplacecc2014042820140425
69930inplacegcc2014042820140425
70095inplacegcc -funroll-loops2014042820140425
77305refcc2014042820140425
77305refgcc2014042820140425
77305refgcc -funroll-loops2014042820140425

Compiler output

Implementation: crypto_hashblocks/sha256/inplace
Compiler: clang -O3 -fomit-frame-pointer
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: 2, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer inplace ref

Compiler output

Implementation: crypto_hashblocks/sha256/inplace
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
blocks.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
blocks.c: clang: warning: argument unused during compilation: '-mavx2'
blocks.c: clang: warning: argument unused during compilation: '-mpclmul'
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: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer inplace ref

Compiler output

Implementation: crypto_hashblocks/sha256/inplace
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
blocks.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
blocks.c: clang: warning: argument unused during compilation: '-mavx2'
blocks.c: clang: warning: argument unused during compilation: '-mpclmul'
blocks.c: clang: warning: argument unused during compilation: '-fpolly'
blocks.c: clang: warning: argument unused during compilation: '-fvectorize'
blocks.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
blocks.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
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: 2, 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 inplace ref

Compiler output

Implementation: crypto_hashblocks/sha256/inplace
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
blocks.c: clang: warning: argument unused during compilation: '-mavx2'
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: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer inplace ref

Compiler output

Implementation: crypto_hashblocks/sha256/inplace
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
blocks.c: clang: warning: argument unused during compilation: '-mavx2'
blocks.c: clang: warning: argument unused during compilation: '-fpolly'
blocks.c: clang: warning: argument unused during compilation: '-fvectorize'
blocks.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
blocks.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
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: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer inplace ref