Implementation notes: amd64, rumba5, crypto_hash/essence256

Computer: rumba5
Architecture: amd64
CPU ID: AuthenticAMD-00800f11-178bfbff
SUPERCOP version: 20171218
Operation: crypto_hash
Primitive: essence256
TimeImplementationCompilerBenchmark dateSUPERCOP version
71360gccgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018051420171218
71488gccgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018051420171218
71744gccgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018051420171218
71744gccgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018051420171218
71776gccgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018051420171218
71808gccgcc -march=nocona -O3 -fomit-frame-pointer2018051420171218
72064gccgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018051420171218
72320gccclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018051420171218
72384gccclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2018051420171218
72448gccclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018051420171218
72640gccclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018051420171218
72704gccclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018051420171218
72800gccclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018051420171218
73312gccgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018051420171218
73376gccgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018051420171218
73792gccgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018051420171218
73792gccgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018051420171218
74944gccgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018051420171218
75040gccgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018051420171218
75072gccgcc -march=k8 -O3 -fomit-frame-pointer2018051420171218
76608gccgcc -funroll-loops -O3 -fomit-frame-pointer2018051420171218
76608gccgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018051420171218
76608gccgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018051420171218
76864gccgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018051420171218
76864gccgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018051420171218
76896gccgcc -funroll-loops -O2 -fomit-frame-pointer2018051420171218
77344gccgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018051420171218
77408gccgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018051420171218
77408gccgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018051420171218
77408gccgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018051420171218
77440gccgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018051420171218
77504gccgcc -funroll-loops -O -fomit-frame-pointer2018051420171218
77504gccgcc -funroll-loops -m64 -O -fomit-frame-pointer2018051420171218
78784gccgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018051420171218
79392gccgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018051420171218
79424gccgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018051420171218
79488gccgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018051420171218
79520gccgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018051420171218
79520gccgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018051420171218
79552gccgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018051420171218
79584gccgcc -O3 -fomit-frame-pointer2018051420171218
79584gccgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018051420171218
79584gccgcc -m64 -O3 -fomit-frame-pointer2018051420171218
79616gccgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018051420171218
79744gccgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018051420171218
79776gccgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018051420171218
80032gccgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018051420171218
81024gccgcc -march=barcelona -O3 -fomit-frame-pointer2018051420171218
81792gccclang -O3 -fomit-frame-pointer -Qunused-arguments2018051420171218
81824gccclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018051420171218
81824gccclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018051420171218
81856gccclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018051420171218
83296gccgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018051420171218
83296gccgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018051420171218
83296gccgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018051420171218
86432gccgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018051420171218
86496gccgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018051420171218
88224gccgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018051420171218
88224gccgcc -march=barcelona -Os -fomit-frame-pointer2018051420171218
88320gccgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018051420171218
88448gccgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018051420171218
88544gccgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018051420171218
88704gccgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018051420171218
89440gccgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018051420171218
89856gccgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018051420171218
90048gccgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018051420171218
90336gccgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018051420171218
90336gccgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018051420171218
90336gccgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018051420171218
91648gccgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018051420171218
91648gccgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018051420171218
91744gccgcc -march=barcelona -O2 -fomit-frame-pointer2018051420171218
91776gccgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018051420171218
92704gccgcc -m64 -O2 -fomit-frame-pointer2018051420171218
92704gccgcc -m64 -march=core2 -Os -fomit-frame-pointer2018051420171218
92800gccgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018051420171218
93312gccgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018051420171218
93408gccgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018051420171218
93600gccgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018051420171218
94144gccgcc -O2 -fomit-frame-pointer2018051420171218
94464gccgcc -m64 -Os -fomit-frame-pointer2018051420171218
94592gccgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018051420171218
94592gccgcc -march=k8 -O2 -fomit-frame-pointer2018051420171218
94880gccgcc -m64 -march=k8 -Os -fomit-frame-pointer2018051420171218
94912gccgcc -Os -fomit-frame-pointer2018051420171218
94944gccgcc -fno-schedule-insns -Os -fomit-frame-pointer2018051420171218
95264gccgcc -march=k8 -Os -fomit-frame-pointer2018051420171218
95328gccgcc -funroll-loops -Os -fomit-frame-pointer2018051420171218
95328gccgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018051420171218
96064gccgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018051420171218
96512gccgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018051420171218
96704gccgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018051420171218
96768gccgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018051420171218
97184gccgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018051420171218
97568gccgcc -march=nocona -O2 -fomit-frame-pointer2018051420171218
98112gccgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018051420171218
100928gccgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018051420171218
101536gccgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018051420171218
104256gccgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018051420171218
104256gccgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018051420171218
104608gccgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018051420171218
107232gccgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018051420171218
107520gccgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018051420171218
109696gccgcc -march=nocona -Os -fomit-frame-pointer2018051420171218
109792gccgcc -m64 -march=nocona -Os -fomit-frame-pointer2018051420171218
109952gccgcc -m64 -march=corei7 -O -fomit-frame-pointer2018051420171218
110816gccgcc -O -fomit-frame-pointer2018051420171218
110816gccgcc -fno-schedule-insns -O -fomit-frame-pointer2018051420171218
110816gccgcc -m64 -O -fomit-frame-pointer2018051420171218
110976gccgcc -m64 -march=barcelona -O -fomit-frame-pointer2018051420171218
111072gccgcc -m64 -march=core2 -O -fomit-frame-pointer2018051420171218
111072gccgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018051420171218
111072gccgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018051420171218
111136gccgcc -march=barcelona -O -fomit-frame-pointer2018051420171218
112160gccgcc -m64 -march=k8 -O -fomit-frame-pointer2018051420171218
112192gccgcc -march=k8 -O -fomit-frame-pointer2018051420171218
112800gccgcc -m64 -march=nocona -O -fomit-frame-pointer2018051420171218
112832gccgcc -march=nocona -O -fomit-frame-pointer2018051420171218
339328gcccc2018051420171218
339456gccgcc2018051420171218
410112gccgcc -funroll-loops2018051420171218

Compiler output

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