Implementation notes: amd64, genji239, crypto_hash/mgrostl256

Computer: genji239
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20191017
Operation: crypto_hash
Primitive: mgrostl256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
33366209916 16384 0224125 17296 744opt-64icc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102020191017
33638212948 16384 0229317 17296 776opt-64icc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102020191017
33678213452 16384 0228925 17296 744opt-64icc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102020191017
33726213452 16384 0228925 17296 744opt-64icc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102020191017
33732213452 16384 0228925 17296 744opt-64icc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102020191017
33734213452 16384 0228925 17296 744opt-64icc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102020191017
34034213684 16384 0229093 17296 744opt-64icc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102020191017
34064213684 16384 0229093 17296 744opt-64icc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102020191017
34070213684 16384 0229093 17296 744opt-64icc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102020191017
34106213684 16384 0229093 17296 744opt-64icc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102020191017
34404213812 16384 0229829 17296 776opt-64icc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102020191017
37118222236 16384 0236389 17296 744opt-64icc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102020191017
37174224420 16384 0239861 17296 744opt-64icc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102020191017
37216224420 16384 0239861 17296 744opt-64icc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102020191017
37256224420 16384 0239861 17296 744opt-64icc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102020191017
37274224420 16384 0239861 17296 744opt-64icc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102020191017
37624222204 16384 0238013 17296 744opt-64icc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102020191017
37686222204 16384 0238013 17296 744opt-64icc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102020191017
37704222204 16384 0238013 17296 744opt-64icc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102020191017
37716222412 16384 0238541 17296 776opt-64icc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102020191017
37872222068 16384 0238789 17296 776opt-64icc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102020191017
5800071968 0 046669 872 744opt-32icc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102020191017
5800273240 0 048197 872 744opt-32icc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102020191017
5800473240 0 048197 872 744opt-32icc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102020191017
5806273240 0 048197 872 744opt-32icc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102020191017
5810273240 0 048197 872 744opt-32icc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102020191017
5831872360 0 048077 872 744opt-32icc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102020191017
5832672360 0 048077 872 744opt-32icc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102020191017
5834072360 0 048077 872 744opt-32icc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102020191017
5837868504 0 046341 872 744opt-32icc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102020191017
5838868504 0 046341 872 744opt-32icc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102020191017
5846272360 0 048077 872 744opt-32icc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102020191017
5846471280 0 046565 872 744opt-32icc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102020191017
5846468504 0 046341 872 744opt-32icc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102020191017
5853270504 0 047629 872 776opt-32icc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102020191017
5853468504 0 046341 872 744opt-32icc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102020191017
5868867848 0 046669 872 744opt-32icc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102020191017
5870467848 0 046669 872 744opt-32icc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102020191017
5870867736 0 046605 872 776opt-32icc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102020191017
5875069512 0 047685 872 776opt-32icc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102020191017
5876067848 0 046669 872 744opt-32icc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102020191017
5881467848 0 046669 872 744opt-32icc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102020191017
6075048985 0 037625 832 776opt-32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
6127442772 0 031524 824 776opt-32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
6176443168 0 031780 824 776opt-32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
66716222204 16384 0238013 17296 744opt-64icc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102020191017
6747642514 0 030532 808 776opt-32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
8809466680 0 046885 872 776opt-32icc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102020191017
208591014272 384 027076 1216 776refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
21135645144 384 015191 1208 776refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
287576023224 384 039054 1264 744reficc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102020191017
288069823224 384 039054 1264 744reficc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102020191017
288260623224 384 039054 1264 744reficc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102020191017
288392023224 384 039054 1264 744reficc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102020191017
289057621280 384 036742 1264 744reficc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102020191017
289274021280 384 036742 1264 744reficc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102020191017
289330221280 384 036742 1264 744reficc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102020191017
289871021280 384 036742 1264 744reficc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102020191017
290395621808 384 037302 1264 744reficc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102020191017
290504223688 384 039118 1264 744reficc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102020191017
291463423688 384 039118 1264 744reficc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102020191017
292001819144 384 035072 1256 776reficc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102020191017
292049621808 384 037302 1264 744reficc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102020191017
292363619096 384 033259 1264 744reficc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102020191017
292903423688 384 039118 1264 744reficc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102020191017
293362421808 384 037302 1264 744reficc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102020191017
294266818552 384 034592 1256 776reficc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102020191017
294934423688 384 039118 1264 744reficc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102020191017
295873019448 384 033667 1264 744reficc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102020191017
30102304478 384 014455 1208 776refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
302391633600 384 050315 1272 776reficc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102020191017
304011833704 384 050067 1272 776reficc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102020191017
305130621808 384 037302 1264 744reficc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102020191017
46479603727 384 012839 1192 776refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017

Test failure

Implementation: opt-32
Security model: unknown
Compiler: icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer opt-32
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer opt-32
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer opt-64
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer opt-64
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer ref
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer ref

Compiler output

Implementation: opt-64
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: hash.c:242:14: warning: 'inP' is static but declared in inline function 'F1024' which is not static
hash.c: 242 | static u64 inP[COLS1024] __attribute__((aligned(16)));
hash.c: | ^~~
hash.c: hash.c:241:14: warning: 'outQ' is static but declared in inline function 'F1024' which is not static
hash.c: 241 | static u64 outQ[COLS1024] __attribute__((aligned(16)));
hash.c: | ^~~~
hash.c: hash.c:240:14: warning: 'z' is static but declared in inline function 'F1024' which is not static
hash.c: 240 | static u64 z[COLS1024] __attribute__((aligned(16)));
hash.c: | ^
hash.c: hash.c:239:14: warning: 'y' is static but declared in inline function 'F1024' which is not static
hash.c: 239 | static u64 y[COLS1024] __attribute__((aligned(16)));
hash.c: | ^
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: crypto_hash_mgrostl256.a(hash.o): in function `Transform':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE opt-64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE opt-64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE opt-64

Compiler output

Implementation: opt-64
Security model: unknown
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: hash.c:242:14: warning: 'inP' is static but declared in inline function 'F1024' which is not static
hash.c: 242 | static u64 inP[COLS1024] __attribute__((aligned(16)));
hash.c: | ^~~
hash.c: hash.c:241:14: warning: 'outQ' is static but declared in inline function 'F1024' which is not static
hash.c: 241 | static u64 outQ[COLS1024] __attribute__((aligned(16)));
hash.c: | ^~~~
hash.c: hash.c:240:14: warning: 'z' is static but declared in inline function 'F1024' which is not static
hash.c: 240 | static u64 z[COLS1024] __attribute__((aligned(16)));
hash.c: | ^
hash.c: hash.c:239:14: warning: 'y' is static but declared in inline function 'F1024' which is not static
hash.c: 239 | static u64 y[COLS1024] __attribute__((aligned(16)));
hash.c: | ^
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: crypto_hash_mgrostl256.a(hash.o): in function `Transform':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: crypto_hash_mgrostl256.a(hash.o): in function `Update':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: hash.c:(.text+0x...): undefined reference to `F512'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: crypto_hash_mgrostl256.a(hash.o): in function `Final':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: hash.c:(.text+0x...): undefined reference to `F512'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE opt-64

Compiler output

Implementation: opt-64
Security model: unknown
Compiler: icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer
hash.c: hash.c(242): warning #1172: a variable with static storage duration cannot be defined within an inline function
hash.c: static u64 inP[COLS1024] __attribute__((aligned(16)));
hash.c: ^
hash.c:
hash.c: hash.c(241): warning #1172: a variable with static storage duration cannot be defined within an inline function
hash.c: static u64 outQ[COLS1024] __attribute__((aligned(16)));
hash.c: ^
hash.c:
hash.c: hash.c(240): warning #1172: a variable with static storage duration cannot be defined within an inline function
hash.c: static u64 z[COLS1024] __attribute__((aligned(16)));
hash.c: ^
hash.c:
hash.c: hash.c(239): warning #1172: a variable with static storage duration cannot be defined within an inline function
hash.c: static u64 y[COLS1024] __attribute__((aligned(16)));
hash.c: ^
hash.c:

Number of similar (compiler,implementation) pairs: 24, namely:
CompilerImplementations
icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer opt-64
icc -march=broadwell -mtune=broadwell -O3 -fomit-frame-pointer opt-64
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer opt-64
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer opt-64
icc -march=core-avx-i -mtune=core-avx-i -O2 -fomit-frame-pointer opt-64
icc -march=core-avx-i -mtune=core-avx-i -O3 -fomit-frame-pointer opt-64
icc -march=core-avx2 -mtune=core-avx2 -O2 -fomit-frame-pointer opt-64
icc -march=core-avx2 -mtune=core-avx2 -O3 -fomit-frame-pointer opt-64
icc -march=corei7-avx -mtune=corei7-avx -O2 -fomit-frame-pointer opt-64
icc -march=corei7-avx -mtune=corei7-avx -O3 -fomit-frame-pointer opt-64
icc -march=corei7 -mtune=corei7 -O2 -fomit-frame-pointer opt-64
icc -march=corei7 -mtune=corei7 -O3 -fomit-frame-pointer opt-64
icc -march=haswell -mtune=haswell -O2 -fomit-frame-pointer opt-64
icc -march=haswell -mtune=haswell -O3 -fomit-frame-pointer opt-64
icc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer opt-64
icc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer opt-64
icc -march=ivybridge -mtune=ivybridge -O2 -fomit-frame-pointer opt-64
icc -march=ivybridge -mtune=ivybridge -O3 -fomit-frame-pointer opt-64
icc -march=sandybridge -mtune=sandybridge -O2 -fomit-frame-pointer opt-64
icc -march=sandybridge -mtune=sandybridge -O3 -fomit-frame-pointer opt-64
icc -march=skylake-avx512 -mtune=skylake-avx512 -O2 -fomit-frame-pointer opt-64
icc -march=skylake-avx512 -mtune=skylake-avx512 -O3 -fomit-frame-pointer opt-64
icc -march=skylake -mtune=skylake -O2 -fomit-frame-pointer opt-64
icc -march=skylake -mtune=skylake -O3 -fomit-frame-pointer opt-64