Implementation notes: amd64, kizomba, crypto_hash/essence512

Computer: kizomba
Architecture: amd64
CPU ID: GenuineIntel-000906e9-bfebfbff
SUPERCOP version: 20181216
Operation: crypto_hash
Primitive: essence512
TimeImplementationCompilerBenchmark dateSUPERCOP version
52254gccgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018081920180818
52270gccgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018081920180818
52415gccgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018081920180818
52512gccgcc -funroll-loops -O3 -fomit-frame-pointer2018081920180818
52546gccgcc -m64 -O3 -fomit-frame-pointer2018081920180818
52607gccgcc -O3 -fomit-frame-pointer2018081920180818
52653gccgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018081920180818
52867gccgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018081920180818
52877gccgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018081920180818
52917gccgcc -march=k8 -O3 -fomit-frame-pointer2018081920180818
53064gccgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018081920180818
53117gccgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018081920180818
53227gccgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018081920180818
53243gccgcc -march=nocona -O3 -fomit-frame-pointer2018081920180818
53262gccgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018081920180818
53303gccgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018081920180818
53341gccgcc -funroll-loops -O2 -fomit-frame-pointer2018081920180818
53442gccgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018081920180818
53514gccgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018081920180818
53533gccgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018081920180818
53559gccgcc -march=barcelona -O3 -fomit-frame-pointer2018081920180818
53575gccgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018081920180818
53619gccgcc -funroll-loops -m64 -O -fomit-frame-pointer2018081920180818
53625gccgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018081920180818
53631gccgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018081920180818
53685gccgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018081920180818
53709gccgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018081920180818
53742gccgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018081920180818
53768gccgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018081920180818
54050gccgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018081920180818
54201gccgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018081920180818
54500gccgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018081920180818
54534gccgcc -funroll-loops -O -fomit-frame-pointer2018081920180818
54601gccgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018081920180818
54643gccgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018081920180818
54685gccgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018081920180818
54710gccgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018081920180818
55425gccgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018081920180818
55496gccgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018081920180818
55899gccgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018081920180818
56280gccgcc -funroll-loops -Os -fomit-frame-pointer2018081920180818
56341gccgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018081920180818
56369gccclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018081920180818
56454gccclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018081920180818
56478gccclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018081920180818
56663gccgcc -march=barcelona -O2 -fomit-frame-pointer2018081920180818
56670gccgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018081920180818
56676gccclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018081920180818
56698gccclang -O3 -fomit-frame-pointer -Qunused-arguments2018081920180818
56706gccgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018081920180818
56852gccgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018081920180818
56874gccgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018081920180818
56889gccgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018081920180818
56920gccgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018081920180818
57087gccgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018081920180818
57149gccgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018081920180818
57234gccgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018081920180818
57287gccgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018081920180818
57288gccgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018081920180818
57336gccgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018081920180818
57496gccclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018081920180818
57597gccclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018081920180818
57673gccclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2018081920180818
57726gccgcc -m64 -march=k8 -Os -fomit-frame-pointer2018081920180818
57748gccgcc -O2 -fomit-frame-pointer2018081920180818
57795gccgcc -fno-schedule-insns -Os -fomit-frame-pointer2018081920180818
57831gccgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018081920180818
57837gccgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018081920180818
57881gccgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018081920180818
57957gccgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018081920180818
57990gccgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018081920180818
58034gccgcc -m64 -Os -fomit-frame-pointer2018081920180818
58061gccgcc -m64 -O2 -fomit-frame-pointer2018081920180818
58068gccgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018081920180818
58097gccgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018081920180818
58234gccgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018081920180818
58258gccgcc -march=k8 -Os -fomit-frame-pointer2018081920180818
58399gccclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018081920180818
58456gccgcc -Os -fomit-frame-pointer2018081920180818
58580gccgcc -fno-schedule-insns -O -fomit-frame-pointer2018081920180818
58602gccgcc -O -fomit-frame-pointer2018081920180818
58617gccgcc -m64 -march=core2 -O -fomit-frame-pointer2018081920180818
58625gccgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018081920180818
58679gccgcc -march=barcelona -O -fomit-frame-pointer2018081920180818
58706gccgcc -m64 -O -fomit-frame-pointer2018081920180818
58800gccgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018081920180818
58818gccgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018081920180818
58897gccgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018081920180818
58952gccgcc -m64 -march=nocona -O -fomit-frame-pointer2018081920180818
59020gccgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018081920180818
59052gccgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018081920180818
59085gccgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018081920180818
59103gccgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018081920180818
59141gccgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018081920180818
59168gccgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018081920180818
59232gccgcc -march=barcelona -Os -fomit-frame-pointer2018081920180818
59248gccgcc -march=nocona -Os -fomit-frame-pointer2018081920180818
59256gccclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018081920180818
59322gccgcc -march=k8 -O2 -fomit-frame-pointer2018081920180818
59369gccgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018081920180818
59438gccgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018081920180818
59492gccgcc -m64 -march=barcelona -O -fomit-frame-pointer2018081920180818
59611gccgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018081920180818
59682gccgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018081920180818
59724gccgcc -march=nocona -O -fomit-frame-pointer2018081920180818
59734gccgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018081920180818
59828gccgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018081920180818
59934gccgcc -m64 -march=nocona -Os -fomit-frame-pointer2018081920180818
59941gccgcc -march=nocona -O2 -fomit-frame-pointer2018081920180818
60004gccgcc -m64 -march=core2 -Os -fomit-frame-pointer2018081920180818
60669gccgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018081920180818
60888gccgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018081920180818
61338gccgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018081920180818
61816gccgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018081920180818
61881gccgcc -m64 -march=corei7 -O -fomit-frame-pointer2018081920180818
61883gccgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018081920180818
63156gccgcc -m64 -march=k8 -O -fomit-frame-pointer2018081920180818
63676gccgcc -march=k8 -O -fomit-frame-pointer2018081920180818
212220gccgcc2018081920180818
212304gcccc2018081920180818
212881gccgcc -funroll-loops2018081920180818

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