Implementation notes: amd64, gpu, crypto_hash/essence256

Computer: gpu
Architecture: amd64
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_hash
Primitive: essence256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1002128106 3168 017329 3928 776gccgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019082220190816
10705222509 3168 035086 3952 808gccgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019082220190816
10867222509 3168 035086 3952 808gccgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019082220190816
11382022509 3168 035086 3952 808gccgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019082220190816
11887632385 3168 047206 3952 808gccgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082220190816
11893632385 3168 047206 3952 808gccgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019082220190816
12085625722 3168 038230 3952 808gccgcc_-m64_-O3_-fomit-frame-pointer2019082220190816
12332425722 3168 038230 3952 808gccgcc_-O3_-fomit-frame-pointer2019082220190816
12356020265 3168 033685 3944 808gccgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019082220190816
12438833924 3168 048510 3952 808gccgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019082220190816
12440420036 3168 033125 3944 808gccgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019082220190816
12451233924 3168 048510 3952 808gccgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019082220190816
12537234615 3168 050246 3952 808gccgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019082220190816
12633626054 3168 038334 3952 808gccgcc_-march=nocona_-O3_-fomit-frame-pointer2019082220190816
12670832385 3168 047206 3952 808gccgcc_-funroll-loops_-O3_-fomit-frame-pointer2019082220190816
12760026818 3168 039846 3952 808gccgcc_-march=barcelona_-O3_-fomit-frame-pointer2019082220190816
12811620036 3168 033125 3944 808gccgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019082220190816
12921625898 3168 038438 3952 808gccgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019082220190816
12939218875 3168 034085 3936 1136gccclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082220190816
12968420265 3168 033685 3944 808gccgcc_-funroll-loops_-O2_-fomit-frame-pointer2019082220190816
12971220265 3168 033685 3944 808gccgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082220190816
12990420207 3168 033781 3944 808gccgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019082220190816
13042025537 3168 037894 3952 808gccgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019082220190816
13068035031 3168 050542 3952 808gccgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019082220190816
13100418875 3168 034085 3936 1136gccclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2019082220190816
13331218409 3168 034685 3936 752gccclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019082220190816
13438025882 3168 038358 3952 808gccgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019082220190816
13611634615 3168 050246 3952 808gccgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019082220190816
13650419149 3168 032485 3944 808gccgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019082220190816
13715619571 3168 033029 3944 808gccgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019082220190816
13776819228 3168 032757 3944 808gccgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019082220190816
13780020165 3168 033533 3944 808gccgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019082220190816
13875226054 3168 038334 3952 808gccgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019082220190816
13914053636 6336 039846 3952 808gccgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019082220190816
13929225722 3168 038230 3952 808gccgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082220190816
13967225882 3168 038422 3952 808gccgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019082220190816
13968420207 3168 033781 3944 808gccgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019082220190816
14037618465 3168 036069 3936 752gccclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082220190816
14055222517 3168 035006 3952 808gccgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019082220190816
14194017719 3168 032253 3936 1136gccclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019082220190816
14217619228 3168 032757 3944 808gccgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019082220190816
14316020165 3168 033533 3944 808gccgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019082220190816
14333227125 3168 039982 3952 808gccgcc_-march=k8_-O3_-fomit-frame-pointer2019082220190816
1437289367 3168 019525 3944 808gccgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019082220190816
1440879367 3168 019525 3944 808gccgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019082220190816
14474019251 3168 032781 3944 808gccgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019082220190816
14526835031 3168 050542 3952 808gccgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019082220190816
14527619228 3168 032757 3944 808gccgcc_-funroll-loops_-O_-fomit-frame-pointer2019082220190816
14709619251 3168 032781 3944 808gccgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019082220190816
14785617719 3168 032253 3936 1136gccclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019082220190816
1481568091 3168 017313 3928 776gccgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019082220190816
1483118091 3168 017313 3928 776gccgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019082220190816
14837227125 3168 039982 3952 808gccgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019082220190816
14840418465 3168 036069 3936 752gccclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082220190816
14982418465 3168 036069 3936 752gccclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082220190816
15378419149 3168 032485 3944 808gccgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019082220190816
15577219571 3168 033029 3944 808gccgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019082220190816
1577409631 3168 019837 3944 808gccgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019082220190816
1596089471 3168 019637 3944 808gccgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019082220190816
1619109081 3168 019165 3944 808gccgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019082220190816
1629408091 3168 017313 3928 776gccgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019082220190816
1650649631 3168 019837 3944 808gccgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019082220190816
1657289367 3168 019525 3944 808gccgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019082220190816
1664609224 3168 019341 3944 808gccgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019082220190816
1692009102 3168 019181 3944 808gccgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019082220190816
16998417978 6336 019093 3944 808gccgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019082220190816
1704329128 3168 019213 3944 808gccgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019082220190816
1704568854 3168 018941 3944 808gccgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019082220190816
1705058222 3168 017473 3928 776gccgcc_-funroll-loops_-Os_-fomit-frame-pointer2019082220190816
1710128099 3168 017313 3928 776gccgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019082220190816
1716888306 3168 017553 3928 776gccgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019082220190816
1724088181 3168 017409 3928 776gccgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019082220190816
1724859139 3168 019021 3944 808gccgcc_-march=nocona_-O2_-fomit-frame-pointer2019082220190816
17368420060 6336 020581 3944 808gccgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019082220190816
1740728855 3168 018941 3944 808gccgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019082220190816
1742409566 3168 019781 3944 808gccgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019082220190816
1743169224 3168 019341 3944 808gccgcc_-march=nocona_-O_-fomit-frame-pointer2019082220190816
1753768097 3168 017313 3928 776gccgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019082220190816
1764289130 3168 019213 3944 808gccgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019082220190816
1769569139 3168 019021 3944 808gccgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019082220190816
1775009671 3168 019885 3944 808gccgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019082220190816
1775488222 3168 017473 3928 776gccgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019082220190816
1778608088 3168 017313 3928 776gccgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019082220190816
1789688222 3168 017473 3928 776gccgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082220190816
1809208222 3168 017473 3928 776gccgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019082220190816
1818648222 3168 017473 3928 776gccgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019082220190816
1821448088 3168 017313 3928 776gccgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019082220190816
1823929591 3168 019733 3944 808gccgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019082220190816
1824089130 3168 019213 3944 808gccgcc_-m64_-O_-fomit-frame-pointer2019082220190816
1824689102 3168 019181 3944 808gccgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019082220190816
1826088854 3168 018941 3944 808gccgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019082220190816
1837449566 3168 019781 3944 808gccgcc_-march=k8_-O2_-fomit-frame-pointer2019082220190816
1840168097 3168 017313 3928 776gccgcc_-Os_-fomit-frame-pointer2019082220190816
1846168097 3168 017313 3928 776gccgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082220190816
1846809171 3168 019317 3944 808gccgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019082220190816
1863528097 3168 017313 3928 776gccgcc_-m64_-Os_-fomit-frame-pointer2019082220190816
1866129171 3168 019317 3944 808gccgcc_-march=k8_-O_-fomit-frame-pointer2019082220190816
18708816194 6336 017313 3928 776gccgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019082220190816
1877408097 3168 017313 3928 776gccgcc_-march=barcelona_-Os_-fomit-frame-pointer2019082220190816
1887528854 3168 018941 3944 808gccgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019082220190816
1893609130 3168 019213 3944 808gccgcc_-O_-fomit-frame-pointer2019082220190816
1896209671 3168 019829 3944 808gccgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082220190816
1916688217 3168 017457 3928 776gccgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019082220190816
1970769671 3168 019829 3944 808gccgcc_-O2_-fomit-frame-pointer2019082220190816
1992568092 3168 017313 3928 776gccgcc_-march=nocona_-Os_-fomit-frame-pointer2019082220190816
2004689671 3168 019829 3944 808gccgcc_-m64_-O2_-fomit-frame-pointer2019082220190816
2015008181 3168 017409 3928 776gccgcc_-march=k8_-Os_-fomit-frame-pointer2019082220190816
2016168092 3168 017313 3928 776gccgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019082220190816
2062888989 3168 019093 3944 808gccgcc_-march=barcelona_-O_-fomit-frame-pointer2019082220190816
2106728306 3168 017553 3928 776gccgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019082220190816
21650010030 3168 020581 3944 808gccgcc_-march=barcelona_-O2_-fomit-frame-pointer2019082220190816
2243688217 3168 017457 3928 776gccgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019082220190816
64096421059 3168 032526 3936 768gccgcc2019082220190816
64418021059 3168 032526 3936 768gccgcc_-funroll-loops2019082220190816
65180021059 3168 032526 3936 768gcccc2019082220190816

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