Implementation notes: amd64, colossus5, crypto_hash/mgrostl256

Computer: colossus5
Architecture: amd64
CPU ID: AuthenticAMD-00800f12-178bfbff
SUPERCOP version: 20210125
Operation: crypto_hash
Primitive: mgrostl256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
6516052371 0 039894 792 808T:opt-32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021031020210125
6628043440 0 032861 784 808T:opt-32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021031020210125
6776042852 0 032341 784 808T:opt-32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021031020210125
7490042583 0 031361 768 776T:opt-32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021031020210125
439150017920 384 031149 1176 808T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021031020210125
44975603992 384 013904 1152 776T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021031020210125
46465805520 384 016524 1168 808T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021031020210125
50665804745 384 015516 1168 808T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021031020210125

Compiler output

Implementation: T:opt-64
Security model: timingleaks
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: 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: 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: 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: static u64 y[COLS1024] __attribute__((aligned(16)));
hash.c: ^
try.c: 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 T:opt-64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt-64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt-64

Compiler output

Implementation: T:opt-64
Security model: timingleaks
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: 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: 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: 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: static u64 y[COLS1024] __attribute__((aligned(16)));
hash.c: ^
try.c: crypto_hash_mgrostl256.a(hash.o): In function `Transform':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: crypto_hash_mgrostl256.a(hash.o): In function `Update':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: crypto_hash_mgrostl256.a(hash.o): In function `Final':
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: hash.c:(.text+0x...): undefined reference to `F512'
try.c: crypto_hash_mgrostl256.a(hash.o):hash.c:(.text+0x...): more undefined references to `F512' follow
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 T:opt-64

Namespace violations

Implementation: T:opt-32
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.o F1024 T
hash.o F512 T
hash.o Final T
hash.o Hash T
hash.o Init T
hash.o OutputTransformation T
hash.o PrintHash T
hash.o RND1024P T
hash.o RND1024Q T
hash.o RND512P T
hash.o RND512Q T
hash.o T R
hash.o Transform T
hash.o Update T
mGroestl.o F1024 T
mGroestl.o F512 T
mGroestl.o Final T
mGroestl.o Hash T
mGroestl.o Init T
mGroestl.o OutputTransformation T
mGroestl.o PrintHash T
mGroestl.o RND1024P T
mGroestl.o RND1024Q T
mGroestl.o RND512P T
mGroestl.o RND512Q T
mGroestl.o T R
mGroestl.o Transform T
mGroestl.o Update T

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

Namespace violations

Implementation: T:ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.o AddRoundConstant T
hash.o Final T
hash.o Hash T
hash.o Init T
hash.o MixBytes T
hash.o OutputTransformation T
hash.o P T
hash.o PrintHash T
hash.o Q T
hash.o S D
hash.o Shift D
hash.o ShiftBytes T
hash.o SubBytes T
hash.o Transform T
hash.o Update T

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref