Implementation notes: amd64, glyme, crypto_hash/essence512

Computer: glyme
Architecture: amd64
CPU ID: GenuineIntel-00020652-bfebfbff
SUPERCOP version: 201720170105
Operation: crypto_hash
Primitive: essence512
TimeImplementationCompilerBenchmark dateSUPERCOP version
55340gccgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020120170105
55428gccgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020120170105
55560gccgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020120170105
55712gccgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020120170105
55988gccgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020120170105
56020gccgcc -march=k8 -O3 -fomit-frame-pointer2017020120170105
60108gccgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020120170105
60268gccgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020120170105
60352gccgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020120170105
60584gccgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020120170105
60588gccgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020120170105
60984gccgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020120170105
60992gccgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020120170105
61604gccgcc -funroll-loops -O3 -fomit-frame-pointer2017020120170105
61608gccgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020120170105
61644gccgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020120170105
61880gccgcc -march=barcelona -O3 -fomit-frame-pointer2017020120170105
62028gccgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020120170105
63264gccgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020120170105
63356gccgcc -funroll-loops -O2 -fomit-frame-pointer2017020120170105
63356gccgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020120170105
63704gccgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020120170105
63712gccgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020120170105
63892gccgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020120170105
64552gccgcc -O3 -fomit-frame-pointer2017020120170105
64552gccgcc -m64 -O3 -fomit-frame-pointer2017020120170105
64584gccgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020120170105
65996gccgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020120170105
65996gccgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020120170105
67192gccgcc -march=barcelona -O2 -fomit-frame-pointer2017020120170105
67196gccgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020120170105
67244gccgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020120170105
67292gccgcc -O2 -fomit-frame-pointer2017020120170105
67808gccgcc -m64 -O2 -fomit-frame-pointer2017020120170105
67808gccgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020120170105
68280gccgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020120170105
68488gccgcc -march=k8 -O2 -fomit-frame-pointer2017020120170105
68928gccgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020120170105
69024gccgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020120170105
69108gccgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020120170105
70888gccgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020120170105
70964gccgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020120170105
71264gccgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020120170105
71268gccgcc -march=nocona -O3 -fomit-frame-pointer2017020120170105
71436gccgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020120170105
71544gccgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020120170105
73064gccgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020120170105
73068gccgcc -march=barcelona -Os -fomit-frame-pointer2017020120170105
74416gccgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020120170105
74440gccgcc -funroll-loops -Os -fomit-frame-pointer2017020120170105
74476gccgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020120170105
74520gccgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020120170105
74588gccgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020120170105
74836gccgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020120170105
75464gccgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020120170105
75840gccgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020120170105
75924gccgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020120170105
75988gccgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020120170105
75988gccgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020120170105
76104gccgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020120170105
76132gccgcc -funroll-loops -O -fomit-frame-pointer2017020120170105
76264gccgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020120170105
76740gccgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020120170105
76744gccgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020120170105
76824gccgcc -Os -fomit-frame-pointer2017020120170105
76824gccgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020120170105
76824gccgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020120170105
76828gccgcc -m64 -Os -fomit-frame-pointer2017020120170105
77040gccgcc -march=k8 -Os -fomit-frame-pointer2017020120170105
80560gccclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020120170105
80792gccclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020120170105
80812gccclang -O3 -fomit-frame-pointer -Qunused-arguments2017020120170105
80956gccclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020120170105
80968gccgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020120170105
80968gccgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020120170105
80972gccgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020120170105
81312gccclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020120170105
81340gccclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020120170105
84032gccgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020120170105
84072gccgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020120170105
84452gccgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020120170105
84456gccgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020120170105
84544gccgcc -march=nocona -O2 -fomit-frame-pointer2017020120170105
84572gccgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020120170105
85032gccgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020120170105
85280gccgcc -m64 -march=core2 -O -fomit-frame-pointer2017020120170105
85280gccgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020120170105
85280gccgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020120170105
86116gccgcc -m64 -march=nocona -O -fomit-frame-pointer2017020120170105
86116gccgcc -march=nocona -O -fomit-frame-pointer2017020120170105
86856gccgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020120170105
86864gccgcc -march=barcelona -O -fomit-frame-pointer2017020120170105
87408gccgcc -fno-schedule-insns -O -fomit-frame-pointer2017020120170105
87408gccgcc -m64 -O -fomit-frame-pointer2017020120170105
87420gccgcc -O -fomit-frame-pointer2017020120170105
87524gccgcc -m64 -march=k8 -O -fomit-frame-pointer2017020120170105
87524gccgcc -march=k8 -O -fomit-frame-pointer2017020120170105
87928gccgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020120170105
116508gccgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020120170105
116520gccgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020120170105
116568gccgcc -march=nocona -Os -fomit-frame-pointer2017020120170105
116692gccgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020120170105
247816gcccc2017020120170105
349420gccgcc2017020120170105
349464gccgcc -funroll-loops2017020120170105

Compiler output

Implementation: crypto_hash/essence512/gcc
Compiler: cc
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: 7, namely:
CompilerImplementations
cc gcc
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