Implementation notes: amd64, cryptothinkx, crypto_hash/essence256

Computer: cryptothinkx
Architecture: amd64
CPU ID: GenuineIntel-00040651-bfebfbff
SUPERCOP version: 20170105
Operation: crypto_hash
Primitive: essence256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
61527? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017013120170105
62112? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017013120170105
62571? ? ?? ? ?gccclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017013120170105
62682? ? ?? ? ?gccclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2017013120170105
62682? ? ?? ? ?gccclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017013120170105
62688? ? ?? ? ?gccclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2017013120170105
62730? ? ?? ? ?gccclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017013120170105
62733? ? ?? ? ?gccclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017013120170105
63243? ? ?? ? ?gccgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2017013120170105
63762? ? ?? ? ?gccgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017013120170105
63783? ? ?? ? ?gccgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017013120170105
65556? ? ?? ? ?gccgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017013120170105
65613? ? ?? ? ?gccgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017013120170105
65697? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017013120170105
65790? ? ?? ? ?gccgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017013120170105
65793? ? ?? ? ?gccgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017013120170105
65853? ? ?? ? ?gccgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017013120170105
65871? ? ?? ? ?gccgcc_-funroll-loops_-O3_-fomit-frame-pointer2017013120170105
65955? ? ?? ? ?gccgcc_-march=k8_-O3_-fomit-frame-pointer2017013120170105
65985? ? ?? ? ?gccgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017013120170105
66006? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017013120170105
66177? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017013120170105
66339? ? ?? ? ?gccgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017013120170105
66351? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017013120170105
66360? ? ?? ? ?gccgcc_-march=barcelona_-O3_-fomit-frame-pointer2017013120170105
66441? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017013120170105
66561? ? ?? ? ?gccgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017013120170105
66720? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017013120170105
66849? ? ?? ? ?gccgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017013120170105
66867? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017013120170105
66918? ? ?? ? ?gccgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017013120170105
66939? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017013120170105
67089? ? ?? ? ?gccgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017013120170105
67713? ? ?? ? ?gccgcc_-march=nocona_-O3_-fomit-frame-pointer2017013120170105
68469? ? ?? ? ?gccgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017013120170105
68481? ? ?? ? ?gccgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017013120170105
68982? ? ?? ? ?gccclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017013120170105
69141? ? ?? ? ?gccclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017013120170105
69513? ? ?? ? ?gccgcc_-m64_-O3_-fomit-frame-pointer2017013120170105
70035? ? ?? ? ?gccgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017013120170105
70374? ? ?? ? ?gccgcc_-funroll-loops_-O2_-fomit-frame-pointer2017013120170105
71283? ? ?? ? ?gccclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017013120170105
71397? ? ?? ? ?gccclang_-O3_-fomit-frame-pointer_-Qunused-arguments2017013120170105
71544? ? ?? ? ?gccgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017013120170105
72657? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017013120170105
73560? ? ?? ? ?gccgcc_-funroll-loops_-O_-fomit-frame-pointer2017013120170105
73593? ? ?? ? ?gccgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017013120170105
73596? ? ?? ? ?gccgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017013120170105
73677? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017013120170105
73689? ? ?? ? ?gccgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017013120170105
73772? ? ?? ? ?gccgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017013120170105
73836? ? ?? ? ?gccgcc_-O3_-fomit-frame-pointer2017013120170105
74352? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017013120170105
74652? ? ?? ? ?gccgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2017013120170105
76329? ? ?? ? ?gccgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017013120170105
76719? ? ?? ? ?gccgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017013120170105
76776? ? ?? ? ?gccgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2017013120170105
79650? ? ?? ? ?gccgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017013120170105
79959? ? ?? ? ?gccgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017013120170105
80976? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017013120170105
81228? ? ?? ? ?gccgcc_-m64_-O2_-fomit-frame-pointer2017013120170105
81399? ? ?? ? ?gccgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017013120170105
81582? ? ?? ? ?gccgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017013120170105
82899? ? ?? ? ?gccgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017013120170105
83272? ? ?? ? ?gccgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017013120170105
83649? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017013120170105
83700? ? ?? ? ?gccgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017013120170105
84762? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017013120170105
86865? ? ?? ? ?gccgcc_-O2_-fomit-frame-pointer2017013120170105
87036? ? ?? ? ?gccgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017013120170105
87453? ? ?? ? ?gccgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017013120170105
87594? ? ?? ? ?gccgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017013120170105
87909? ? ?? ? ?gccgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017013120170105
87930? ? ?? ? ?gccgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017013120170105
88071? ? ?? ? ?gccgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017013120170105
88944? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017013120170105
89004? ? ?? ? ?gccgcc_-march=k8_-O2_-fomit-frame-pointer2017013120170105
89487? ? ?? ? ?gccgcc_-march=nocona_-O2_-fomit-frame-pointer2017013120170105
89622? ? ?? ? ?gccgcc_-march=barcelona_-O2_-fomit-frame-pointer2017013120170105
89631? ? ?? ? ?gccgcc_-m64_-march=core2_-O_-fomit-frame-pointer2017013120170105
89739? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017013120170105
90288? ? ?? ? ?gccgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017013120170105
90928? ? ?? ? ?gccgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2017013120170105
91542? ? ?? ? ?gccgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017013120170105
92121? ? ?? ? ?gccgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017013120170105
92244? ? ?? ? ?gccgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017013120170105
92565? ? ?? ? ?gccgcc_-march=barcelona_-O_-fomit-frame-pointer2017013120170105
92820? ? ?? ? ?gccgcc_-m64_-O_-fomit-frame-pointer2017013120170105
93588? ? ?? ? ?gccgcc_-O_-fomit-frame-pointer2017013120170105
93804? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017013120170105
95454? ? ?? ? ?gccgcc_-march=nocona_-O_-fomit-frame-pointer2017013120170105
95940? ? ?? ? ?gccgcc_-m64_-march=k8_-O_-fomit-frame-pointer2017013120170105
96606? ? ?? ? ?gccgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2017013120170105
96828? ? ?? ? ?gccgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017013120170105
96900? ? ?? ? ?gccgcc_-march=nocona_-Os_-fomit-frame-pointer2017013120170105
96975? ? ?? ? ?gccgcc_-funroll-loops_-Os_-fomit-frame-pointer2017013120170105
97164? ? ?? ? ?gccgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017013120170105
97200? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017013120170105
97227? ? ?? ? ?gccgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017013120170105
97242? ? ?? ? ?gccgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017013120170105
98253? ? ?? ? ?gccgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017013120170105
99219? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017013120170105
99546? ? ?? ? ?gccgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017013120170105
100392? ? ?? ? ?gccgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017013120170105
100434? ? ?? ? ?gccgcc_-march=k8_-Os_-fomit-frame-pointer2017013120170105
101028? ? ?? ? ?gccgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017013120170105
103458? ? ?? ? ?gccgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017013120170105
103950? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017013120170105
103989? ? ?? ? ?gccgcc_-march=barcelona_-Os_-fomit-frame-pointer2017013120170105
104007? ? ?? ? ?gccgcc_-m64_-Os_-fomit-frame-pointer2017013120170105
104640? ? ?? ? ?gccgcc_-march=k8_-O_-fomit-frame-pointer2017013120170105
106292? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017013120170105
106467? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017013120170105
106560? ? ?? ? ?gccgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017013120170105
106862? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017013120170105
107361? ? ?? ? ?gccgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017013120170105
107478? ? ?? ? ?gccgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017013120170105
108504? ? ?? ? ?gccgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017013120170105
108816? ? ?? ? ?gccgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017013120170105
111700? ? ?? ? ?gccgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017013120170105
115230? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017013120170105
131208? ? ?? ? ?gccgcc_-Os_-fomit-frame-pointer2017013120170105
294903? ? ?? ? ?gccgcc2017013120170105
295686? ? ?? ? ?gcccc2017013120170105
297351? ? ?? ? ?gccgcc_-funroll-loops2017013120170105

Compiler output

Implementation: crypto_hash/essence256/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: 10, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments gcc
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments gcc
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments gcc
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments gcc
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments gcc
clang -O3 -fwrapv -mavx -maes -mpclmul -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