Implementation notes: amd64, ryzen, crypto_hash/md2

Computer: ryzen
Architecture: amd64
CPU ID: AuthenticAMD-00800f11-178bfbff
SUPERCOP version: 20170904
Operation: crypto_hash
Primitive: md2

Compiler output

Implementation: crypto_hash/md2/openssl
Compiler: cc
hash.c: hash.c: In function 'crypto_hash_md2_openssl':
hash.c: hash.c:7:3: warning: implicit declaration of function 'MD2' [-Wimplicit-function-declaration]
hash.c: MD2(in,inlen,out);
hash.c: ^~~
try.c: crypto_hash_md2.a(hash.o): In function `crypto_hash_md2_openssl':
try.c: hash.c:(.text+0x...): undefined reference to `MD2'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 107, namely:
CompilerImplementations
cc openssl
gcc openssl
gcc -O2 -fomit-frame-pointer openssl
gcc -O3 -fomit-frame-pointer openssl
gcc -O -fomit-frame-pointer openssl
gcc -Os -fomit-frame-pointer openssl
gcc -fno-schedule-insns -O2 -fomit-frame-pointer openssl
gcc -fno-schedule-insns -O3 -fomit-frame-pointer openssl
gcc -fno-schedule-insns -O -fomit-frame-pointer openssl
gcc -fno-schedule-insns -Os -fomit-frame-pointer openssl
gcc -funroll-loops openssl
gcc -funroll-loops -O2 -fomit-frame-pointer openssl
gcc -funroll-loops -O3 -fomit-frame-pointer openssl
gcc -funroll-loops -O -fomit-frame-pointer openssl
gcc -funroll-loops -Os -fomit-frame-pointer openssl
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer openssl
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer openssl
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer openssl
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -O -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -Os -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer openssl
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer openssl
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer openssl
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer openssl
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer openssl
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer openssl
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer openssl
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer openssl
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer openssl
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer openssl
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer openssl
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer openssl
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer openssl
gcc -m64 -O2 -fomit-frame-pointer openssl
gcc -m64 -O3 -fomit-frame-pointer openssl
gcc -m64 -O -fomit-frame-pointer openssl
gcc -m64 -Os -fomit-frame-pointer openssl
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer openssl
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer openssl
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer openssl
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer openssl
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer openssl
gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer openssl
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer openssl
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer openssl
gcc -m64 -march=core2 -O2 -fomit-frame-pointer openssl
gcc -m64 -march=core2 -O3 -fomit-frame-pointer openssl
gcc -m64 -march=core2 -O -fomit-frame-pointer openssl
gcc -m64 -march=core2 -Os -fomit-frame-pointer openssl
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer openssl
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer openssl
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer openssl
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer openssl
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer openssl
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer openssl
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer openssl
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer openssl
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer openssl
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer openssl
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer openssl
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer openssl
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer openssl
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer openssl
gcc -m64 -march=corei7 -O -fomit-frame-pointer openssl
gcc -m64 -march=corei7 -Os -fomit-frame-pointer openssl
gcc -m64 -march=k8 -O2 -fomit-frame-pointer openssl
gcc -m64 -march=k8 -O3 -fomit-frame-pointer openssl
gcc -m64 -march=k8 -O -fomit-frame-pointer openssl
gcc -m64 -march=k8 -Os -fomit-frame-pointer openssl
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer openssl
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer openssl
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer openssl
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer openssl
gcc -m64 -march=nocona -O2 -fomit-frame-pointer openssl
gcc -m64 -march=nocona -O3 -fomit-frame-pointer openssl
gcc -m64 -march=nocona -O -fomit-frame-pointer openssl
gcc -m64 -march=nocona -Os -fomit-frame-pointer openssl
gcc -march=barcelona -O2 -fomit-frame-pointer openssl
gcc -march=barcelona -O3 -fomit-frame-pointer openssl
gcc -march=barcelona -O -fomit-frame-pointer openssl
gcc -march=barcelona -Os -fomit-frame-pointer openssl
gcc -march=k8 -O2 -fomit-frame-pointer openssl
gcc -march=k8 -O3 -fomit-frame-pointer openssl
gcc -march=k8 -O -fomit-frame-pointer openssl
gcc -march=k8 -Os -fomit-frame-pointer openssl
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv openssl
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv openssl
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv openssl
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv openssl
gcc -march=nocona -O2 -fomit-frame-pointer openssl
gcc -march=nocona -O3 -fomit-frame-pointer openssl
gcc -march=nocona -O -fomit-frame-pointer openssl
gcc -march=nocona -Os -fomit-frame-pointer openssl

Compiler output

Implementation: crypto_hash/md2/openssl
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
hash.c: hash.c:7:3: warning: implicit declaration of function 'MD2' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: MD2(in,inlen,out);
hash.c: ^
hash.c: 1 warning generated.
try.c: crypto_hash_md2.a(hash.o): In function `crypto_hash_md2_openssl':
try.c: hash.c:(.text+0x...): undefined reference to `MD2'
try.c: clang-4.0: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments openssl
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments openssl
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments openssl
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments openssl
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments openssl
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments openssl
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments openssl
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments openssl
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments openssl
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments openssl

Compiler output

Implementation: crypto_hash/md2/openssl
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
hash.c: hash.c: In function 'crypto_hash_md2_openssl':
hash.c: hash.c:7:3: warning: implicit declaration of function 'MD2' [-Wimplicit-function-declaration]
hash.c: MD2(in,inlen,out);
hash.c: ^~~
try.c: crypto_hash_md2.a(hash.o): In function `crypto_hash_md2_openssl':
try.c: hash.c:(.text+0x...): undefined reference to `MD2'
try.c: collect2: error: ld returned 1 exit status
hash.c: hash.c: In function 'crypto_hash_md2_openssl':
hash.c: hash.c:7:3: warning: implicit declaration of function 'MD2' [-Wimplicit-function-declaration]
hash.c: MD2(in,inlen,out);
hash.c: ^~~
try.c: crypto_hash_md2.a(hash.o): In function `crypto_hash_md2_openssl':
try.c: hash.c:(.text+0x...): undefined reference to `MD2'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer openssl
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer openssl
gcc -m64 -march=barcelona -O -fomit-frame-pointer openssl
gcc -m64 -march=barcelona -Os -fomit-frame-pointer openssl

Compiler output

Implementation: crypto_hash/md2/openssl
Compiler: icc
hash.c: hash.c(7): warning #266: function "MD2" declared implicitly
hash.c: MD2(in,inlen,out);
hash.c: ^
hash.c:
try.c: crypto_hash_md2.a(hash.o): In function `crypto_hash_md2_openssl':
try.c: hash.c:(.text+0x...): undefined reference to `MD2'

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
icc openssl
icc -no-vec openssl

Compiler output

Implementation: crypto_hash/md2/openssl
Compiler: icc -O1 -static
hash.c: hash.c(7): warning #266: function "MD2" declared implicitly
hash.c: MD2(in,inlen,out);
hash.c: ^
hash.c:
try.c: ld: cannot find -lcrypto

Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
icc -O1 -static openssl
icc -O1 -static -no-vec openssl
icc -O2 -static openssl
icc -O2 -static -no-vec openssl
icc -O3 -static openssl
icc -O3 -static -no-vec openssl
icc -Os -static openssl
icc -Os -static -no-vec openssl
icc -m64 -O1 -static openssl
icc -m64 -O1 -static -no-vec openssl
icc -m64 -O2 -static openssl
icc -m64 -O2 -static -no-vec openssl
icc -m64 -O3 -static openssl
icc -m64 -O3 -static -no-vec openssl
icc -m64 -Os -static openssl
icc -m64 -Os -static -no-vec openssl

Compiler output

Implementation: crypto_hash/md2/openssl
Compiler: icc -O1 -xB -static
hash.c: icc: command line warning #10131: extension 'B' not supported ignored in option '-x'
hash.c: hash.c(7): warning #266: function "MD2" declared implicitly
hash.c: MD2(in,inlen,out);
hash.c: ^
hash.c:
try.c: icc: command line warning #10131: extension 'B' not supported ignored in option '-x'
try.c: ld: cannot find -lcrypto

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
icc -O1 -xB -static openssl
icc -O1 -xB -static -no-vec openssl
icc -O2 -xB -static openssl
icc -O2 -xB -static -no-vec openssl
icc -O3 -xB -static openssl
icc -O3 -xB -static -no-vec openssl
icc -Os -xB -static openssl
icc -Os -xB -static -no-vec openssl

Compiler output

Implementation: crypto_hash/md2/openssl
Compiler: icc -O1 -xK -static
hash.c: icc: command line warning #10131: extension 'K' not supported ignored in option '-x'
hash.c: hash.c(7): warning #266: function "MD2" declared implicitly
hash.c: MD2(in,inlen,out);
hash.c: ^
hash.c:
try.c: icc: command line warning #10131: extension 'K' not supported ignored in option '-x'
try.c: ld: cannot find -lcrypto

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
icc -O1 -xK -static openssl
icc -O1 -xK -static -no-vec openssl
icc -O2 -xK -static openssl
icc -O2 -xK -static -no-vec openssl
icc -O3 -xK -static openssl
icc -O3 -xK -static -no-vec openssl
icc -Os -xK -static openssl
icc -Os -xK -static -no-vec openssl

Compiler output

Implementation: crypto_hash/md2/openssl
Compiler: icc -O1 -xN -static
hash.c: icc: command line warning #10131: extension 'N' not supported ignored in option '-x'
hash.c: hash.c(7): warning #266: function "MD2" declared implicitly
hash.c: MD2(in,inlen,out);
hash.c: ^
hash.c:
try.c: icc: command line warning #10131: extension 'N' not supported ignored in option '-x'
try.c: ld: cannot find -lcrypto

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
icc -O1 -xN -static openssl
icc -O1 -xN -static -no-vec openssl
icc -O2 -xN -static openssl
icc -O2 -xN -static -no-vec openssl
icc -O3 -xN -static openssl
icc -O3 -xN -static -no-vec openssl
icc -Os -xN -static openssl
icc -Os -xN -static -no-vec openssl

Compiler output

Implementation: crypto_hash/md2/openssl
Compiler: icc -O1 -xW -static
hash.c: icc: command line warning #10131: extension 'W' not supported ignored in option '-x'
hash.c: hash.c(7): warning #266: function "MD2" declared implicitly
hash.c: MD2(in,inlen,out);
hash.c: ^
hash.c:
try.c: icc: command line warning #10131: extension 'W' not supported ignored in option '-x'
try.c: ld: cannot find -lcrypto

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
icc -O1 -xW -static openssl
icc -O1 -xW -static -no-vec openssl
icc -O2 -xW -static openssl
icc -O2 -xW -static -no-vec openssl
icc -O3 -xW -static openssl
icc -O3 -xW -static -no-vec openssl
icc -Os -xW -static openssl
icc -Os -xW -static -no-vec openssl

Compiler output

Implementation: crypto_hash/md2/openssl
Compiler: icc -fast
hash.c: hash.c(7): warning #266: function "MD2" declared implicitly
hash.c: MD2(in,inlen,out);
hash.c: ^
hash.c:
try.c: ipo: warning #11003: no IR in object file /root/supercop-20170904/supercop-data/ryzen/amd64/lib/kernelrandombytes.o; was the source file compiled with -ipo
try.c: ipo: warning #11003: no IR in object file /root/supercop-20170904/supercop-data/ryzen/amd64/lib/cpucycles.o; was the source file compiled with -ipo
try.c: ipo: warning #11021: unresolved MD2
try.c: Referenced in crypto_hash_md2.a(hash.o)
try.c: ld: cannot find -lcrypto

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
icc -fast openssl

Compiler output

Implementation: crypto_hash/md2/openssl
Compiler: icc -m64 -xHost -vec-report0 -static
hash.c: icc: command line remark #10148: option '-vec-report0' not supported
hash.c: hash.c(7): warning #266: function "MD2" declared implicitly
hash.c: MD2(in,inlen,out);
hash.c: ^
hash.c:
try.c: icc: command line remark #10148: option '-vec-report0' not supported
try.c: ld: cannot find -lcrypto

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
icc -m64 -xHost -vec-report0 -static openssl