Implementation notes: amd64, genji262, crypto_hash/cheetah512

Computer: genji262
Architecture: amd64
CPU ID: AuthenticAMD-00800f12-178bfbff
SUPERCOP version: 20190910
Operation: crypto_hash
Primitive: cheetah512

Checksum failure

Implementation: crypto_hash/cheetah512/asm
Compiler: icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer
744db185934e93b739ed677dd8b31802616ccb61832c3e5aaba005ad808638c5
Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer asm asm64
icc -march=broadwell -mtune=broadwell -O3 -fomit-frame-pointer asm asm64
icc -march=core-avx2 -mtune=core-avx2 -O2 -fomit-frame-pointer asm asm64
icc -march=core-avx2 -mtune=core-avx2 -O3 -fomit-frame-pointer asm asm64
icc -march=haswell -mtune=haswell -O2 -fomit-frame-pointer asm asm64
icc -march=haswell -mtune=haswell -O3 -fomit-frame-pointer asm asm64
icc -march=skylake -mtune=skylake -O2 -fomit-frame-pointer asm asm64
icc -march=skylake -mtune=skylake -O3 -fomit-frame-pointer asm asm64

Checksum failure

Implementation: crypto_hash/cheetah512/asm
Compiler: icc -march=core-avx-i -mtune=core-avx-i -O2 -fomit-frame-pointer
2987c20081636d9797f9c38af22f631a22d87c3c75b5272bf6655682b7df3091
Number of similar (compiler,implementation) pairs: 20, namely:
CompilerImplementations
icc -march=core-avx-i -mtune=core-avx-i -O2 -fomit-frame-pointer asm asm64
icc -march=core-avx-i -mtune=core-avx-i -O3 -fomit-frame-pointer asm asm64
icc -march=corei7-avx -mtune=corei7-avx -O2 -fomit-frame-pointer asm asm64
icc -march=corei7-avx -mtune=corei7-avx -O3 -fomit-frame-pointer asm asm64
icc -march=corei7 -mtune=corei7 -O2 -fomit-frame-pointer asm asm64
icc -march=corei7 -mtune=corei7 -O3 -fomit-frame-pointer asm asm64
icc -march=ivybridge -mtune=ivybridge -O2 -fomit-frame-pointer asm asm64
icc -march=ivybridge -mtune=ivybridge -O3 -fomit-frame-pointer asm asm64
icc -march=sandybridge -mtune=sandybridge -O2 -fomit-frame-pointer asm asm64
icc -march=sandybridge -mtune=sandybridge -O3 -fomit-frame-pointer asm asm64

Test failure

Implementation: crypto_hash/cheetah512/asm
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
error 111
crypto_hash is nondeterministic

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

Test failure

Implementation: crypto_hash/cheetah512/asm
Compiler: icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer asm asm64
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer asm asm64
icc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer asm asm64
icc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer asm asm64
icc -march=skylake-avx512 -mtune=skylake-avx512 -O2 -fomit-frame-pointer asm asm64
icc -march=skylake-avx512 -mtune=skylake-avx512 -O3 -fomit-frame-pointer asm asm64

Compiler output

Implementation: crypto_hash/cheetah512/asm
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
Cheetah.c: Cheetah.c:220:4: warning: implicit declaration of function 'Cheetah25664' is invalid in C99 [-Wimplicit-function-declaration]
Cheetah.c: Cheetah25664(&Te0,&T640,&state->core, data, totLength);
Cheetah.c: ^
Cheetah.c: Cheetah.c:232:4: warning: implicit declaration of function 'Cheetah51264' is invalid in C99 [-Wimplicit-function-declaration]
Cheetah.c: Cheetah51264(&Te0,&T640,&state->core64, data, totLength);
Cheetah.c: ^
Cheetah.c: 2 warnings generated.
hash.c: In file included from hash.c:2:
hash.c: ./Cheetah.c:220:4: warning: implicit declaration of function 'Cheetah25664' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: Cheetah25664(&Te0,&T640,&state->core, data, totLength);
hash.c: ^
hash.c: ./Cheetah.c:232:4: warning: implicit declaration of function 'Cheetah51264' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: Cheetah51264(&Te0,&T640,&state->core64, data, totLength);
hash.c: ^
hash.c: 2 warnings generated.
Cheetah512-64.s: Cheetah512-64.s:4992:11: error: invalid hexadecimal number in '.quad' directive
Cheetah512-64.s: .quad 0x
Cheetah512-64.s: ^

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE asm asm64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE asm asm64
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE asm asm64
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE asm asm64

Compiler output

Implementation: crypto_hash/cheetah512/asm
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
Cheetah.c: Cheetah.c: In function 'Update':
Cheetah.c: Cheetah.c:220:4: warning: implicit declaration of function 'Cheetah25664' [-Wimplicit-function-declaration]
Cheetah.c: 220 | Cheetah25664(&Te0,&T640,&state->core, data, totLength);
Cheetah.c: | ^~~~~~~~~~~~
Cheetah.c: Cheetah.c:232:4: warning: implicit declaration of function 'Cheetah51264' [-Wimplicit-function-declaration]
Cheetah.c: 232 | Cheetah51264(&Te0,&T640,&state->core64, data, totLength);
Cheetah.c: | ^~~~~~~~~~~~
hash.c: In file included from hash.c:2:
hash.c: Cheetah.c: In function 'Update':
hash.c: Cheetah.c:220:4: warning: implicit declaration of function 'Cheetah25664' [-Wimplicit-function-declaration]
hash.c: 220 | Cheetah25664(&Te0,&T640,&state->core, data, totLength);
hash.c: | ^~~~~~~~~~~~
hash.c: Cheetah.c:232:4: warning: implicit declaration of function 'Cheetah51264' [-Wimplicit-function-declaration]
hash.c: 232 | Cheetah51264(&Te0,&T640,&state->core64, data, totLength);
hash.c: | ^~~~~~~~~~~~
Cheetah512-64.s: Cheetah512-64.s: Assembler messages:
Cheetah512-64.s: Cheetah512-64.s:4992: Warning: zero assumed for missing expression

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

Compiler output

Implementation: crypto_hash/cheetah512/asm
Compiler: icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer
Cheetah.c: Cheetah.c(220): warning #266: function "Cheetah25664" declared implicitly
Cheetah.c: Cheetah25664(&Te0,&T640,&state->core, data, totLength);
Cheetah.c: ^
Cheetah.c:
Cheetah.c: Cheetah.c(232): warning #266: function "Cheetah51264" declared implicitly
Cheetah.c: Cheetah51264(&Te0,&T640,&state->core64, data, totLength);
Cheetah.c: ^
Cheetah.c:
hash.c: In file included from hash.c(2):
hash.c: Cheetah.c(220): warning #266: function "Cheetah25664" declared implicitly
hash.c: Cheetah25664(&Te0,&T640,&state->core, data, totLength);
hash.c: ^
hash.c:
hash.c: In file included from hash.c(2):
hash.c: Cheetah.c(232): warning #266: function "Cheetah51264" declared implicitly
hash.c: Cheetah51264(&Te0,&T640,&state->core64, data, totLength);
hash.c: ^
hash.c:
Cheetah512-64.s: Cheetah512-64.s: Assembler messages:
Cheetah512-64.s: Cheetah512-64.s:4992: Warning: zero assumed for missing expression

Number of similar (compiler,implementation) pairs: 48, namely:
CompilerImplementations
icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer asm asm64
icc -march=broadwell -mtune=broadwell -O3 -fomit-frame-pointer asm asm64
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer asm asm64
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer asm asm64
icc -march=core-avx-i -mtune=core-avx-i -O2 -fomit-frame-pointer asm asm64
icc -march=core-avx-i -mtune=core-avx-i -O3 -fomit-frame-pointer asm asm64
icc -march=core-avx2 -mtune=core-avx2 -O2 -fomit-frame-pointer asm asm64
icc -march=core-avx2 -mtune=core-avx2 -O3 -fomit-frame-pointer asm asm64
icc -march=corei7-avx -mtune=corei7-avx -O2 -fomit-frame-pointer asm asm64
icc -march=corei7-avx -mtune=corei7-avx -O3 -fomit-frame-pointer asm asm64
icc -march=corei7 -mtune=corei7 -O2 -fomit-frame-pointer asm asm64
icc -march=corei7 -mtune=corei7 -O3 -fomit-frame-pointer asm asm64
icc -march=haswell -mtune=haswell -O2 -fomit-frame-pointer asm asm64
icc -march=haswell -mtune=haswell -O3 -fomit-frame-pointer asm asm64
icc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer asm asm64
icc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer asm asm64
icc -march=ivybridge -mtune=ivybridge -O2 -fomit-frame-pointer asm asm64
icc -march=ivybridge -mtune=ivybridge -O3 -fomit-frame-pointer asm asm64
icc -march=sandybridge -mtune=sandybridge -O2 -fomit-frame-pointer asm asm64
icc -march=sandybridge -mtune=sandybridge -O3 -fomit-frame-pointer asm asm64
icc -march=skylake-avx512 -mtune=skylake-avx512 -O2 -fomit-frame-pointer asm asm64
icc -march=skylake-avx512 -mtune=skylake-avx512 -O3 -fomit-frame-pointer asm asm64
icc -march=skylake -mtune=skylake -O2 -fomit-frame-pointer asm asm64
icc -march=skylake -mtune=skylake -O3 -fomit-frame-pointer asm asm64