Implementation notes: amd64, genji154, crypto_hash/essence512

Computer: genji154
Architecture: amd64
CPU ID: GenuineIntel-00050671-bfebfbff
SUPERCOP version: 20170228
Operation: crypto_hash
Primitive: essence512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
67470? ? ?? ? ?gccgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017022620170105
67509? ? ?? ? ?gccgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017022620170105
72943? ? ?? ? ?gccgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2017022620170105
75478? ? ?? ? ?gccclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017041020170228
75972? ? ?? ? ?gccclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2017041020170228
76206? ? ?? ? ?gccclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017041020170228
76219? ? ?? ? ?gccclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017041020170228
76271? ? ?? ? ?gccclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2017041020170228
79326? ? ?? ? ?gccgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2017022620170105
83577? ? ?? ? ?gccclang_-O3_-fomit-frame-pointer_-Qunused-arguments2017041020170228
83590? ? ?? ? ?gccclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017041020170228
83811? ? ?? ? ?gccclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017041020170228
83811? ? ?? ? ?gccclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017041020170228
84110? ? ?? ? ?gccgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017022620170105
84123? ? ?? ? ?gccgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017022620170105
86242? ? ?? ? ?gccgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017022620170105
86255? ? ?? ? ?gccgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017022620170105
86268? ? ?? ? ?gccgcc_-funroll-loops_-O3_-fomit-frame-pointer2017022620170105
87295? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017022620170105
87308? ? ?? ? ?gccgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017022620170105
87308? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017022620170105
87334? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017022620170105
87477? ? ?? ? ?gccgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017022620170105
87490? ? ?? ? ?gccgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017022620170105
87503? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017022620170105
87581? ? ?? ? ?gccgcc_-march=barcelona_-O3_-fomit-frame-pointer2017022620170105
87672? ? ?? ? ?gccgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017022620170105
87685? ? ?? ? ?gccgcc_-funroll-loops_-O2_-fomit-frame-pointer2017022620170105
87802? ? ?? ? ?gccgcc_-m64_-O3_-fomit-frame-pointer2017022620170105
87854? ? ?? ? ?gccgcc_-O3_-fomit-frame-pointer2017022620170105
87854? ? ?? ? ?gccgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017022620170105
87906? ? ?? ? ?gccgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017022620170105
88062? ? ?? ? ?gccgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017022620170105
88127? ? ?? ? ?gccgcc_-march=k8_-O3_-fomit-frame-pointer2017022620170105
88231? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017022620170105
88361? ? ?? ? ?gccgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017022620170105
88374? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017022620170105
88530? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017022620170105
88829? ? ?? ? ?gccgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017022620170105
97903? ? ?? ? ?gccgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017022620170105
97994? ? ?? ? ?gccgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017022620170105
98787? ? ?? ? ?gccgcc_-march=nocona_-O3_-fomit-frame-pointer2017022620170105
99099? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017022620170105
99151? ? ?? ? ?gccgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017022620170105
99164? ? ?? ? ?gccgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017022620170105
99294? ? ?? ? ?gccgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2017022620170105
99294? ? ?? ? ?gccgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017022620170105
99320? ? ?? ? ?gccgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017022620170105
99385? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017022620170105
99463? ? ?? ? ?gccgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017022620170105
99502? ? ?? ? ?gccgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2017022620170105
101179? ? ?? ? ?gccgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017022620170105
101270? ? ?? ? ?gccgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017022620170105
101842? ? ?? ? ?gccgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017022620170105
103818? ? ?? ? ?gccgcc_-O2_-fomit-frame-pointer2017022620170105
104000? ? ?? ? ?gccgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017022620170105
104143? ? ?? ? ?gccgcc_-m64_-O2_-fomit-frame-pointer2017022620170105
104390? ? ?? ? ?gccgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017022620170105
104754? ? ?? ? ?gccgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017022620170105
104910? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017022620170105
105027? ? ?? ? ?gccgcc_-march=barcelona_-O2_-fomit-frame-pointer2017022620170105
105300? ? ?? ? ?gccgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017022620170105
105300? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017022620170105
105339? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017022620170105
105625? ? ?? ? ?gccgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017022620170105
106041? ? ?? ? ?gccgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017022620170105
106080? ? ?? ? ?gccgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017022620170105
106080? ? ?? ? ?gccgcc_-march=k8_-Os_-fomit-frame-pointer2017022620170105
106093? ? ?? ? ?gccgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017022620170105
106093? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017022620170105
106093? ? ?? ? ?gccgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017022620170105
106093? ? ?? ? ?gccgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017022620170105
106106? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017022620170105
106119? ? ?? ? ?gccgcc_-funroll-loops_-Os_-fomit-frame-pointer2017022620170105
106132? ? ?? ? ?gccgcc_-Os_-fomit-frame-pointer2017022620170105
106145? ? ?? ? ?gccgcc_-m64_-Os_-fomit-frame-pointer2017022620170105
106184? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017022620170105
106262? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017022620170105
106275? ? ?? ? ?gccgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017022620170105
107835? ? ?? ? ?gccgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017022620170105
107874? ? ?? ? ?gccgcc_-funroll-loops_-O_-fomit-frame-pointer2017022620170105
108212? ? ?? ? ?gccgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017022620170105
108498? ? ?? ? ?gccgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017022620170105
108745? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017022620170105
108758? ? ?? ? ?gccgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017022620170105
109200? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017022620170105
109213? ? ?? ? ?gccgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017022620170105
109252? ? ?? ? ?gccgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017022620170105
109252? ? ?? ? ?gccgcc_-march=barcelona_-Os_-fomit-frame-pointer2017022620170105
109642? ? ?? ? ?gccgcc_-march=k8_-O2_-fomit-frame-pointer2017022620170105
109681? ? ?? ? ?gccgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017022620170105
119587? ? ?? ? ?gccgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017022620170105
119600? ? ?? ? ?gccclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017041020170228
119717? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017022620170105
122239? ? ?? ? ?gccgcc_-march=nocona_-O2_-fomit-frame-pointer2017022620170105
122356? ? ?? ? ?gccgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017022620170105
123149? ? ?? ? ?gccgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017022620170105
123292? ? ?? ? ?gccgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017022620170105
127322? ? ?? ? ?gccgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017022620170105
127335? ? ?? ? ?gccgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017022620170105
128076? ? ?? ? ?gccgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2017022620170105
128648? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017022620170105
129038? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017022620170105
129064? ? ?? ? ?gccgcc_-m64_-march=core2_-O_-fomit-frame-pointer2017022620170105
129168? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017022620170105
129233? ? ?? ? ?gccgcc_-march=barcelona_-O_-fomit-frame-pointer2017022620170105
129363? ? ?? ? ?gccgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017022620170105
129363? ? ?? ? ?gccgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017022620170105
129415? ? ?? ? ?gccgcc_-march=nocona_-O_-fomit-frame-pointer2017022620170105
129480? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017022620170105
130858? ? ?? ? ?gccgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017022620170105
130884? ? ?? ? ?gccgcc_-march=nocona_-Os_-fomit-frame-pointer2017022620170105
132080? ? ?? ? ?gccgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017022620170105
132496? ? ?? ? ?gccgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017022620170105
132600? ? ?? ? ?gccgcc_-O_-fomit-frame-pointer2017022620170105
132639? ? ?? ? ?gccgcc_-m64_-O_-fomit-frame-pointer2017022620170105
138723? ? ?? ? ?gccgcc_-m64_-march=k8_-O_-fomit-frame-pointer2017022620170105
138788? ? ?? ? ?gccgcc_-march=k8_-O_-fomit-frame-pointer2017022620170105
466570? ? ?? ? ?gccgcc_-funroll-loops2017022620170105
468585? ? ?? ? ?gcccc2017022620170105
468897? ? ?? ? ?gccgcc2017022620170105

Test failure

Implementation: crypto_hash/essence512/gcc
Compiler: icc
error 111
crypto_hash is nondeterministic

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
icc gcc
icc -no-vec gcc
icc -xMIC-AVX512 -O2 -fomit-frame-pointer gcc
icc -xMIC-AVX512 -O3 -fomit-frame-pointer gcc

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