Implementation notes: amd64, cryptothinkx, crypto_hash/essence384

Computer: cryptothinkx
Architecture: amd64
CPU ID: GenuineIntel-00040651-bfebfbff
SUPERCOP version: 20170105
Operation: crypto_hash
Primitive: essence384
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
46254? ? ?? ? ?gccgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017013120170105
46464? ? ?? ? ?gccgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017013120170105
46809? ? ?? ? ?gccgcc_-O3_-fomit-frame-pointer2017013120170105
46977? ? ?? ? ?gccgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017013120170105
47139? ? ?? ? ?gccgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017013120170105
47157? ? ?? ? ?gccgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017013120170105
47304? ? ?? ? ?gccgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017013120170105
47532? ? ?? ? ?gccgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017013120170105
47832? ? ?? ? ?gccgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017013120170105
47943? ? ?? ? ?gccgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017013120170105
47946? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017013120170105
47949? ? ?? ? ?gccgcc_-funroll-loops_-O2_-fomit-frame-pointer2017013120170105
48036? ? ?? ? ?gccgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017013120170105
48195? ? ?? ? ?gccgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017013120170105
48282? ? ?? ? ?gccgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017013120170105
48327? ? ?? ? ?gccclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017013120170105
48423? ? ?? ? ?gccgcc_-march=barcelona_-O3_-fomit-frame-pointer2017013120170105
48483? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017013120170105
48498? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017013120170105
48621? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017013120170105
48627? ? ?? ? ?gccgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017013120170105
48681? ? ?? ? ?gccclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017013120170105
48696? ? ?? ? ?gccgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017013120170105
48798? ? ?? ? ?gccclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2017013120170105
48843? ? ?? ? ?gccclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017013120170105
48849? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017013120170105
48870? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017013120170105
48921? ? ?? ? ?gccclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2017013120170105
48924? ? ?? ? ?gccgcc_-march=k8_-O3_-fomit-frame-pointer2017013120170105
49188? ? ?? ? ?gccgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2017013120170105
49257? ? ?? ? ?gccgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017013120170105
49272? ? ?? ? ?gccclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017013120170105
49320? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017013120170105
49368? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017013120170105
49515? ? ?? ? ?gccgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017013120170105
49677? ? ?? ? ?gccgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017013120170105
49686? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017013120170105
49968? ? ?? ? ?gccgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017013120170105
49983? ? ?? ? ?gccgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017013120170105
50049? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017013120170105
50226? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017013120170105
50289? ? ?? ? ?gccgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2017013120170105
50544? ? ?? ? ?gccclang_-O3_-fomit-frame-pointer_-Qunused-arguments2017013120170105
50931? ? ?? ? ?gccgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017013120170105
51003? ? ?? ? ?gccgcc_-funroll-loops_-O_-fomit-frame-pointer2017013120170105
51024? ? ?? ? ?gccgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017013120170105
51042? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017013120170105
51150? ? ?? ? ?gccgcc_-m64_-O3_-fomit-frame-pointer2017013120170105
51447? ? ?? ? ?gccgcc_-m64_-O2_-fomit-frame-pointer2017013120170105
51714? ? ?? ? ?gccgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017013120170105
51843? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017013120170105
51957? ? ?? ? ?gccgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017013120170105
52437? ? ?? ? ?gccgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017013120170105
52848? ? ?? ? ?gccgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017013120170105
52986? ? ?? ? ?gccclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017013120170105
53022? ? ?? ? ?gccgcc_-march=nocona_-O3_-fomit-frame-pointer2017013120170105
53088? ? ?? ? ?gccclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017013120170105
53475? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017013120170105
53799? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017013120170105
53967? ? ?? ? ?gccgcc_-O2_-fomit-frame-pointer2017013120170105
54429? ? ?? ? ?gccgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017013120170105
54543? ? ?? ? ?gccgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017013120170105
54792? ? ?? ? ?gccclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017013120170105
54888? ? ?? ? ?gccgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017013120170105
54957? ? ?? ? ?gccgcc_-march=barcelona_-O2_-fomit-frame-pointer2017013120170105
55068? ? ?? ? ?gccgcc_-march=nocona_-O2_-fomit-frame-pointer2017013120170105
55965? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017013120170105
56301? ? ?? ? ?gccgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017013120170105
56367? ? ?? ? ?gccgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2017013120170105
56451? ? ?? ? ?gccgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017013120170105
56541? ? ?? ? ?gccgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017013120170105
56556? ? ?? ? ?gccgcc_-m64_-Os_-fomit-frame-pointer2017013120170105
56589? ? ?? ? ?gccgcc_-funroll-loops_-Os_-fomit-frame-pointer2017013120170105
56601? ? ?? ? ?gccgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017013120170105
56649? ? ?? ? ?gccgcc_-m64_-O_-fomit-frame-pointer2017013120170105
56661? ? ?? ? ?gccgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2017013120170105
56835? ? ?? ? ?gccgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017013120170105
56895? ? ?? ? ?gccgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017013120170105
56973? ? ?? ? ?gccgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017013120170105
57147? ? ?? ? ?gccgcc_-march=k8_-O2_-fomit-frame-pointer2017013120170105
57489? ? ?? ? ?gccgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017013120170105
57828? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017013120170105
57930? ? ?? ? ?gccgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017013120170105
58416? ? ?? ? ?gccgcc_-march=k8_-Os_-fomit-frame-pointer2017013120170105
58512? ? ?? ? ?gccgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017013120170105
59142? ? ?? ? ?gccgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017013120170105
59208? ? ?? ? ?gccgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017013120170105
59247? ? ?? ? ?gccgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017013120170105
59276? ? ?? ? ?gccgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017013120170105
59388? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017013120170105
59640? ? ?? ? ?gccgcc_-march=barcelona_-O_-fomit-frame-pointer2017013120170105
59811? ? ?? ? ?gccgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017013120170105
59871? ? ?? ? ?gccgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017013120170105
59892? ? ?? ? ?gccgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2017013120170105
59892? ? ?? ? ?gccgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017013120170105
59904? ? ?? ? ?gccgcc_-O_-fomit-frame-pointer2017013120170105
60456? ? ?? ? ?gccgcc_-march=nocona_-O_-fomit-frame-pointer2017013120170105
60549? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017013120170105
60555? ? ?? ? ?gccgcc_-march=k8_-O_-fomit-frame-pointer2017013120170105
60648? ? ?? ? ?gccgcc_-m64_-march=core2_-O_-fomit-frame-pointer2017013120170105
60831? ? ?? ? ?gccgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017013120170105
60880? ? ?? ? ?gccgcc_-funroll-loops_-O3_-fomit-frame-pointer2017013120170105
61290? ? ?? ? ?gccgcc_-m64_-march=k8_-O_-fomit-frame-pointer2017013120170105
61953? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017013120170105
62464? ? ?? ? ?gccgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017013120170105
62886? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017013120170105
63330? ? ?? ? ?gccgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017013120170105
63789? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017013120170105
64707? ? ?? ? ?gccgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017013120170105
64824? ? ?? ? ?gccgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017013120170105
64878? ? ?? ? ?gccgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017013120170105
65056? ? ?? ? ?gccgcc_-march=barcelona_-Os_-fomit-frame-pointer2017013120170105
66668? ? ?? ? ?gccgcc_-Os_-fomit-frame-pointer2017013120170105
67287? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017013120170105
67426? ? ?? ? ?gccgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017013120170105
67706? ? ?? ? ?gccgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017013120170105
67852? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017013120170105
71460? ? ?? ? ?gccgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017013120170105
71703? ? ?? ? ?gccgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017013120170105
74031? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017013120170105
74208? ? ?? ? ?gccgcc_-march=nocona_-Os_-fomit-frame-pointer2017013120170105
74880? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017013120170105
195096? ? ?? ? ?gccgcc_-funroll-loops2017013120170105
198447? ? ?? ? ?gcccc2017013120170105
227568? ? ?? ? ?gccgcc2017013120170105

Compiler output

Implementation: crypto_hash/essence384/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