Implementation notes: amd64, pmnod076, crypto_hash/mgrostl256

Computer: pmnod076
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20191017
Operation: crypto_hash
Primitive: mgrostl256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
33806213452 16384 0228925 17296 744opt-64icc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102320191017
33820213452 16384 0228925 17296 744opt-64icc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102320191017
33828213452 16384 0228925 17296 744opt-64icc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102320191017
33832209916 16384 0224125 17296 744opt-64icc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102320191017
33846213452 16384 0228925 17296 744opt-64icc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102320191017
34090212948 16384 0229317 17296 776opt-64icc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102320191017
34224213684 16384 0229093 17296 744opt-64icc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102320191017
34240213684 16384 0229093 17296 744opt-64icc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102320191017
34248213684 16384 0229093 17296 744opt-64icc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102320191017
34248213684 16384 0229093 17296 744opt-64icc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102320191017
34638213812 16384 0229829 17296 776opt-64icc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102320191017
38068222204 16384 0238013 17296 744opt-64icc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102320191017
38074222236 16384 0236389 17296 744opt-64icc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102320191017
38088222204 16384 0238013 17296 744opt-64icc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102320191017
38088222412 16384 0238541 17296 776opt-64icc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102320191017
38112222204 16384 0238013 17296 744opt-64icc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102320191017
38152222204 16384 0238013 17296 744opt-64icc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102320191017
38168224420 16384 0239861 17296 744opt-64icc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102320191017
38186222068 16384 0238789 17296 776opt-64icc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102320191017
38220224420 16384 0239861 17296 744opt-64icc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102320191017
38226224420 16384 0239861 17296 744opt-64icc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102320191017
38484224420 16384 0239861 17296 744opt-64icc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102320191017
5806073240 0 048197 872 744opt-32icc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102320191017
5809273240 0 048197 872 744opt-32icc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102320191017
5813073240 0 048197 872 744opt-32icc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102320191017
5823673240 0 048197 872 744opt-32icc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102320191017
5840668504 0 046341 872 744opt-32icc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102320191017
5843068504 0 046341 872 744opt-32icc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102320191017
5845268504 0 046341 872 744opt-32icc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102320191017
5848471968 0 046669 872 744opt-32icc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102320191017
5852271280 0 046565 872 744opt-32icc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102320191017
5866869512 0 047685 872 776opt-32icc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102320191017
5870470504 0 047629 872 776opt-32icc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102320191017
5872272360 0 048077 872 744opt-32icc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102320191017
5874072360 0 048077 872 744opt-32icc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102320191017
5879267848 0 046669 872 744opt-32icc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102320191017
5880667848 0 046669 872 744opt-32icc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102320191017
5881472360 0 048077 872 744opt-32icc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102320191017
5885272360 0 048077 872 744opt-32icc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102320191017
5887867736 0 046605 872 776opt-32icc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102320191017
5889067848 0 046669 872 744opt-32icc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102320191017
5898867848 0 046669 872 744opt-32icc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102320191017
5909268504 0 046341 872 744opt-32icc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102320191017
5921466680 0 046885 872 776opt-32icc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102320191017
6090848985 0 037683 848 776opt-32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
6176643168 0 031838 840 776opt-32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
6178042772 0 031582 840 776opt-32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
6786242514 0 030590 824 776opt-32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
21003725144 384 015249 1224 776refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
212069414272 384 027134 1232 776refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
287673623224 384 039054 1264 744reficc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102320191017
287870423224 384 039054 1264 744reficc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102320191017
288272223224 384 039054 1264 744reficc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102320191017
288729023224 384 039054 1264 744reficc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102320191017
288735821280 384 036742 1264 744reficc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102320191017
289757821280 384 036742 1264 744reficc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102320191017
290141021280 384 036742 1264 744reficc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102320191017
290209421280 384 036742 1264 744reficc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102320191017
290455821808 384 037302 1264 744reficc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102320191017
290986023688 384 039118 1264 744reficc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102320191017
291135221808 384 037302 1264 744reficc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102320191017
291147623688 384 039118 1264 744reficc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102320191017
291334219096 384 033259 1264 744reficc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102320191017
291402621808 384 037302 1264 744reficc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102320191017
291544421808 384 037302 1264 744reficc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102320191017
291743219144 384 035072 1256 776reficc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102320191017
292256423688 384 039118 1264 744reficc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102320191017
293303023688 384 039118 1264 744reficc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102320191017
294765219448 384 033667 1264 744reficc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102320191017
294864018552 384 034592 1256 776reficc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102320191017
29821204478 384 014513 1224 776refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
301917033600 384 050315 1272 776reficc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102320191017
303595033704 384 050067 1272 776reficc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102320191017
46326003727 384 012897 1208 776refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017

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