Implementation notes: amd64, cryptothinkx, crypto_hash/essence512

Computer: cryptothinkx
Architecture: amd64
CPU ID: GenuineIntel-00040651-bfebfbff
SUPERCOP version: 20170105
Operation: crypto_hash
Primitive: essence512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
46455? ? ?? ? ?gccgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017013120170105
46968? ? ?? ? ?gccgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017013120170105
47052? ? ?? ? ?gccgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017013120170105
47328? ? ?? ? ?gccgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017013120170105
47358? ? ?? ? ?gccclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017013120170105
47418? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017013120170105
47667? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017013120170105
47667? ? ?? ? ?gccgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017013120170105
47943? ? ?? ? ?gccgcc_-march=nocona_-O3_-fomit-frame-pointer2017013120170105
47985? ? ?? ? ?gccgcc_-funroll-loops_-O2_-fomit-frame-pointer2017013120170105
47988? ? ?? ? ?gccgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017013120170105
48072? ? ?? ? ?gccgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017013120170105
48324? ? ?? ? ?gccclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017013120170105
48327? ? ?? ? ?gccclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017013120170105
48351? ? ?? ? ?gccgcc_-march=barcelona_-O3_-fomit-frame-pointer2017013120170105
48513? ? ?? ? ?gccclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017013120170105
48585? ? ?? ? ?gccgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017013120170105
48594? ? ?? ? ?gccgcc_-funroll-loops_-O3_-fomit-frame-pointer2017013120170105
48621? ? ?? ? ?gccgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017013120170105
48675? ? ?? ? ?gccgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017013120170105
48684? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017013120170105
48708? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017013120170105
48753? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017013120170105
48885? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017013120170105
48915? ? ?? ? ?gccgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017013120170105
48945? ? ?? ? ?gccgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017013120170105
48951? ? ?? ? ?gccclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017013120170105
48996? ? ?? ? ?gccgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2017013120170105
49071? ? ?? ? ?gccgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017013120170105
49074? ? ?? ? ?gccgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017013120170105
49113? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017013120170105
49125? ? ?? ? ?gccgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017013120170105
49236? ? ?? ? ?gccgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017013120170105
49251? ? ?? ? ?gccgcc_-march=k8_-O3_-fomit-frame-pointer2017013120170105
49728? ? ?? ? ?gccclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2017013120170105
49743? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017013120170105
49755? ? ?? ? ?gccclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2017013120170105
49776? ? ?? ? ?gccclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017013120170105
49791? ? ?? ? ?gccclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017013120170105
49815? ? ?? ? ?gccclang_-O3_-fomit-frame-pointer_-Qunused-arguments2017013120170105
49974? ? ?? ? ?gccgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017013120170105
50016? ? ?? ? ?gccgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017013120170105
50061? ? ?? ? ?gccgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017013120170105
50064? ? ?? ? ?gccgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017013120170105
50076? ? ?? ? ?gccgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2017013120170105
50430? ? ?? ? ?gccgcc_-march=barcelona_-O2_-fomit-frame-pointer2017013120170105
51051? ? ?? ? ?gccgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017013120170105
51087? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017013120170105
51093? ? ?? ? ?gccgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017013120170105
51342? ? ?? ? ?gccgcc_-O3_-fomit-frame-pointer2017013120170105
51420? ? ?? ? ?gccgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017013120170105
51504? ? ?? ? ?gccgcc_-m64_-O2_-fomit-frame-pointer2017013120170105
51729? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017013120170105
51918? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017013120170105
52053? ? ?? ? ?gccgcc_-O2_-fomit-frame-pointer2017013120170105
52311? ? ?? ? ?gccgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017013120170105
52362? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017013120170105
52872? ? ?? ? ?gccgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2017013120170105
53067? ? ?? ? ?gccgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017013120170105
53409? ? ?? ? ?gccgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017013120170105
53586? ? ?? ? ?gccgcc_-march=k8_-O2_-fomit-frame-pointer2017013120170105
53604? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017013120170105
53613? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017013120170105
53805? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017013120170105
54474? ? ?? ? ?gccgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017013120170105
55029? ? ?? ? ?gccgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017013120170105
55572? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017013120170105
55611? ? ?? ? ?gccgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017013120170105
55956? ? ?? ? ?gccgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017013120170105
55972? ? ?? ? ?gccgcc_-m64_-O3_-fomit-frame-pointer2017013120170105
56169? ? ?? ? ?gccgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017013120170105
56288? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017013120170105
56547? ? ?? ? ?gccgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017013120170105
56559? ? ?? ? ?gccgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017013120170105
56559? ? ?? ? ?gccgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017013120170105
56586? ? ?? ? ?gccgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017013120170105
56694? ? ?? ? ?gccgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017013120170105
56829? ? ?? ? ?gccgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017013120170105
58182? ? ?? ? ?gccgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017013120170105
58392? ? ?? ? ?gccgcc_-Os_-fomit-frame-pointer2017013120170105
58398? ? ?? ? ?gccgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017013120170105
58410? ? ?? ? ?gccgcc_-funroll-loops_-Os_-fomit-frame-pointer2017013120170105
58419? ? ?? ? ?gccgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017013120170105
58440? ? ?? ? ?gccgcc_-march=nocona_-O_-fomit-frame-pointer2017013120170105
58554? ? ?? ? ?gccgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017013120170105
58830? ? ?? ? ?gccgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017013120170105
58842? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017013120170105
59055? ? ?? ? ?gccgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017013120170105
59160? ? ?? ? ?gccgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017013120170105
59226? ? ?? ? ?gccgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017013120170105
59277? ? ?? ? ?gccgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017013120170105
59296? ? ?? ? ?gccgcc_-funroll-loops_-O_-fomit-frame-pointer2017013120170105
59832? ? ?? ? ?gccgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017013120170105
59868? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017013120170105
59967? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017013120170105
59982? ? ?? ? ?gccgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2017013120170105
60111? ? ?? ? ?gccgcc_-march=k8_-Os_-fomit-frame-pointer2017013120170105
60387? ? ?? ? ?gccgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017013120170105
60669? ? ?? ? ?gccgcc_-march=nocona_-O2_-fomit-frame-pointer2017013120170105
61185? ? ?? ? ?gccgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017013120170105
61242? ? ?? ? ?gccgcc_-m64_-march=core2_-O_-fomit-frame-pointer2017013120170105
61404? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017013120170105
61425? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017013120170105
61674? ? ?? ? ?gccgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017013120170105
61743? ? ?? ? ?gccgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2017013120170105
61797? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017013120170105
62928? ? ?? ? ?gccgcc_-O_-fomit-frame-pointer2017013120170105
64152? ? ?? ? ?gccgcc_-march=barcelona_-O_-fomit-frame-pointer2017013120170105
64518? ? ?? ? ?gccgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017013120170105
64548? ? ?? ? ?gccgcc_-m64_-Os_-fomit-frame-pointer2017013120170105
65436? ? ?? ? ?gccgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017013120170105
67041? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017013120170105
67242? ? ?? ? ?gccgcc_-m64_-O_-fomit-frame-pointer2017013120170105
67260? ? ?? ? ?gccgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017013120170105
67446? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017013120170105
67980? ? ?? ? ?gccgcc_-m64_-march=k8_-O_-fomit-frame-pointer2017013120170105
69435? ? ?? ? ?gccgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017013120170105
69492? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017013120170105
70560? ? ?? ? ?gccgcc_-march=k8_-O_-fomit-frame-pointer2017013120170105
70588? ? ?? ? ?gccgcc_-march=barcelona_-Os_-fomit-frame-pointer2017013120170105
71760? ? ?? ? ?gccgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017013120170105
92795? ? ?? ? ?gccgcc_-march=nocona_-Os_-fomit-frame-pointer2017013120170105
197532? ? ?? ? ?gccgcc2017013120170105
216051? ? ?? ? ?gccgcc_-funroll-loops2017013120170105
217755? ? ?? ? ?gcccc2017013120170105

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: 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