Implementation notes: amd64, pmnod003, crypto_hash/mgrostl256

Computer: pmnod003
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_hash
Primitive: mgrostl256
TimeImplementationCompilerBenchmark dateSUPERCOP version
33272opt-64icc -xSSE4.1 -O3 -fomit-frame-pointer2019081920190816
33546opt-64icc -xSSE4.2 -O3 -fomit-frame-pointer2019081920190816
33590opt-64icc -xCOMMON-AVX512 -O3 -fomit-frame-pointer2019081920190816
33680opt-64icc -xAVX -O3 -fomit-frame-pointer2019081920190816
33732opt-64icc -xCORE-AVX-I -O3 -fomit-frame-pointer2019081920190816
33906opt-64icc -xCORE-AVX2 -O3 -fomit-frame-pointer2019081920190816
34258opt-64icc -xCORE-AVX512 -O3 -fomit-frame-pointer2019081920190816
37032opt-64icc -xSSE4.1 -O2 -fomit-frame-pointer2019081920190816
37098opt-64icc -xSSE4.2 -O2 -fomit-frame-pointer2019081920190816
37230opt-64icc -xAVX -O2 -fomit-frame-pointer2019081920190816
37232opt-64icc -xCORE-AVX-I -O2 -fomit-frame-pointer2019081920190816
37454opt-64icc -xCOMMON-AVX512 -O2 -fomit-frame-pointer2019081920190816
37684opt-64icc -xCORE-AVX2 -O2 -fomit-frame-pointer2019081920190816
37866opt-64icc -xCORE-AVX512 -O2 -fomit-frame-pointer2019081920190816
58010opt-32icc -xAVX -O3 -fomit-frame-pointer2019081920190816
58020opt-32icc -xCORE-AVX-I -O3 -fomit-frame-pointer2019081920190816
58104opt-32icc -xSSE4.2 -O3 -fomit-frame-pointer2019081920190816
58202opt-32icc -xSSE4.1 -O3 -fomit-frame-pointer2019081920190816
58304opt-32icc -xCORE-AVX512 -O3 -fomit-frame-pointer2019081920190816
58314opt-32icc -xCORE-AVX-I -O2 -fomit-frame-pointer2019081920190816
58326opt-32icc -xAVX -O2 -fomit-frame-pointer2019081920190816
58402opt-32icc -xCORE-AVX2 -O3 -fomit-frame-pointer2019081920190816
58480opt-32icc -xSSE4.2 -O2 -fomit-frame-pointer2019081920190816
58496opt-32icc -xSSE4.1 -O2 -fomit-frame-pointer2019081920190816
58508opt-32icc -xCOMMON-AVX512 -O3 -fomit-frame-pointer2019081920190816
58720opt-32icc -xCORE-AVX2 -O2 -fomit-frame-pointer2019081920190816
58762opt-32icc -xCORE-AVX512 -O2 -fomit-frame-pointer2019081920190816
58844opt-32icc -xCOMMON-AVX512 -O2 -fomit-frame-pointer2019081920190816
60480opt-32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2019081920190816
61342opt-32gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2019081920190816
61686opt-32gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2019081920190816
67152opt-32gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2019081920190816
2108068refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2019081920190816
2110840refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2019081920190816
2863388refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2019081920190816
2872524reficc -xCORE-AVX2 -O2 -fomit-frame-pointer2019081920190816
2882720reficc -xCORE-AVX-I -O2 -fomit-frame-pointer2019081920190816
2887254reficc -xAVX -O2 -fomit-frame-pointer2019081920190816
2897814reficc -xCORE-AVX-I -O3 -fomit-frame-pointer2019081920190816
2910044reficc -xSSE4.2 -O2 -fomit-frame-pointer2019081920190816
2911232reficc -xCORE-AVX2 -O3 -fomit-frame-pointer2019081920190816
2914196reficc -xAVX -O3 -fomit-frame-pointer2019081920190816
2914398reficc -xSSE4.1 -O3 -fomit-frame-pointer2019081920190816
2931506reficc -xCORE-AVX512 -O2 -fomit-frame-pointer2019081920190816
2933022reficc -xCORE-AVX512 -O3 -fomit-frame-pointer2019081920190816
2941298reficc -xSSE4.2 -O3 -fomit-frame-pointer2019081920190816
2951206reficc -xSSE4.1 -O2 -fomit-frame-pointer2019081920190816
2975312reficc -xCOMMON-AVX512 -O3 -fomit-frame-pointer2019081920190816
2979456reficc -xCOMMON-AVX512 -O2 -fomit-frame-pointer2019081920190816
4766796refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2019081920190816

Compiler output

Implementation: crypto_hash/mgrostl256/opt-64
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
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 opt-64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv opt-64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv opt-64

Compiler output

Implementation: crypto_hash/mgrostl256/opt-64
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
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 opt-64

Compiler output

Implementation: crypto_hash/mgrostl256/opt-64
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