Implementation notes: amd64, gpu, crypto_hash/essence224

Computer: gpu
Architecture: amd64
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_hash
Primitive: essence224
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
11341622509 3168 035118 3952 808gccgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019082220190816
11621622509 3168 035118 3952 808gccgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019082220190816
11772022509 3168 035118 3952 808gccgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019082220190816
11897227125 3168 039982 3952 808gccgcc_-march=k8_-O3_-fomit-frame-pointer2019082220190816
12000832385 3168 047238 3952 808gccgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019082220190816
12020118875 3168 034045 3936 1136gccclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082220190816
12036420265 3168 033717 3944 808gccgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082220190816
12073225537 3168 037926 3952 808gccgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019082220190816
12107625722 3168 038262 3952 808gccgcc_-O3_-fomit-frame-pointer2019082220190816
12265225722 3168 038262 3952 808gccgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082220190816
12310020207 3168 033781 3944 808gccgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019082220190816
12336420265 3168 033717 3944 808gccgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019082220190816
12338420207 3168 033781 3944 808gccgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019082220190816
12592826818 3168 039846 3952 808gccgcc_-march=barcelona_-O3_-fomit-frame-pointer2019082220190816
12623622517 3168 035038 3952 808gccgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019082220190816
12678034615 3168 050246 3952 808gccgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019082220190816
12716425882 3168 038422 3952 808gccgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019082220190816
12723620265 3168 033717 3944 808gccgcc_-funroll-loops_-O2_-fomit-frame-pointer2019082220190816
12734420036 3168 033125 3944 808gccgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019082220190816
12886435031 3168 050542 3952 808gccgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019082220190816
12908825898 3168 038438 3952 808gccgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019082220190816
12941220036 3168 033125 3944 808gccgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019082220190816
12945633924 3168 048510 3952 808gccgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019082220190816
13076025722 3168 038262 3952 808gccgcc_-m64_-O3_-fomit-frame-pointer2019082220190816
13166026054 3168 038318 3952 808gccgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019082220190816
13222027125 3168 039982 3952 808gccgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019082220190816
13351619571 3168 033029 3944 808gccgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019082220190816
13404418465 3168 036013 3936 752gccclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082220190816
13409632385 3168 047238 3952 808gccgcc_-funroll-loops_-O3_-fomit-frame-pointer2019082220190816
13443218875 3168 034045 3936 1136gccclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2019082220190816
13551633924 3168 048510 3952 808gccgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019082220190816
13594453636 6336 039846 3952 808gccgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019082220190816
13675632385 3168 047238 3952 808gccgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082220190816
13735218409 3168 034629 3936 752gccclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019082220190816
13811619228 3168 032757 3944 808gccgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019082220190816
13842835031 3168 050542 3952 808gccgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019082220190816
13914826054 3168 038318 3952 808gccgcc_-march=nocona_-O3_-fomit-frame-pointer2019082220190816
14044820165 3168 033533 3944 808gccgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019082220190816
14082818465 3168 036013 3936 752gccclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082220190816
14412419571 3168 033029 3944 808gccgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019082220190816
14499219228 3168 032757 3944 808gccgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019082220190816
14662417719 3168 032213 3936 1136gccclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019082220190816
14887634615 3168 050246 3952 808gccgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019082220190816
14902819251 3168 032781 3944 808gccgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019082220190816
14936020165 3168 033533 3944 808gccgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019082220190816
15046019149 3168 032485 3944 808gccgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019082220190816
15367219251 3168 032781 3944 808gccgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019082220190816
15414017719 3168 032213 3936 1136gccclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019082220190816
15579225882 3168 038358 3952 808gccgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019082220190816
15619218465 3168 036013 3936 752gccclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082220190816
15657219149 3168 032485 3944 808gccgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019082220190816
1574888854 3168 018941 3944 808gccgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019082220190816
1579249471 3168 019669 3944 808gccgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019082220190816
15844819228 3168 032757 3944 808gccgcc_-funroll-loops_-O_-fomit-frame-pointer2019082220190816
1585968091 3168 017313 3928 776gccgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019082220190816
1611328106 3168 017329 3928 776gccgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019082220190816
1653248854 3168 018941 3944 808gccgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019082220190816
1659449224 3168 019341 3944 808gccgcc_-march=nocona_-O_-fomit-frame-pointer2019082220190816
1668328097 3168 017313 3928 776gccgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019082220190816
1671169591 3168 019765 3944 808gccgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019082220190816
1678689367 3168 019557 3944 808gccgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019082220190816
16806016194 6336 017313 3928 776gccgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019082220190816
1694128091 3168 017313 3928 776gccgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019082220190816
1697288088 3168 017313 3928 776gccgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019082220190816
1707809139 3168 019005 3944 808gccgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019082220190816
17128820060 6336 020581 3944 808gccgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019082220190816
1713048855 3168 018941 3944 808gccgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019082220190816
1715728091 3168 017313 3928 776gccgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019082220190816
1719689102 3168 019181 3944 808gccgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019082220190816
1725329367 3168 019557 3944 808gccgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019082220190816
1728048854 3168 018941 3944 808gccgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019082220190816
1739448088 3168 017313 3928 776gccgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019082220190816
1739769102 3168 019181 3944 808gccgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019082220190816
17409210030 3168 020581 3944 808gccgcc_-march=barcelona_-O2_-fomit-frame-pointer2019082220190816
1749728222 3168 017473 3928 776gccgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082220190816
1751449130 3168 019213 3944 808gccgcc_-m64_-O_-fomit-frame-pointer2019082220190816
1758769139 3168 019005 3944 808gccgcc_-march=nocona_-O2_-fomit-frame-pointer2019082220190816
1765929367 3168 019557 3944 808gccgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019082220190816
1780289631 3168 019821 3944 808gccgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019082220190816
1782939171 3168 019317 3944 808gccgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019082220190816
1788888097 3168 017313 3928 776gccgcc_-march=barcelona_-Os_-fomit-frame-pointer2019082220190816
1789009081 3168 019165 3944 808gccgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019082220190816
1791329128 3168 019213 3944 808gccgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019082220190816
1793089566 3168 019781 3944 808gccgcc_-march=k8_-O2_-fomit-frame-pointer2019082220190816
1803608306 3168 017553 3928 776gccgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019082220190816
1819168222 3168 017473 3928 776gccgcc_-funroll-loops_-Os_-fomit-frame-pointer2019082220190816
1825648097 3168 017313 3928 776gccgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082220190816
1831568222 3168 017473 3928 776gccgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019082220190816
1841769671 3168 019869 3944 808gccgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019082220190816
1846809130 3168 019213 3944 808gccgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019082220190816
1856568097 3168 017313 3928 776gccgcc_-m64_-Os_-fomit-frame-pointer2019082220190816
1862049224 3168 019341 3944 808gccgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019082220190816
1866688306 3168 017553 3928 776gccgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019082220190816
1874088181 3168 017409 3928 776gccgcc_-march=k8_-Os_-fomit-frame-pointer2019082220190816
1877529671 3168 019861 3944 808gccgcc_-m64_-O2_-fomit-frame-pointer2019082220190816
1888649671 3168 019861 3944 808gccgcc_-O2_-fomit-frame-pointer2019082220190816
18998417978 6336 019093 3944 808gccgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019082220190816
1902209171 3168 019317 3944 808gccgcc_-march=k8_-O_-fomit-frame-pointer2019082220190816
1911769566 3168 019781 3944 808gccgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019082220190816
1919649631 3168 019821 3944 808gccgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019082220190816
1938889671 3168 019861 3944 808gccgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082220190816
1957488989 3168 019093 3944 808gccgcc_-march=barcelona_-O_-fomit-frame-pointer2019082220190816
1963008222 3168 017473 3928 776gccgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019082220190816
1963448099 3168 017313 3928 776gccgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019082220190816
2021328092 3168 017313 3928 776gccgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019082220190816
2066008222 3168 017473 3928 776gccgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019082220190816
2136648217 3168 017457 3928 776gccgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019082220190816
2138728097 3168 017313 3928 776gccgcc_-Os_-fomit-frame-pointer2019082220190816
2141768092 3168 017313 3928 776gccgcc_-march=nocona_-Os_-fomit-frame-pointer2019082220190816
2161608181 3168 017409 3928 776gccgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019082220190816
2163169130 3168 019213 3944 808gccgcc_-O_-fomit-frame-pointer2019082220190816
2221808217 3168 017457 3928 776gccgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019082220190816
63568021059 3168 032526 3936 768gccgcc2019082220190816
64871621059 3168 032526 3936 768gcccc2019082220190816
70152821059 3168 032526 3936 768gccgcc_-funroll-loops2019082220190816

Test failure

Implementation: gcc
Security model: unknown
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer gcc
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer gcc
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer gcc

Compiler output

Implementation: gcc
Security model: unknown
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: 8, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments gcc
clang -O3 -fwrapv -march=native -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