Implementation notes: amd64, kizomba, crypto_hash/essence384

Computer: kizomba
Architecture: amd64
CPU ID: GenuineIntel-000906e9-bfebfbff
SUPERCOP version: 20181216
Operation: crypto_hash
Primitive: essence384
TimeImplementationCompilerBenchmark dateSUPERCOP version
52063gccgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018081920180818
52173gccgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018081920180818
52208gccgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018081920180818
52242gccgcc -m64 -O3 -fomit-frame-pointer2018081920180818
52373gccgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018081920180818
52526gccgcc -funroll-loops -O3 -fomit-frame-pointer2018081920180818
52718gccgcc -O3 -fomit-frame-pointer2018081920180818
52938gccgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018081920180818
52998gccgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018081920180818
53109gccgcc -march=nocona -O3 -fomit-frame-pointer2018081920180818
53121gccgcc -funroll-loops -O2 -fomit-frame-pointer2018081920180818
53127gccgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018081920180818
53206gccgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018081920180818
53222gccgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018081920180818
53242gccgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018081920180818
53276gccgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018081920180818
53340gccgcc -march=k8 -O3 -fomit-frame-pointer2018081920180818
53359gccgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018081920180818
53367gccgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018081920180818
53381gccgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018081920180818
53406gccgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018081920180818
53421gccgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018081920180818
53516gccgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018081920180818
53546gccgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018081920180818
53561gccgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018081920180818
53597gccgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018081920180818
53607gccgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018081920180818
54172gccgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018081920180818
54204gccgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018081920180818
54217gccgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018081920180818
54252gccgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018081920180818
54262gccgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018081920180818
54311gccgcc -march=barcelona -O3 -fomit-frame-pointer2018081920180818
54480gccgcc -funroll-loops -m64 -O -fomit-frame-pointer2018081920180818
54513gccgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018081920180818
54609gccgcc -funroll-loops -O -fomit-frame-pointer2018081920180818
54740gccgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018081920180818
54853gccgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018081920180818
55645gccgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018081920180818
55942gccgcc -march=barcelona -O2 -fomit-frame-pointer2018081920180818
56041gccgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018081920180818
56048gccgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018081920180818
56234gccgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018081920180818
56268gccgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018081920180818
56387gccclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018081920180818
56391gccgcc -funroll-loops -Os -fomit-frame-pointer2018081920180818
56450gccgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018081920180818
56662gccgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018081920180818
56701gccgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018081920180818
56774gccclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2018081920180818
56871gccgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018081920180818
56889gccgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018081920180818
57047gccclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018081920180818
57052gccgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018081920180818
57073gccclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018081920180818
57095gccgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018081920180818
57115gccclang -O3 -fomit-frame-pointer -Qunused-arguments2018081920180818
57117gccgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018081920180818
57133gccgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018081920180818
57149gccgcc -m64 -Os -fomit-frame-pointer2018081920180818
57150gccclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018081920180818
57230gccgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018081920180818
57272gccgcc -Os -fomit-frame-pointer2018081920180818
57292gccgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018081920180818
57414gccgcc -fno-schedule-insns -Os -fomit-frame-pointer2018081920180818
57462gccgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018081920180818
57488gccgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018081920180818
57522gccgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018081920180818
57548gccgcc -m64 -march=k8 -Os -fomit-frame-pointer2018081920180818
57669gccclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018081920180818
57685gccgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018081920180818
57734gccclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018081920180818
57748gccclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018081920180818
57801gccclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018081920180818
57921gccgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018081920180818
57961gccgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018081920180818
58018gccgcc -march=k8 -O2 -fomit-frame-pointer2018081920180818
58028gccgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018081920180818
58113gccgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018081920180818
58119gccgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018081920180818
58191gccgcc -O2 -fomit-frame-pointer2018081920180818
58220gccgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018081920180818
58297gccgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018081920180818
58412gccgcc -march=k8 -Os -fomit-frame-pointer2018081920180818
58459gccgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018081920180818
58550gccgcc -m64 -march=core2 -O -fomit-frame-pointer2018081920180818
58657gccgcc -march=barcelona -O -fomit-frame-pointer2018081920180818
58665gccgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018081920180818
58692gccgcc -m64 -O -fomit-frame-pointer2018081920180818
58698gccgcc -O -fomit-frame-pointer2018081920180818
58776gccgcc -m64 -march=nocona -O -fomit-frame-pointer2018081920180818
58950gccgcc -m64 -O2 -fomit-frame-pointer2018081920180818
58984gccgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018081920180818
59054gccgcc -march=barcelona -Os -fomit-frame-pointer2018081920180818
59155gccgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018081920180818
59286gccgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018081920180818
59379gccgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018081920180818
59417gccgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018081920180818
59466gccgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018081920180818
59555gccgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018081920180818
59585gccgcc -fno-schedule-insns -O -fomit-frame-pointer2018081920180818
59678gccgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018081920180818
59797gccgcc -m64 -march=barcelona -O -fomit-frame-pointer2018081920180818
59865gccgcc -march=nocona -O -fomit-frame-pointer2018081920180818
59873gccgcc -m64 -march=core2 -Os -fomit-frame-pointer2018081920180818
60024gccgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018081920180818
60026gccgcc -march=nocona -Os -fomit-frame-pointer2018081920180818
60039gccgcc -m64 -march=nocona -Os -fomit-frame-pointer2018081920180818
60041gccgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018081920180818
60129gccgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018081920180818
60295gccgcc -march=nocona -O2 -fomit-frame-pointer2018081920180818
60520gccgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018081920180818
61131gccgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018081920180818
61305gccgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018081920180818
61775gccgcc -m64 -march=corei7 -O -fomit-frame-pointer2018081920180818
61875gccgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018081920180818
62591gccgcc -march=k8 -O -fomit-frame-pointer2018081920180818
63234gccgcc -m64 -march=k8 -O -fomit-frame-pointer2018081920180818
211568gccgcc -funroll-loops2018081920180818
211679gcccc2018081920180818
212317gccgcc2018081920180818

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