Implementation notes: amd64, cryptothinkx, crypto_hash/essence224

Computer: cryptothinkx
Architecture: amd64
CPU ID: GenuineIntel-00040651-bfebfbff
SUPERCOP version: 20170105
Operation: crypto_hash
Primitive: essence224
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
61950? ? ?? ? ?gccgcc_-march=k8_-O3_-fomit-frame-pointer2017013120170105
62649? ? ?? ? ?gccclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2017013120170105
62685? ? ?? ? ?gccclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017013120170105
63102? ? ?? ? ?gccgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017013120170105
63105? ? ?? ? ?gccgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017013120170105
63411? ? ?? ? ?gccclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017013120170105
63510? ? ?? ? ?gccclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017013120170105
63762? ? ?? ? ?gccgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017013120170105
63774? ? ?? ? ?gccgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017013120170105
64143? ? ?? ? ?gccgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017013120170105
64311? ? ?? ? ?gccgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017013120170105
64314? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017013120170105
64548? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017013120170105
64686? ? ?? ? ?gccclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017013120170105
64710? ? ?? ? ?gccgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017013120170105
65040? ? ?? ? ?gccgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2017013120170105
65232? ? ?? ? ?gccgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2017013120170105
65409? ? ?? ? ?gccgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017013120170105
65469? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017013120170105
65550? ? ?? ? ?gccgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017013120170105
65760? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017013120170105
65781? ? ?? ? ?gccgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017013120170105
65820? ? ?? ? ?gccgcc_-funroll-loops_-O3_-fomit-frame-pointer2017013120170105
65895? ? ?? ? ?gccgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017013120170105
65955? ? ?? ? ?gccgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017013120170105
66021? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017013120170105
66342? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017013120170105
66348? ? ?? ? ?gccgcc_-march=barcelona_-O3_-fomit-frame-pointer2017013120170105
66414? ? ?? ? ?gccgcc_-funroll-loops_-O2_-fomit-frame-pointer2017013120170105
66468? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017013120170105
66675? ? ?? ? ?gccgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017013120170105
66786? ? ?? ? ?gccclang_-O3_-fomit-frame-pointer_-Qunused-arguments2017013120170105
66855? ? ?? ? ?gccclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2017013120170105
66885? ? ?? ? ?gccgcc_-O3_-fomit-frame-pointer2017013120170105
66957? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017013120170105
67044? ? ?? ? ?gccgcc_-march=nocona_-O3_-fomit-frame-pointer2017013120170105
67530? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017013120170105
67569? ? ?? ? ?gccclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017013120170105
68973? ? ?? ? ?gccclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017013120170105
68979? ? ?? ? ?gccclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017013120170105
71247? ? ?? ? ?gccgcc_-m64_-O3_-fomit-frame-pointer2017013120170105
71529? ? ?? ? ?gccgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017013120170105
73446? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017013120170105
73569? ? ?? ? ?gccgcc_-funroll-loops_-O_-fomit-frame-pointer2017013120170105
73584? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017013120170105
73608? ? ?? ? ?gccgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017013120170105
73647? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017013120170105
73656? ? ?? ? ?gccgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017013120170105
74007? ? ?? ? ?gccgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017013120170105
75027? ? ?? ? ?gccgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017013120170105
75848? ? ?? ? ?gccgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017013120170105
75909? ? ?? ? ?gccgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017013120170105
76144? ? ?? ? ?gccgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017013120170105
76839? ? ?? ? ?gccgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017013120170105
77241? ? ?? ? ?gccgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017013120170105
77328? ? ?? ? ?gccgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017013120170105
78506? ? ?? ? ?gccgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017013120170105
78906? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017013120170105
78972? ? ?? ? ?gccgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017013120170105
79245? ? ?? ? ?gccgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017013120170105
79257? ? ?? ? ?gccgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2017013120170105
79713? ? ?? ? ?gccgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017013120170105
79730? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017013120170105
79755? ? ?? ? ?gccgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017013120170105
81525? ? ?? ? ?gccgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017013120170105
81567? ? ?? ? ?gccgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017013120170105
81921? ? ?? ? ?gccgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2017013120170105
81963? ? ?? ? ?gccgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017013120170105
83613? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017013120170105
83703? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017013120170105
83712? ? ?? ? ?gccgcc_-march=barcelona_-O2_-fomit-frame-pointer2017013120170105
84069? ? ?? ? ?gccgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017013120170105
84507? ? ?? ? ?gccgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017013120170105
85299? ? ?? ? ?gccgcc_-march=nocona_-O2_-fomit-frame-pointer2017013120170105
87174? ? ?? ? ?gccgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2017013120170105
87354? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017013120170105
87996? ? ?? ? ?gccgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017013120170105
88623? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017013120170105
90783? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017013120170105
90801? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017013120170105
91938? ? ?? ? ?gccgcc_-m64_-O2_-fomit-frame-pointer2017013120170105
92044? ? ?? ? ?gccgcc_-march=k8_-O2_-fomit-frame-pointer2017013120170105
92694? ? ?? ? ?gccgcc_-m64_-O_-fomit-frame-pointer2017013120170105
92847? ? ?? ? ?gccgcc_-O_-fomit-frame-pointer2017013120170105
93522? ? ?? ? ?gccgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017013120170105
93750? ? ?? ? ?gccgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017013120170105
93798? ? ?? ? ?gccgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017013120170105
94215? ? ?? ? ?gccgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017013120170105
94602? ? ?? ? ?gccgcc_-march=barcelona_-O_-fomit-frame-pointer2017013120170105
94620? ? ?? ? ?gccgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017013120170105
95805? ? ?? ? ?gccgcc_-m64_-march=core2_-O_-fomit-frame-pointer2017013120170105
96298? ? ?? ? ?gccgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017013120170105
96804? ? ?? ? ?gccgcc_-march=nocona_-Os_-fomit-frame-pointer2017013120170105
96976? ? ?? ? ?gccgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017013120170105
97038? ? ?? ? ?gccgcc_-funroll-loops_-Os_-fomit-frame-pointer2017013120170105
97047? ? ?? ? ?gccgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017013120170105
97137? ? ?? ? ?gccgcc_-march=barcelona_-Os_-fomit-frame-pointer2017013120170105
97179? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017013120170105
97245? ? ?? ? ?gccgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017013120170105
97422? ? ?? ? ?gccgcc_-m64_-march=k8_-O_-fomit-frame-pointer2017013120170105
99588? ? ?? ? ?gccgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017013120170105
100144? ? ?? ? ?gccgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017013120170105
100500? ? ?? ? ?gccgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017013120170105
101084? ? ?? ? ?gccgcc_-march=nocona_-O_-fomit-frame-pointer2017013120170105
102909? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017013120170105
103052? ? ?? ? ?gccgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017013120170105
103131? ? ?? ? ?gccgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017013120170105
103683? ? ?? ? ?gccgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017013120170105
103782? ? ?? ? ?gccgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017013120170105
103908? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017013120170105
103926? ? ?? ? ?gccgcc_-march=k8_-Os_-fomit-frame-pointer2017013120170105
104034? ? ?? ? ?gccgcc_-Os_-fomit-frame-pointer2017013120170105
104043? ? ?? ? ?gccgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017013120170105
109204? ? ?? ? ?gccgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017013120170105
111680? ? ?? ? ?gccgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017013120170105
115856? ? ?? ? ?gccgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017013120170105
117604? ? ?? ? ?gccgcc_-march=k8_-O_-fomit-frame-pointer2017013120170105
118172? ? ?? ? ?gccgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017013120170105
120916? ? ?? ? ?gccgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017013120170105
121688? ? ?? ? ?gccgcc_-m64_-Os_-fomit-frame-pointer2017013120170105
193728? ? ?? ? ?gccgcc_-O2_-fomit-frame-pointer2017013120170105
296232? ? ?? ? ?gccgcc2017013120170105
296997? ? ?? ? ?gccgcc_-funroll-loops2017013120170105
307404? ? ?? ? ?gcccc2017013120170105
451737? ? ?? ? ?gccgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017013120170105

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