Implementation notes: amd64, trident, crypto_hash/sha512

Computer: trident
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20120310
Operation: crypto_hash
Primitive: sha512
TimeImplementationCompilerBenchmark dateSUPERCOP version
21310sphlibgcc -funroll-loops -m64 -Os -fomit-frame-pointer2011090220110831
21390sphlib-smallgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2011090220110831
21410sphlib-smallgcc -funroll-loops -m64 -Os -fomit-frame-pointer2011090220110831
21430sphlibgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2011090220110831
21600sphlib-smallgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2011090220110831
21610sphlibgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2011090220110831
21620sphlib-smallgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2011090220110831
21620sphlib-smallgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2011090220110831
21730sphlibgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2011090220110831
21780sphlibgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2011090220110831
21790sphlib-smallgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2011090220110831
21810sphlibgcc -funroll-loops -m64 -mcpu=G5 -O2 -fomit-frame-pointer2011090220110831
21920sphlib-smallgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2011090220110831
21950sphlibgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2011090220110831
22000sphlib-smallgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2011090220110831
22010sphlibgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2011090220110831
22010sphlib-smallgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2011090220110831
22010sphlibgcc -funroll-loops -m64 -mcpu=G4 -Os -fomit-frame-pointer2011090220110831
22010sphlib-smallgcc -funroll-loops -m64 -mcpu=G4 -Os -fomit-frame-pointer2011090220110831
22010sphlib-smallgcc -funroll-loops -m64 -mcpu=G5 -Os -fomit-frame-pointer2011090220110831
22020sphlibgcc -funroll-loops -m64 -mcpu=G5 -Os -fomit-frame-pointer2011090220110831
22030sphlibgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2011090220110831
22040sphlib-smallgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2011090220110831
22060sphlibgcc -funroll-loops -m64 -mcpu=G5 -O3 -fomit-frame-pointer2011090220110831
22080sphlibgcc -funroll-loops -m64 -mcpu=G4 -O3 -fomit-frame-pointer2011090220110831
22090sphlib-smallgcc -funroll-loops -m64 -mcpu=G5 -O3 -fomit-frame-pointer2011090220110831
22100sphlib-smallgcc -funroll-loops -m64 -mcpu=G4 -O3 -fomit-frame-pointer2011090220110831
22100sphlib-smallgcc -funroll-loops -m64 -mcpu=G5 -O -fomit-frame-pointer2011090220110831
22120sphlib-smallgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2011090220110831
22120sphlibgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2011090220110831
22120sphlibgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2011090220110831
22140sphlibgcc -funroll-loops -m64 -O -fomit-frame-pointer2011090220110831
22140sphlib-smallgcc -funroll-loops -m64 -O -fomit-frame-pointer2011090220110831
22150sphlib-smallgcc -m64 -mcpu=G4 -O2 -fomit-frame-pointer2011090220110831
22160sphlibgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2011090220110831
22160sphlibgcc -funroll-loops -m64 -mcpu=G4 -O -fomit-frame-pointer2011090220110831
22170sphlib-smallgcc -funroll-loops -m64 -mcpu=G4 -O -fomit-frame-pointer2011090220110831
22180sphlibgcc -funroll-loops -m64 -mcpu=G5 -O -fomit-frame-pointer2011090220110831
22200sphlibgcc -m64 -mcpu=G4 -O2 -fomit-frame-pointer2011090220110831
22210sphlib-smallgcc -m64 -mcpu=G5 -O2 -fomit-frame-pointer2011090220110831
22230sphlibgcc -funroll-loops -m64 -mcpu=G4 -O2 -fomit-frame-pointer2011090220110831
22230sphlib-smallgcc -funroll-loops -m64 -mcpu=G5 -O2 -fomit-frame-pointer2011090220110831
22240sphlibgcc -m64 -march=nocona -O3 -fomit-frame-pointer2011090220110831
22240sphlib-smallgcc -m64 -march=nocona -O3 -fomit-frame-pointer2011090220110831
22240sphlib-smallgcc -m64 -march=nocona -Os -fomit-frame-pointer2011090220110831
22240sphlib-smallgcc -m64 -mcpu=G5 -Os -fomit-frame-pointer2011090220110831
22250sphlibgcc -m64 -Os -fomit-frame-pointer2011090220110831
22250sphlib-smallgcc -m64 -march=k8 -Os -fomit-frame-pointer2011090220110831
22250sphlib-smallgcc -m64 -mcpu=G4 -Os -fomit-frame-pointer2011090220110831
22250sphlibgcc -m64 -mcpu=G5 -O2 -fomit-frame-pointer2011090220110831
22270sphlibgcc -m64 -march=nocona -Os -fomit-frame-pointer2011090220110831
22280sphlibgcc -m64 -mcpu=G4 -Os -fomit-frame-pointer2011090220110831
22280sphlibgcc -m64 -mcpu=G5 -Os -fomit-frame-pointer2011090220110831
22290sphlib-smallgcc -funroll-loops -m64 -mcpu=G4 -O2 -fomit-frame-pointer2011090220110831
22340sphlib-smallgcc -m64 -Os -fomit-frame-pointer2011090220110831
22350sphlibgcc -m64 -march=k8 -Os -fomit-frame-pointer2011090220110831
22380sphlib-smallgcc -m64 -mcpu=G4 -O3 -fomit-frame-pointer2011090220110831
22400sphlibgcc -m64 -mcpu=G4 -O3 -fomit-frame-pointer2011090220110831
22400sphlibgcc -m64 -mcpu=G5 -O3 -fomit-frame-pointer2011090220110831
22400sphlib-smallgcc -m64 -mcpu=G5 -O3 -fomit-frame-pointer2011090220110831
22440sphlib-smallgcc -m64 -march=nocona -O2 -fomit-frame-pointer2011090220110831
22450sphlibgcc -m64 -march=nocona -O2 -fomit-frame-pointer2011090220110831
22470sphlibgcc -m64 -march=k8 -O -fomit-frame-pointer2011090220110831
22520sphlibgcc -m64 -O -fomit-frame-pointer2011090220110831
22520sphlib-smallgcc -m64 -march=k8 -O3 -fomit-frame-pointer2011090220110831
22560sphlib-smallgcc -m64 -O3 -fomit-frame-pointer2011090220110831
22560sphlib-smallgcc -m64 -mcpu=G4 -O -fomit-frame-pointer2011090220110831
22560sphlib-smallgcc -m64 -mcpu=G5 -O -fomit-frame-pointer2011090220110831
22570sphlib-smallgcc -m64 -march=k8 -O -fomit-frame-pointer2011090220110831
22610sphlibgcc -m64 -march=k8 -O3 -fomit-frame-pointer2011090220110831
22620sphlib-smallgcc -m64 -march=k8 -O2 -fomit-frame-pointer2011090220110831
22630sphlibgcc -m64 -march=k8 -O2 -fomit-frame-pointer2011090220110831
22630sphlibgcc -m64 -mcpu=G4 -O -fomit-frame-pointer2011090220110831
22640sphlibgcc -m64 -O2 -fomit-frame-pointer2011090220110831
22640sphlib-smallgcc -m64 -O2 -fomit-frame-pointer2011090220110831
22640sphlibgcc -m64 -mcpu=G5 -O -fomit-frame-pointer2011090220110831
22670sphlibgcc -m64 -march=nocona -O -fomit-frame-pointer2011090220110831
22670sphlib-smallgcc -m64 -march=nocona -O -fomit-frame-pointer2011090220110831
22680sphlib-smallgcc -m64 -O -fomit-frame-pointer2011090220110831
22710sphlibgcc -m64 -O3 -fomit-frame-pointer2011090220110831
24310refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2011071320110708
24310refgcc -funroll-loops -m64 -mcpu=G4 -O3 -fomit-frame-pointer2011071320110708
24350refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2011071320110708
24360refgcc -funroll-loops -m64 -mcpu=G5 -O2 -fomit-frame-pointer2011071320110708
24360refgcc -funroll-loops -m64 -mcpu=G5 -O3 -fomit-frame-pointer2011071320110708
24370refgcc -funroll-loops -m64 -mcpu=G5 -Os -fomit-frame-pointer2011071320110708
24380refgcc -funroll-loops -m64 -mcpu=G4 -O -fomit-frame-pointer2011071320110708
24390refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2011071320110708
24390refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2011071320110708
24400refgcc -funroll-loops -m64 -O -fomit-frame-pointer2011071320110708
24420refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2011071320110708
24420refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2011071320110708
24420refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2011071320110708
24430refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2011071320110708
24430refgcc -funroll-loops -m64 -mcpu=G4 -Os -fomit-frame-pointer2011071320110708
24430refgcc -funroll-loops -m64 -mcpu=G5 -O -fomit-frame-pointer2011071320110708
24440refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2011071320110708
24450refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2011071320110708
24450refgcc -funroll-loops -m64 -mcpu=G4 -O2 -fomit-frame-pointer2011071320110708
24480refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2011071320110708
24600refgcc -m64 -Os -fomit-frame-pointer2011071320110708
24620refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2011071320110708
24630refgcc -m64 -mcpu=G5 -O2 -fomit-frame-pointer2011071320110708
24640refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2011071320110708
24640refgcc -m64 -mcpu=G4 -O3 -fomit-frame-pointer2011071320110708
24650refgcc -m64 -mcpu=G4 -O2 -fomit-frame-pointer2011071320110708
24660refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2011071320110708
24670refgcc -m64 -O2 -fomit-frame-pointer2011071320110708
24670refgcc -m64 -O3 -fomit-frame-pointer2011071320110708
24670refgcc -m64 -mcpu=G5 -O3 -fomit-frame-pointer2011071320110708
24690refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2011071320110708
24690refgcc -m64 -march=k8 -Os -fomit-frame-pointer2011071320110708
24710refgcc -m64 -march=nocona -O -fomit-frame-pointer2011071320110708
24710refgcc -m64 -march=nocona -Os -fomit-frame-pointer2011071320110708
24720refgcc -m64 -mcpu=G4 -Os -fomit-frame-pointer2011071320110708
24720refgcc -m64 -mcpu=G5 -Os -fomit-frame-pointer2011071320110708
24740refgcc -m64 -O -fomit-frame-pointer2011071320110708
24760refgcc -m64 -march=k8 -O -fomit-frame-pointer2011071320110708
24770refgcc -m64 -mcpu=G4 -O -fomit-frame-pointer2011071320110708
24770refgcc -m64 -mcpu=G5 -O -fomit-frame-pointer2011071320110708

Compiler output

Implementation: crypto_hash/sha512/cryptopp
Compiler: g++ -m64 -O2 -fomit-frame-pointer
hash.cpp: hash.cpp:1:26: error: cryptopp/sha.h: No such file or directory
hash.cpp: hash.cpp: In function 'int crypto_hash_sha512_cryptopp(unsigned char*, const unsigned char*, long long unsigned int)':
hash.cpp: hash.cpp:6: error: 'CryptoPP' has not been declared
hash.cpp: hash.cpp:6: error: 'SHA512' was not declared in this scope
hash.cpp: hash.cpp:6: error: expected `;' before 'sha'
hash.cpp: hash.cpp:7: error: 'sha' was not declared in this scope

Number of similar (compiler,implementation) pairs: 20, namely:
CompilerImplementations
g++ -m64 -O2 -fomit-frame-pointer cryptopp
g++ -m64 -O3 -fomit-frame-pointer cryptopp
g++ -m64 -O -fomit-frame-pointer cryptopp
g++ -m64 -Os -fomit-frame-pointer cryptopp
g++ -m64 -march=k8 -O2 -fomit-frame-pointer cryptopp
g++ -m64 -march=k8 -O3 -fomit-frame-pointer cryptopp
g++ -m64 -march=k8 -O -fomit-frame-pointer cryptopp
g++ -m64 -march=k8 -Os -fomit-frame-pointer cryptopp
g++ -m64 -march=nocona -O2 -fomit-frame-pointer cryptopp
g++ -m64 -march=nocona -O3 -fomit-frame-pointer cryptopp
g++ -m64 -march=nocona -O -fomit-frame-pointer cryptopp
g++ -m64 -march=nocona -Os -fomit-frame-pointer cryptopp
g++ -m64 -mcpu=G4 -O2 -fomit-frame-pointer cryptopp
g++ -m64 -mcpu=G4 -O3 -fomit-frame-pointer cryptopp
g++ -m64 -mcpu=G4 -O -fomit-frame-pointer cryptopp
g++ -m64 -mcpu=G4 -Os -fomit-frame-pointer cryptopp
g++ -m64 -mcpu=G5 -O2 -fomit-frame-pointer cryptopp
g++ -m64 -mcpu=G5 -O3 -fomit-frame-pointer cryptopp
g++ -m64 -mcpu=G5 -O -fomit-frame-pointer cryptopp
g++ -m64 -mcpu=G5 -Os -fomit-frame-pointer cryptopp

Compiler output

Implementation: crypto_hash/sha512/openssl
Compiler: gcc -funroll-loops -m64 -O2 -fomit-frame-pointer
try.c: Undefined symbols:
try.c: "_SHA512", referenced from:
try.c: _crypto_hash_sha512_openssl in crypto_hash_sha512.a(hash.o)
try.c: ld: symbol(s) not found
try.c: collect2: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 40, namely:
CompilerImplementations
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=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 -m64 -mcpu=G4 -O2 -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -mcpu=G4 -O3 -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -mcpu=G4 -O -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -mcpu=G4 -Os -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -mcpu=G5 -O2 -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -mcpu=G5 -O3 -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -mcpu=G5 -O -fomit-frame-pointer openssl
gcc -funroll-loops -m64 -mcpu=G5 -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=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=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 -m64 -mcpu=G4 -O2 -fomit-frame-pointer openssl
gcc -m64 -mcpu=G4 -O3 -fomit-frame-pointer openssl
gcc -m64 -mcpu=G4 -O -fomit-frame-pointer openssl
gcc -m64 -mcpu=G4 -Os -fomit-frame-pointer openssl
gcc -m64 -mcpu=G5 -O2 -fomit-frame-pointer openssl
gcc -m64 -mcpu=G5 -O3 -fomit-frame-pointer openssl
gcc -m64 -mcpu=G5 -O -fomit-frame-pointer openssl
gcc -m64 -mcpu=G5 -Os -fomit-frame-pointer openssl