Implementation notes: amd64, hydra1, crypto_hash/essence512

Computer: hydra1
Architecture: amd64
CPU ID: AuthenticAMD-00100fa0-178bfbff
SUPERCOP version: 20161220
Operation: crypto_hash
Primitive: essence512
TimeImplementationCompilerBenchmark dateSUPERCOP version
54629gccgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016101120161009
54990gccgcc -march=k8 -O3 -fomit-frame-pointer2016101120161009
55697gccgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016101120161009
55882gccgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016101120161009
57285gccgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016101120161009
58009gccgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016101120161009
62125gccgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016101120161009
62192gccgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016101120161009
62241gccgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016101120161009
62258gccgcc -march=barcelona -O3 -fomit-frame-pointer2016101120161009
63053gccgcc -funroll-loops -O2 -fomit-frame-pointer2016101120161009
63057gccgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016101120161009
63058gccgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016101120161009
63222gccgcc -funroll-loops -O3 -fomit-frame-pointer2016101120161009
63413gccgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016101120161009
64288gccgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016101120161009
64445gccgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016101120161009
64558gccgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016101120161009
66155gccgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016101120161009
66224gccgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016101120161009
68717gccgcc -m64 -O3 -fomit-frame-pointer2016101120161009
68731gccgcc -O3 -fomit-frame-pointer2016101120161009
68789gccgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016101120161009
71776gccgcc -m64 -O2 -fomit-frame-pointer2016101120161009
72165gccgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016101120161009
72373gccgcc -march=k8 -O2 -fomit-frame-pointer2016101120161009
72458gccgcc -O2 -fomit-frame-pointer2016101120161009
72624gccgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016101120161009
72824gccgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016101120161009
72854gccgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016101120161009
73126gccgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016101120161009
73418gccgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016101120161009
73434gccgcc -march=barcelona -O2 -fomit-frame-pointer2016101120161009
73965gccclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101120161009
74003gccclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101120161009
74069gccclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101120161009
74117gccclang -O3 -fomit-frame-pointer -Qunused-arguments2016101120161009
74520gccgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016101120161009
74675gccgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016101120161009
74763gccgcc -march=nocona -O3 -fomit-frame-pointer2016101120161009
74829gccgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016101120161009
75014gccgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016101120161009
75053gccclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016101120161009
75081gccgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016101120161009
75173gccclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016101120161009
75198gccgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016101120161009
75237gccgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016101120161009
75237gccgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016101120161009
77246gccgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016101120161009
77299gccgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016101120161009
77856gccgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016101120161009
77987gccgcc -funroll-loops -Os -fomit-frame-pointer2016101120161009
77996gccgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016101120161009
78807gccgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016101120161009
78918gccgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016101120161009
79141gccgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016101120161009
79148gccgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016101120161009
79304gccgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016101120161009
80914gccgcc -funroll-loops -O -fomit-frame-pointer2016101120161009
81002gccgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016101120161009
81051gccgcc -funroll-loops -m64 -O -fomit-frame-pointer2016101120161009
81582gccgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016101120161009
81584gccgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016101120161009
81609gccgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016101120161009
81733gccgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016101120161009
84478gccgcc -m64 -march=k8 -Os -fomit-frame-pointer2016101120161009
84741gccgcc -fno-schedule-insns -Os -fomit-frame-pointer2016101120161009
85239gccgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016101120161009
85306gccgcc -m64 -Os -fomit-frame-pointer2016101120161009
85462gccgcc -Os -fomit-frame-pointer2016101120161009
85818gccgcc -m64 -march=core2 -Os -fomit-frame-pointer2016101120161009
85829gccgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016101120161009
87336gccgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016101120161009
87339gccgcc -march=barcelona -Os -fomit-frame-pointer2016101120161009
87557gccgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016101120161009
88232gccgcc -m64 -march=nocona -O -fomit-frame-pointer2016101120161009
88261gccgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016101120161009
88813gccgcc -march=nocona -O2 -fomit-frame-pointer2016101120161009
89208gccgcc -march=nocona -O -fomit-frame-pointer2016101120161009
90364gccgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016101120161009
90412gccgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016101120161009
90862gccgcc -march=nocona -Os -fomit-frame-pointer2016101120161009
90869gccgcc -m64 -march=nocona -Os -fomit-frame-pointer2016101120161009
91360gccgcc -march=k8 -Os -fomit-frame-pointer2016101120161009
92670gccgcc -O -fomit-frame-pointer2016101120161009
92686gccgcc -m64 -O -fomit-frame-pointer2016101120161009
92747gccgcc -fno-schedule-insns -O -fomit-frame-pointer2016101120161009
94482gccgcc -m64 -march=k8 -O -fomit-frame-pointer2016101120161009
94509gccgcc -march=k8 -O -fomit-frame-pointer2016101120161009
94727gccgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016101120161009
94864gccgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016101120161009
94883gccgcc -m64 -march=barcelona -O -fomit-frame-pointer2016101120161009
94893gccgcc -march=barcelona -O -fomit-frame-pointer2016101120161009
96568gccgcc -m64 -march=corei7 -O -fomit-frame-pointer2016101120161009
97101gccgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016101120161009
97845gccgcc -m64 -march=core2 -O -fomit-frame-pointer2016101120161009
97944gccgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016101120161009
97973gccgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016101120161009
380330gccgcc2016101120161009
380389gccgcc -funroll-loops2016101120161009
380442gcccc2016101120161009

Test failure

Implementation: crypto_hash/essence512/gcc
Compiler: gcc -m64 -march=core2 -O3 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -m64 -march=core2 -O3 -fomit-frame-pointer gcc

Compiler output

Implementation: crypto_hash/essence512/gcc
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
essence_L_tables.c: In file included from essence_L_tables.c:12:
essence_L_tables.c: ./essence_api.h:13:9: warning: '_ESSENCE_API_H_' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
essence_L_tables.c: #ifndef _ESSENCE_API_H_
essence_L_tables.c: ^~~~~~~~~~~~~~~
essence_L_tables.c: ./essence_api.h:14:9: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
essence_L_tables.c: #define _ESSENCE_H_API_
essence_L_tables.c: ^~~~~~~~~~~~~~~
essence_L_tables.c: _ESSENCE_API_H_
essence_L_tables.c: 1 warning generated.
essence_api.c: In file included from essence_api.c:11:
essence_api.c: In file included from ./essence.h:11:
essence_api.c: ./essence_api.h:13:9: warning: '_ESSENCE_API_H_' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
essence_api.c: #ifndef _ESSENCE_API_H_
essence_api.c: ^~~~~~~~~~~~~~~
essence_api.c: ./essence_api.h:14:9: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
essence_api.c: #define _ESSENCE_H_API_
essence_api.c: ^~~~~~~~~~~~~~~
essence_api.c: _ESSENCE_API_H_
essence_api.c: 1 warning generated.
essence_compress_256.c: In file included from essence_compress_256.c:11:
essence_compress_256.c: In file included from ./essence.h:11:
essence_compress_256.c: ./essence_api.h:13:9: warning: '_ESSENCE_API_H_' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
essence_compress_256.c: #ifndef _ESSENCE_API_H_
essence_compress_256.c: ^~~~~~~~~~~~~~~
essence_compress_256.c: ./essence_api.h:14:9: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
essence_compress_256.c: #define _ESSENCE_H_API_
essence_compress_256.c: ^~~~~~~~~~~~~~~
essence_compress_256.c: _ESSENCE_API_H_
essence_compress_256.c: 1 warning generated.
essence_compress_256_dual.c: In file included from essence_compress_256_dual.c:11:
essence_compress_256_dual.c: In file included from ./essence.h:11:
essence_compress_256_dual.c: ./essence_api.h:13:9: warning: '_ESSENCE_API_H_' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
essence_compress_256_dual.c: #ifndef _ESSENCE_API_H_
essence_compress_256_dual.c: ^~~~~~~~~~~~~~~
essence_compress_256_dual.c: ./essence_api.h:14:9: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
essence_compress_256_dual.c: #define _ESSENCE_H_API_
essence_compress_256_dual.c: ^~~~~~~~~~~~~~~
essence_compress_256_dual.c: _ESSENCE_API_H_
essence_compress_256_dual.c: 1 warning generated.
essence_compress_512.c: In file included from essence_compress_512.c:10:
essence_compress_512.c: In file included from ./essence.h:11:
essence_compress_512.c: ./essence_api.h:13:9: warning: '_ESSENCE_API_H_' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
essence_compress_512.c: #ifndef _ESSENCE_API_H_
essence_compress_512.c: ^~~~~~~~~~~~~~~
essence_compress_512.c: ./essence_api.h:14:9: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
essence_compress_512.c: #define _ESSENCE_H_API_
essence_compress_512.c: ^~~~~~~~~~~~~~~
essence_compress_512.c: _ESSENCE_API_H_
essence_compress_512.c: 1 warning generated.
hash.c: In file included from hash.c:2:
hash.c: ./essence_api.h:13:9: warning: '_ESSENCE_API_H_' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
hash.c: #ifndef _ESSENCE_API_H_
hash.c: ^~~~~~~~~~~~~~~
hash.c: ./essence_api.h:14:9: note: '_ESSENCE_H_API_' is defined here; did you mean '_ESSENCE_API_H_'?
hash.c: #define _ESSENCE_H_API_
hash.c: ^~~~~~~~~~~~~~~
hash.c: _ESSENCE_API_H_
hash.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments gcc
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments gcc
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments gcc
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments gcc
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments gcc
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments gcc