Implementation notes: amd64, kizomba, crypto_hash/essence224

Computer: kizomba
Architecture: amd64
CPU ID: GenuineIntel-000906e9-bfebfbff
SUPERCOP version: 20181216
Operation: crypto_hash
Primitive: essence224
TimeImplementationCompilerBenchmark dateSUPERCOP version
68851gccgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018081920180818
68923gccgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018081920180818
69484gccgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018081920180818
69494gccgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018081920180818
69736gccgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018081920180818
71774gccgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018081920180818
71806gccgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018081920180818
71877gccgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018081920180818
71877gccgcc -march=nocona -O3 -fomit-frame-pointer2018081920180818
72500gccclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018081920180818
72597gccclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2018081920180818
72675gccclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018081920180818
72827gccclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018081920180818
72837gccclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018081920180818
72980gccclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018081920180818
73396gccgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018081920180818
73403gccgcc -funroll-loops -O3 -fomit-frame-pointer2018081920180818
73442gccgcc -funroll-loops -O2 -fomit-frame-pointer2018081920180818
73457gccgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018081920180818
73528gccgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018081920180818
73584gccgcc -m64 -O3 -fomit-frame-pointer2018081920180818
73599gccgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018081920180818
73611gccgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018081920180818
73781gccgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018081920180818
73788gccgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018081920180818
74067gccgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018081920180818
74587gccgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018081920180818
74605gccgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018081920180818
74634gccgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018081920180818
75379gccclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018081920180818
75401gccclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018081920180818
75419gccclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018081920180818
75635gccgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018081920180818
75730gccgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018081920180818
75742gccgcc -march=barcelona -O3 -fomit-frame-pointer2018081920180818
75762gccgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018081920180818
75768gccgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018081920180818
75789gccgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018081920180818
75802gccgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018081920180818
75828gccgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018081920180818
76006gccgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018081920180818
76103gccgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018081920180818
76145gccgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018081920180818
76617gccclang -O3 -fomit-frame-pointer -Qunused-arguments2018081920180818
77058gccgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018081920180818
77305gccgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018081920180818
77466gccgcc -funroll-loops -m64 -O -fomit-frame-pointer2018081920180818
77617gccgcc -march=k8 -O3 -fomit-frame-pointer2018081920180818
77627gccgcc -funroll-loops -O -fomit-frame-pointer2018081920180818
77641gccgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018081920180818
78034gccgcc -O3 -fomit-frame-pointer2018081920180818
79559gccgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018081920180818
79713gccgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018081920180818
80621gccgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018081920180818
81048gccgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018081920180818
84042gccgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018081920180818
84206gccgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018081920180818
84482gccgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018081920180818
84576gccgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018081920180818
84861gccgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018081920180818
84920gccgcc -m64 -march=nocona -Os -fomit-frame-pointer2018081920180818
85186gccgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018081920180818
85246gccgcc -march=nocona -Os -fomit-frame-pointer2018081920180818
85761gccgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018081920180818
86280gccgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018081920180818
86375gccgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018081920180818
86463gccgcc -funroll-loops -Os -fomit-frame-pointer2018081920180818
86584gccgcc -m64 -Os -fomit-frame-pointer2018081920180818
86681gccgcc -Os -fomit-frame-pointer2018081920180818
86883gccgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018081920180818
86909gccgcc -fno-schedule-insns -Os -fomit-frame-pointer2018081920180818
86973gccgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018081920180818
87490gccgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018081920180818
87685gccgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018081920180818
87883gccgcc -march=nocona -O2 -fomit-frame-pointer2018081920180818
87893gccgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018081920180818
87972gccgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018081920180818
88458gccgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018081920180818
88603gccgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018081920180818
88637gccgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018081920180818
88667gccgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018081920180818
88683gccgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018081920180818
88748gccgcc -march=barcelona -Os -fomit-frame-pointer2018081920180818
88798gccgcc -m64 -march=barcelona -O -fomit-frame-pointer2018081920180818
88875gccgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018081920180818
88941gccgcc -march=barcelona -O -fomit-frame-pointer2018081920180818
88945gccgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018081920180818
88960gccgcc -m64 -march=core2 -Os -fomit-frame-pointer2018081920180818
89484gccgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018081920180818
89813gccgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018081920180818
89895gccgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018081920180818
89942gccgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018081920180818
90028gccgcc -m64 -O -fomit-frame-pointer2018081920180818
90047gccgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018081920180818
90071gccgcc -fno-schedule-insns -O -fomit-frame-pointer2018081920180818
90127gccgcc -m64 -march=core2 -O -fomit-frame-pointer2018081920180818
90157gccgcc -march=k8 -Os -fomit-frame-pointer2018081920180818
90192gccgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018081920180818
90365gccgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018081920180818
90542gccgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018081920180818
90557gccgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018081920180818
90590gccgcc -m64 -march=corei7 -O -fomit-frame-pointer2018081920180818
90808gccgcc -m64 -march=k8 -Os -fomit-frame-pointer2018081920180818
91125gccgcc -march=nocona -O -fomit-frame-pointer2018081920180818
91214gccgcc -m64 -march=nocona -O -fomit-frame-pointer2018081920180818
92052gccgcc -O -fomit-frame-pointer2018081920180818
92623gccgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018081920180818
92680gccgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018081920180818
92829gccgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018081920180818
94985gccgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018081920180818
95315gccgcc -march=barcelona -O2 -fomit-frame-pointer2018081920180818
96516gccgcc -march=k8 -O -fomit-frame-pointer2018081920180818
96891gccgcc -m64 -march=k8 -O -fomit-frame-pointer2018081920180818
97986gccgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018081920180818
98068gccgcc -O2 -fomit-frame-pointer2018081920180818
98294gccgcc -m64 -O2 -fomit-frame-pointer2018081920180818
98431gccgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018081920180818
98528gccgcc -march=k8 -O2 -fomit-frame-pointer2018081920180818
325702gccgcc2018081920180818
326774gccgcc -funroll-loops2018081920180818
327834gcccc2018081920180818

Compiler output

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