Implementation notes: amd64, genji154, crypto_hash/essence224

Computer: genji154
Architecture: amd64
CPU ID: GenuineIntel-00050671-bfebfbff
SUPERCOP version: 20170228
Operation: crypto_hash
Primitive: essence224
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
114257? ? ?? ? ?gccclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017041020170228
114426? ? ?? ? ?gccclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017041020170228
114478? ? ?? ? ?gccclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017041020170228
114608? ? ?? ? ?gccclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2017041020170228
114608? ? ?? ? ?gccclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017041020170228
114634? ? ?? ? ?gccclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2017041020170228
117182? ? ?? ? ?gccgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017022620170105
117234? ? ?? ? ?gccgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017022620170105
122278? ? ?? ? ?gccgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2017022620170105
122343? ? ?? ? ?gccclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017041020170228
122538? ? ?? ? ?gccclang_-O3_-fomit-frame-pointer_-Qunused-arguments2017041020170228
122577? ? ?? ? ?gccclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017041020170228
122681? ? ?? ? ?gccclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017041020170228
129558? ? ?? ? ?gccgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017022620170105
129610? ? ?? ? ?gccgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017022620170105
133133? ? ?? ? ?gccgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017022620170105
133250? ? ?? ? ?gccgcc_-O3_-fomit-frame-pointer2017022620170105
133614? ? ?? ? ?gccgcc_-m64_-O3_-fomit-frame-pointer2017022620170105
134706? ? ?? ? ?gccgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2017022620170105
135044? ? ?? ? ?gccgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017022620170105
135057? ? ?? ? ?gccgcc_-funroll-loops_-O3_-fomit-frame-pointer2017022620170105
135200? ? ?? ? ?gccgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017022620170105
135213? ? ?? ? ?gccgcc_-march=k8_-O3_-fomit-frame-pointer2017022620170105
135317? ? ?? ? ?gccgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017022620170105
135590? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017022620170105
135616? ? ?? ? ?gccgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017022620170105
135668? ? ?? ? ?gccgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017022620170105
135928? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017022620170105
136916? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017022620170105
137800? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017022620170105
137930? ? ?? ? ?gccgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017022620170105
137930? ? ?? ? ?gccgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017022620170105
137995? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017022620170105
138034? ? ?? ? ?gccgcc_-march=barcelona_-O3_-fomit-frame-pointer2017022620170105
138099? ? ?? ? ?gccgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017022620170105
138281? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017022620170105
138320? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017022620170105
138372? ? ?? ? ?gccgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017022620170105
138489? ? ?? ? ?gccgcc_-funroll-loops_-O2_-fomit-frame-pointer2017022620170105
138502? ? ?? ? ?gccgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017022620170105
146718? ? ?? ? ?gccgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017022620170105
146757? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017022620170105
146939? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017022620170105
146939? ? ?? ? ?gccgcc_-march=nocona_-O3_-fomit-frame-pointer2017022620170105
146991? ? ?? ? ?gccgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017022620170105
147043? ? ?? ? ?gccgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017022620170105
150774? ? ?? ? ?gccgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017022620170105
150865? ? ?? ? ?gccgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017022620170105
152932? ? ?? ? ?gccgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2017022620170105
154089? ? ?? ? ?gccgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017022620170105
154375? ? ?? ? ?gccgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017022620170105
162864? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017022620170105
165516? ? ?? ? ?gccgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017022620170105
165893? ? ?? ? ?gccgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017022620170105
166647? ? ?? ? ?gccgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017022620170105
166764? ? ?? ? ?gccgcc_-funroll-loops_-O_-fomit-frame-pointer2017022620170105
166998? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017022620170105
170079? ? ?? ? ?gccgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2017022620170105
170612? ? ?? ? ?gccgcc_-Os_-fomit-frame-pointer2017022620170105
170755? ? ?? ? ?gccgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017022620170105
170768? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017022620170105
170859? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017022620170105
170989? ? ?? ? ?gccgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017022620170105
171002? ? ?? ? ?gccgcc_-march=k8_-Os_-fomit-frame-pointer2017022620170105
171067? ? ?? ? ?gccgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017022620170105
171093? ? ?? ? ?gccgcc_-m64_-Os_-fomit-frame-pointer2017022620170105
172432? ? ?? ? ?gccgcc_-funroll-loops_-Os_-fomit-frame-pointer2017022620170105
172445? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017022620170105
172471? ? ?? ? ?gccgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017022620170105
172471? ? ?? ? ?gccgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017022620170105
172627? ? ?? ? ?gccgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017022620170105
174135? ? ?? ? ?gccgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017022620170105
174200? ? ?? ? ?gccgcc_-march=barcelona_-Os_-fomit-frame-pointer2017022620170105
175682? ? ?? ? ?gccgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017022620170105
175929? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017022620170105
175955? ? ?? ? ?gccgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017022620170105
175955? ? ?? ? ?gccgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017022620170105
178386? ? ?? ? ?gccgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017022620170105
178503? ? ?? ? ?gccgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017022620170105
179361? ? ?? ? ?gccgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017022620170105
182104? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017022620170105
182312? ? ?? ? ?gccgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017022620170105
184925? ? ?? ? ?gccgcc_-O2_-fomit-frame-pointer2017022620170105
185003? ? ?? ? ?gccgcc_-m64_-O2_-fomit-frame-pointer2017022620170105
185094? ? ?? ? ?gccgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017022620170105
186108? ? ?? ? ?gccgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017022620170105
186342? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017022620170105
186524? ? ?? ? ?gccgcc_-march=barcelona_-O2_-fomit-frame-pointer2017022620170105
187070? ? ?? ? ?gccgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017022620170105
187993? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017022620170105
188006? ? ?? ? ?gccgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017022620170105
188097? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017022620170105
200577? ? ?? ? ?gccgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017022620170105
200694? ? ?? ? ?gccgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017022620170105
201591? ? ?? ? ?gccgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017022620170105
201734? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017022620170105
202072? ? ?? ? ?gccgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017022620170105
202267? ? ?? ? ?gccgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2017022620170105
202267? ? ?? ? ?gccgcc_-march=nocona_-Os_-fomit-frame-pointer2017022620170105
202319? ? ?? ? ?gccgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017022620170105
202527? ? ?? ? ?gccgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017022620170105
203281? ? ?? ? ?gccgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017022620170105
203515? ? ?? ? ?gccgcc_-march=k8_-O2_-fomit-frame-pointer2017022620170105
204698? ? ?? ? ?gccgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017022620170105
204919? ? ?? ? ?gccgcc_-march=nocona_-O2_-fomit-frame-pointer2017022620170105
209781? ? ?? ? ?gccgcc_-march=nocona_-O_-fomit-frame-pointer2017022620170105
209820? ? ?? ? ?gccgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017022620170105
211224? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017022620170105
211224? ? ?? ? ?gccgcc_-march=barcelona_-O_-fomit-frame-pointer2017022620170105
213395? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017022620170105
213538? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017022620170105
213915? ? ?? ? ?gccgcc_-m64_-march=core2_-O_-fomit-frame-pointer2017022620170105
218361? ? ?? ? ?gccgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017022620170105
221936? ? ?? ? ?gccgcc_-O_-fomit-frame-pointer2017022620170105
221975? ? ?? ? ?gccgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017022620170105
222807? ? ?? ? ?gccgcc_-m64_-O_-fomit-frame-pointer2017022620170105
231335? ? ?? ? ?gccgcc_-m64_-march=k8_-O_-fomit-frame-pointer2017022620170105
231400? ? ?? ? ?gccgcc_-march=k8_-O_-fomit-frame-pointer2017022620170105
795288? ? ?? ? ?gccgcc_-funroll-loops2017022620170105
804323? ? ?? ? ?gccgcc2017022620170105
807638? ? ?? ? ?gcccc2017022620170105

Checksum failure

Implementation: crypto_hash/essence224/gcc
Compiler: icc -xMIC-AVX512 -O2 -fomit-frame-pointer
bf9c2771f83b1bfaef42733469b5b5c937007f935043a4a869f5fc950f17968c
Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
icc -xMIC-AVX512 -O2 -fomit-frame-pointer gcc
icc -xMIC-AVX512 -O3 -fomit-frame-pointer gcc

Test failure

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

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
icc gcc
icc -no-vec gcc

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