Implementation notes: amd64, pmnod003, crypto_hash/mgrostl256

Computer: pmnod003
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20190910
Operation: crypto_hash
Primitive: mgrostl256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
33200210036 16384 0224251 17296 744opt-64icc_-xSSE4.2_-O3_-fomit-frame-pointer2019091220190910
33276210164 16384 0224519 17296 744opt-64icc_-xSSE4.1_-O3_-fomit-frame-pointer2019091220190910
33522212796 16384 0228517 17296 776opt-64icc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091220190910
33732213428 16384 0228907 17296 744opt-64icc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091220190910
33750213428 16384 0228907 17296 744opt-64icc_-xAVX_-O3_-fomit-frame-pointer2019091220190910
33892213668 16384 0229085 17296 744opt-64icc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091220190910
34376213812 16384 0229853 17296 776opt-64icc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091220190910
36978222108 16384 0236391 17296 744opt-64icc_-xSSE4.1_-O2_-fomit-frame-pointer2019091220190910
37086222236 16384 0236395 17296 744opt-64icc_-xSSE4.2_-O2_-fomit-frame-pointer2019091220190910
37202224420 16384 0239867 17296 744opt-64icc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091220190910
37228224420 16384 0239867 17296 744opt-64icc_-xAVX_-O2_-fomit-frame-pointer2019091220190910
37408221772 16384 0238021 17296 776opt-64icc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091220190910
37686222204 16384 0238037 17296 744opt-64icc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091220190910
37696222412 16384 0238549 17296 776opt-64icc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091220190910
5796873240 0 048203 872 744opt-32icc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091220190910
5804071968 0 046675 872 744opt-32icc_-xSSE4.2_-O3_-fomit-frame-pointer2019091220190910
5814473240 0 048203 872 744opt-32icc_-xAVX_-O3_-fomit-frame-pointer2019091220190910
5817071968 0 046815 872 744opt-32icc_-xSSE4.1_-O3_-fomit-frame-pointer2019091220190910
5831270504 0 047653 872 776opt-32icc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091220190910
5836268504 0 046349 872 744opt-32icc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091220190910
5841071280 0 046571 872 744opt-32icc_-xSSE4.2_-O2_-fomit-frame-pointer2019091220190910
5842272360 0 048083 872 744opt-32icc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091220190910
5846271280 0 046695 872 744opt-32icc_-xSSE4.1_-O2_-fomit-frame-pointer2019091220190910
5848472360 0 048083 872 744opt-32icc_-xAVX_-O2_-fomit-frame-pointer2019091220190910
5858066664 0 045925 872 776opt-32icc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091220190910
5868067848 0 046693 872 744opt-32icc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091220190910
5869669512 0 047693 872 776opt-32icc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091220190910
5889265720 0 046381 872 776opt-32icc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091220190910
6083248985 0 037683 848 776opt-32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
6135042772 0 031582 840 776opt-32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
6172843168 0 031838 840 776opt-32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
6768042514 0 030590 824 776opt-32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
20916945144 384 015249 1224 776refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
210906014272 384 027134 1232 776refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
287264023224 384 039078 1264 744reficc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091220190910
288627021280 384 036748 1264 744reficc_-xAVX_-O2_-fomit-frame-pointer2019091220190910
288977621280 384 036748 1264 744reficc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091220190910
290990421808 384 037308 1264 744reficc_-xAVX_-O3_-fomit-frame-pointer2019091220190910
291235621808 384 037308 1264 744reficc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091220190910
291425819096 384 033265 1264 744reficc_-xSSE4.2_-O2_-fomit-frame-pointer2019091220190910
292532019448 384 033813 1264 744reficc_-xSSE4.1_-O3_-fomit-frame-pointer2019091220190910
293636418552 384 034600 1256 776reficc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091220190910
294935619448 384 033673 1264 744reficc_-xSSE4.2_-O3_-fomit-frame-pointer2019091220190910
295205419144 384 035096 1256 776reficc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091220190910
295388219096 384 033389 1264 744reficc_-xSSE4.1_-O2_-fomit-frame-pointer2019091220190910
296512622520 384 038732 1264 776reficc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091220190910
297716022992 384 038676 1264 776reficc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091220190910
29771884478 384 014513 1224 776refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
305220823688 384 039126 1264 744reficc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091220190910
46292043727 384 012897 1208 776refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910

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 -xAVX -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: 14, namely:
CompilerImplementations
icc -xAVX -O2 -fomit-frame-pointer opt-64
icc -xAVX -O3 -fomit-frame-pointer opt-64
icc -xCOMMON-AVX512 -O2 -fomit-frame-pointer opt-64
icc -xCOMMON-AVX512 -O3 -fomit-frame-pointer opt-64
icc -xCORE-AVX-I -O2 -fomit-frame-pointer opt-64
icc -xCORE-AVX-I -O3 -fomit-frame-pointer opt-64
icc -xCORE-AVX2 -O2 -fomit-frame-pointer opt-64
icc -xCORE-AVX2 -O3 -fomit-frame-pointer opt-64
icc -xCORE-AVX512 -O2 -fomit-frame-pointer opt-64
icc -xCORE-AVX512 -O3 -fomit-frame-pointer opt-64
icc -xSSE4.1 -O2 -fomit-frame-pointer opt-64
icc -xSSE4.1 -O3 -fomit-frame-pointer opt-64
icc -xSSE4.2 -O2 -fomit-frame-pointer opt-64
icc -xSSE4.2 -O3 -fomit-frame-pointer opt-64