Implementation notes: amd64, h5nano, crypto_hashblocks/sha512

Computer: h5nano
Architecture: amd64
CPU ID: CentaurHauls-000006f8-afc9fbff
SUPERCOP version: 20141014
Operation: crypto_hashblocks
Primitive: sha512
TimeImplementationCompilerBenchmark dateSUPERCOP version
28660refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014042820140425
28660refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014042820140425
28660refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014042820140425
28665refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014042820140425
28675refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014042820140425
28910refgcc -funroll-loops -O3 -fomit-frame-pointer2014042820140425
28910refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014042820140425
28910refgcc -m64 -march=k8 -O -fomit-frame-pointer2014042820140425
28915inplacegcc -O3 -fomit-frame-pointer2014042820140425
28915inplacegcc -m64 -O3 -fomit-frame-pointer2014042820140425
28915refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014042820140425
28935inplacegcc -fno-schedule-insns -O3 -fomit-frame-pointer2014042820140425
28935refgcc -march=barcelona -O -fomit-frame-pointer2014042820140425
28935refgcc -march=k8 -O -fomit-frame-pointer2014042820140425
28945refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014042820140425
28950refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014042820140425
28955refgcc -march=nocona -O3 -fomit-frame-pointer2014042820140425
28960refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014042820140425
28960inplacegcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014042820140425
28960inplacegcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014042820140425
28960inplacegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014042820140425
28965inplacegcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014042820140425
28970refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014042820140425
28995inplacegcc -m64 -march=core2 -O3 -fomit-frame-pointer2014042820140425
29030refgcc -O3 -fomit-frame-pointer2014042820140425
29030refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014042820140425
29030refgcc -m64 -O3 -fomit-frame-pointer2014042820140425
29050inplacegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014042820140425
29050inplacegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014042820140425
29050inplacegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014042820140425
29050refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014042820140425
29050refgcc -march=nocona -Os -fomit-frame-pointer2014042820140425
29055inplacegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014042820140425
29060inplacegcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014042820140425
29060refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014042820140425
29060refgcc -march=nocona -O2 -fomit-frame-pointer2014042820140425
29065refgcc -funroll-loops -O -fomit-frame-pointer2014042820140425
29065inplacegcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014042820140425
29065inplacegcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014042820140425
29065inplacegcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014042820140425
29065refgcc -march=barcelona -O2 -fomit-frame-pointer2014042820140425
29070refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014042820140425
29070refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014042820140425
29075refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014042820140425
29075inplacegcc -m64 -march=core2 -O2 -fomit-frame-pointer2014042820140425
29075inplacegcc -m64 -march=nocona -O2 -fomit-frame-pointer2014042820140425
29075inplacegcc -march=nocona -O2 -fomit-frame-pointer2014042820140425
29080refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014042820140425
29080refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014042820140425
29085refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014042820140425
29085refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014042820140425
29105refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014042820140425
29105refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014042820140425
29105refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014042820140425
29105refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014042820140425
29130inplacegcc -m64 -march=nocona -O3 -fomit-frame-pointer2014042820140425
29135refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014042820140425
29135refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014042820140425
29140refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014042820140425
29140inplacegcc -march=nocona -O3 -fomit-frame-pointer2014042820140425
29150refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014042820140425
29150refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014042820140425
29150refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014042820140425
29150refgcc -m64 -march=nocona -O -fomit-frame-pointer2014042820140425
29150refgcc -march=nocona -O -fomit-frame-pointer2014042820140425
29155refgcc -fno-schedule-insns -O -fomit-frame-pointer2014042820140425
29155refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014042820140425
29160refgcc -march=k8 -O2 -fomit-frame-pointer2014042820140425
29165refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014042820140425
29170refgcc -m64 -march=core2 -O -fomit-frame-pointer2014042820140425
29175refgcc -m64 -O -fomit-frame-pointer2014042820140425
29180refgcc -O -fomit-frame-pointer2014042820140425
29190inplacegcc -funroll-loops -O3 -fomit-frame-pointer2014042820140425
29190inplacegcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014042820140425
29190inplacegcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014042820140425
29195inplacegcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014042820140425
29195inplacegcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014042820140425
29215inplacegcc -O2 -fomit-frame-pointer2014042820140425
29215inplacegcc -fno-schedule-insns -O2 -fomit-frame-pointer2014042820140425
29215refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014042820140425
29215refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014042820140425
29215inplacegcc -m64 -O2 -fomit-frame-pointer2014042820140425
29215refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014042820140425
29215refgcc -march=barcelona -Os -fomit-frame-pointer2014042820140425
29240inplacegcc -m64 -march=k8 -O2 -fomit-frame-pointer2014042820140425
29240inplacegcc -march=k8 -O2 -fomit-frame-pointer2014042820140425
29245refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014042820140425
29245refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014042820140425
29245inplacegcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014042820140425
29245inplacegcc -march=barcelona -O2 -fomit-frame-pointer2014042820140425
29255refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014042820140425
29260refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014042820140425
29260refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014042820140425
29260refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014042820140425
29275inplacegcc -funroll-loops -O -fomit-frame-pointer2014042820140425
29280inplacegcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014042820140425
29280refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014042820140425
29285inplacegcc -funroll-loops -m64 -O -fomit-frame-pointer2014042820140425
29290inplacegcc -m64 -march=nocona -Os -fomit-frame-pointer2014042820140425
29300inplacegcc -march=nocona -Os -fomit-frame-pointer2014042820140425
29310inplacegcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014042820140425
29310inplacegcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014042820140425
29325inplacegcc -m64 -march=core2 -Os -fomit-frame-pointer2014042820140425
29325inplacegcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014042820140425
29325inplacegcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014042820140425
29325inplacegcc -m64 -march=corei7 -Os -fomit-frame-pointer2014042820140425
29330refgcc -Os -fomit-frame-pointer2014042820140425
29330refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014042820140425
29330refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014042820140425
29330refgcc -m64 -Os -fomit-frame-pointer2014042820140425
29330refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014042820140425
29340refgcc -funroll-loops -O2 -fomit-frame-pointer2014042820140425
29340refgcc -m64 -O2 -fomit-frame-pointer2014042820140425
29345inplacegcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014042820140425
29350refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014042820140425
29355refgcc -march=k8 -Os -fomit-frame-pointer2014042820140425
29360refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014042820140425
29365refgcc -O2 -fomit-frame-pointer2014042820140425
29365inplacegcc -O -fomit-frame-pointer2014042820140425
29365inplacegcc -m64 -O -fomit-frame-pointer2014042820140425
29365inplacegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014042820140425
29370inplacegcc -m64 -march=core2 -O -fomit-frame-pointer2014042820140425
29370inplacegcc -m64 -march=corei7 -O -fomit-frame-pointer2014042820140425
29380inplacegcc -m64 -march=nocona -O -fomit-frame-pointer2014042820140425
29385inplacegcc -m64 -march=barcelona -Os -fomit-frame-pointer2014042820140425
29385inplacegcc -march=nocona -O -fomit-frame-pointer2014042820140425
29390inplacegcc -march=barcelona -O -fomit-frame-pointer2014042820140425
29395inplacegcc -fno-schedule-insns -O -fomit-frame-pointer2014042820140425
29395inplacegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014042820140425
29395inplacegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014042820140425
29405inplacegcc -m64 -march=barcelona -O -fomit-frame-pointer2014042820140425
29410inplacegcc -march=barcelona -Os -fomit-frame-pointer2014042820140425
29415inplacegcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014042820140425
29420inplacegcc -fno-schedule-insns -Os -fomit-frame-pointer2014042820140425
29420inplacegcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014042820140425
29420inplacegcc -m64 -march=k8 -O -fomit-frame-pointer2014042820140425
29420inplacegcc -march=k8 -Os -fomit-frame-pointer2014042820140425
29425inplacegcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014042820140425
29430refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014042820140425
29430refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014042820140425
29440inplacegcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014042820140425
29445inplacegcc -m64 -Os -fomit-frame-pointer2014042820140425
29445inplacegcc -m64 -march=k8 -Os -fomit-frame-pointer2014042820140425
29445inplacegcc -march=k8 -O -fomit-frame-pointer2014042820140425
29465inplacegcc -Os -fomit-frame-pointer2014042820140425
29470inplacegcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014042820140425
29475inplacegcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014042820140425
29480inplacegcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014042820140425
29490inplacegcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014042820140425
29515inplacegcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014042820140425
29515inplacegcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014042820140425
29515refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014042820140425
29525refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014042820140425
29530inplacegcc -funroll-loops -O2 -fomit-frame-pointer2014042820140425
29605refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014042820140425
29605refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014042820140425
29630inplacegcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014042820140425
29630inplacegcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014042820140425
29650inplacegcc -funroll-loops -Os -fomit-frame-pointer2014042820140425
29650inplacegcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014042820140425
29650inplacegcc -funroll-loops -m64 -Os -fomit-frame-pointer2014042820140425
29660refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014042820140425
29660refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014042820140425
29680inplacegcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014042820140425
29680inplacegcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014042820140425
29685refgcc -funroll-loops -Os -fomit-frame-pointer2014042820140425
29685refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014042820140425
29685refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014042820140425
30250refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014042820140425
30250refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014042820140425
30300refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014042820140425
30320refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014042820140425
30415inplacegcc -march=barcelona -O3 -fomit-frame-pointer2014042820140425
30440inplacegcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014042820140425
30440inplacegcc -m64 -march=k8 -O3 -fomit-frame-pointer2014042820140425
30440inplacegcc -march=k8 -O3 -fomit-frame-pointer2014042820140425
30525inplacegcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014042820140425
30525inplacegcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014042820140425
30530inplacegcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014042820140425
30530inplacegcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014042820140425
30535refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014042820140425
30535refgcc -march=k8 -O3 -fomit-frame-pointer2014042820140425
30555refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014042820140425
30560refgcc -march=barcelona -O3 -fomit-frame-pointer2014042820140425
43100inplaceclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014062820140622
43140refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
43145inplaceclang -O3 -fomit-frame-pointer2014062820140622
43145refclang -O3 -fomit-frame-pointer2014062820140622
43145inplaceclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101420141014
43145refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101420141014
43145inplaceclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
43145refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014062820140622
43145inplaceclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014062820140622
43145refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014062820140622
45665inplacegcc2014042820140425
45780inplacegcc -funroll-loops2014042820140425
45920inplacecc2014042820140425
51605refgcc -funroll-loops2014042820140425
51635refcc2014042820140425
51750refgcc2014042820140425

Compiler output

Implementation: crypto_hashblocks/sha512/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/sha512/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/sha512/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/sha512/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/sha512/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