Implementation notes: amd64, genji548, crypto_hash/mgrostl256

Computer: genji548
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20191017
Operation: crypto_hash
Primitive: mgrostl256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
33374209916 16384 0224125 17296 744opt-64icc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019101920191017
33654212948 16384 0229317 17296 776opt-64icc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019101920191017
33698213452 16384 0228925 17296 744opt-64icc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019101920191017
33736213452 16384 0228925 17296 744opt-64icc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019101920191017
33756213452 16384 0228925 17296 744opt-64icc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019101920191017
33796213452 16384 0228925 17296 744opt-64icc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019101920191017
34044213684 16384 0229093 17296 744opt-64icc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019101920191017
34154213684 16384 0229093 17296 744opt-64icc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019101920191017
34180213684 16384 0229093 17296 744opt-64icc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019101920191017
34192213684 16384 0229093 17296 744opt-64icc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019101920191017
34272213812 16384 0229829 17296 776opt-64icc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019101920191017
37108222236 16384 0236389 17296 744opt-64icc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019101920191017
37188224420 16384 0239861 17296 744opt-64icc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019101920191017
37246224420 16384 0239861 17296 744opt-64icc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019101920191017
37292224420 16384 0239861 17296 744opt-64icc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019101920191017
37314224420 16384 0239861 17296 744opt-64icc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019101920191017
37620222204 16384 0238013 17296 744opt-64icc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019101920191017
37626222204 16384 0238013 17296 744opt-64icc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019101920191017
37666222204 16384 0238013 17296 744opt-64icc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019101920191017
37686222204 16384 0238013 17296 744opt-64icc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019101920191017
37724222412 16384 0238541 17296 776opt-64icc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019101920191017
37772222068 16384 0238789 17296 776opt-64icc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019101920191017
5797673240 0 048197 872 744opt-32icc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019101920191017
5798271968 0 046669 872 744opt-32icc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019101920191017
5800273240 0 048197 872 744opt-32icc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019101920191017
5801273240 0 048197 872 744opt-32icc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019101920191017
5802673240 0 048197 872 744opt-32icc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019101920191017
5830072360 0 048077 872 744opt-32icc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019101920191017
5831068504 0 046341 872 744opt-32icc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019101920191017
5832672360 0 048077 872 744opt-32icc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019101920191017
5833672360 0 048077 872 744opt-32icc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019101920191017
5833872360 0 048077 872 744opt-32icc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019101920191017
5834268504 0 046341 872 744opt-32icc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019101920191017
5836468504 0 046341 872 744opt-32icc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019101920191017
5840271280 0 046565 872 744opt-32icc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019101920191017
5841668504 0 046341 872 744opt-32icc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019101920191017
5854070504 0 047629 872 776opt-32icc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019101920191017
5869269512 0 047685 872 776opt-32icc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019101920191017
5870467848 0 046669 872 744opt-32icc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019101920191017
5871467848 0 046669 872 744opt-32icc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019101920191017
5872667736 0 046605 872 776opt-32icc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019101920191017
5874867848 0 046669 872 744opt-32icc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019101920191017
5879867848 0 046669 872 744opt-32icc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019101920191017
5894866680 0 046885 872 776opt-32icc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019101920191017
6078848985 0 037625 832 776opt-32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101920191017
6118842772 0 031524 824 776opt-32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101920191017
6171243168 0 031780 824 776opt-32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101920191017
6757642514 0 030532 808 776opt-32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101920191017
21154705144 384 015191 1208 776refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101920191017
212106814272 384 027076 1216 776refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101920191017
287751623224 384 039054 1264 744reficc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019101920191017
287973823224 384 039054 1264 744reficc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019101920191017
288050223224 384 039054 1264 744reficc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019101920191017
288997221280 384 036742 1264 744reficc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019101920191017
289243023224 384 039054 1264 744reficc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019101920191017
289484221280 384 036742 1264 744reficc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019101920191017
289978621280 384 036742 1264 744reficc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019101920191017
290283421280 384 036742 1264 744reficc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019101920191017
290640823688 384 039118 1264 744reficc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019101920191017
290801821808 384 037302 1264 744reficc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019101920191017
290824221808 384 037302 1264 744reficc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019101920191017
291197421808 384 037302 1264 744reficc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019101920191017
291274023688 384 039118 1264 744reficc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019101920191017
291417021808 384 037302 1264 744reficc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019101920191017
291612023688 384 039118 1264 744reficc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019101920191017
291725619096 384 033259 1264 744reficc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019101920191017
291876023688 384 039118 1264 744reficc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019101920191017
292238019144 384 035072 1256 776reficc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019101920191017
294097418552 384 034592 1256 776reficc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019101920191017
295208819448 384 033667 1264 744reficc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019101920191017
30171804478 384 014455 1208 776refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101920191017
302677433600 384 050315 1272 776reficc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019101920191017
303477033704 384 050067 1272 776reficc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019101920191017
46663923727 384 012839 1192 776refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101920191017

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