Implementation notes: amd64, h5e450, crypto_hash/whirlpool

Computer: h5e450
Architecture: amd64
CPU ID: AuthenticAMD-00500f20-178bfbff
SUPERCOP version: 20130419
Operation: crypto_hash
Primitive: whirlpool
TimeImplementationCompilerBenchmark dateSUPERCOP version
57462cryptoppg++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012080220120717
57492cryptoppg++ -m64 -march=core2 -O -fomit-frame-pointer2012080220120717
57498cryptoppg++ -m64 -march=native -mtune=native -O -fomit-frame-pointer2012080220120717
57519cryptoppg++ -fno-schedule-insns -O -fomit-frame-pointer2012080220120717
57579cryptoppg++ -m64 -march=barcelona -O -fomit-frame-pointer2012080220120717
57582cryptoppclang++ -O32012080220120717
57591cryptoppg++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012080220120717
57591cryptoppg++ -m64 -march=nocona -O -fomit-frame-pointer2012080220120717
57594cryptoppg++ -O -fomit-frame-pointer2012080220120717
57597cryptoppg++ -march=barcelona -O -fomit-frame-pointer2012080220120717
57603cryptoppg++ -march=nocona -O -fomit-frame-pointer2012080220120717
57606cryptoppg++ -m64 -march=corei7 -O -fomit-frame-pointer2012080220120717
57630cryptoppg++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2012080220120717
57645cryptoppg++ -m64 -march=core2 -O2 -fomit-frame-pointer2012080220120717
57663cryptoppg++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012080220120717
57672cryptoppg++ -fno-schedule-insns -O2 -fomit-frame-pointer2012080220120717
57672cryptoppg++ -m64 -march=corei7 -O2 -fomit-frame-pointer2012080220120717
57681cryptoppg++ -march=k8 -O2 -fomit-frame-pointer2012080220120717
57699cryptoppg++ -m64 -march=k8 -O3 -fomit-frame-pointer2012080220120717
57708cryptoppg++ -fno-schedule-insns -O3 -fomit-frame-pointer2012080220120717
57714cryptoppg++ -m64 -O2 -fomit-frame-pointer2012080220120717
57717cryptoppg++ -march=barcelona -O3 -fomit-frame-pointer2012080220120717
57717cryptoppg++ -march=barcelona -Os -fomit-frame-pointer2012080220120717
57720cryptoppg++ -m64 -O3 -fomit-frame-pointer2012080220120717
57726cryptoppg++ -m64 -march=k8 -O2 -fomit-frame-pointer2012080220120717
57726cryptoppg++ -march=k8 -O3 -fomit-frame-pointer2012080220120717
57729cryptoppg++ -O3 -fomit-frame-pointer2012080220120717
57741cryptoppg++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012080220120717
57747cryptoppg++ -m64 -march=core2 -O3 -fomit-frame-pointer2012080220120717
57753cryptoppg++ -m64 -march=k8 -Os -fomit-frame-pointer2012080220120717
57753cryptoppg++ -march=k8 -Os -fomit-frame-pointer2012080220120717
57762cryptoppg++ -Os -fomit-frame-pointer2012080220120717
57765cryptoppg++ -m64 -march=nocona -Os -fomit-frame-pointer2012080220120717
57768cryptoppg++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012080220120717
57771cryptoppg++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2012080220120717
57771cryptoppg++ -march=nocona -Os -fomit-frame-pointer2012080220120717
57780cryptoppg++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012080220120717
57780cryptoppg++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012080220120717
57792cryptoppg++ -m64 -march=core2 -Os -fomit-frame-pointer2012080220120717
57798cryptoppg++ -O2 -fomit-frame-pointer2012080220120717
57798cryptoppg++ -m64 -march=barcelona -Os -fomit-frame-pointer2012080220120717
57813cryptoppg++ -march=k8 -O -fomit-frame-pointer2012080220120717
57819cryptoppg++ -fno-schedule-insns -Os -fomit-frame-pointer2012080220120717
57822cryptoppg++ -m64 -march=nocona -O3 -fomit-frame-pointer2012080220120717
57828cryptoppg++ -m64 -march=barcelona -O3 -fomit-frame-pointer2012080220120717
57828cryptoppg++ -m64 -march=corei7 -Os -fomit-frame-pointer2012080220120717
57864cryptoppg++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2012080220120717
57870cryptoppg++ -m64 -march=k8 -O -fomit-frame-pointer2012080220120717
57936cryptoppg++ -m64 -march=nocona -O2 -fomit-frame-pointer2012080220120717
57960cryptoppg++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012080220120717
57975cryptoppg++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2012080220120717
57975cryptoppg++ -march=barcelona -O2 -fomit-frame-pointer2012080220120717
58002cryptoppg++ -march=nocona -O2 -fomit-frame-pointer2012080220120717
58140cryptoppg++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012080220120717
58146cryptoppg++ -m64 -march=barcelona -O2 -fomit-frame-pointer2012080220120717
58293cryptoppg++ -m64 -O -fomit-frame-pointer2012080220120717
58524cryptoppg++ -m64 -Os -fomit-frame-pointer2012080220120717
58545cryptoppg++ -march=nocona -O3 -fomit-frame-pointer2012080220120717
59532cryptoppg++2012080220120717
91293refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012080220120717
91632refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012080220120717
91671refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012080220120717
91731refgcc -funroll-loops -m64 -O -fomit-frame-pointer2012080220120717
91806refgcc -march=barcelona -O -fomit-frame-pointer2012080220120717
91815refgcc -march=k8 -O -fomit-frame-pointer2012080220120717
91818refgcc -m64 -march=k8 -O -fomit-frame-pointer2012080220120717
91890refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012080220120717
92145refgcc -m64 -march=barcelona -O -fomit-frame-pointer2012080220120717
92229refgcc -funroll-loops -O -fomit-frame-pointer2012080220120717
93138refgcc -fno-schedule-insns -O -fomit-frame-pointer2012080220120717
93156refgcc -m64 -O -fomit-frame-pointer2012080220120717
93159refgcc -m64 -march=core2 -O -fomit-frame-pointer2012080220120717
93159refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012080220120717
93159refgcc -m64 -march=corei7 -O -fomit-frame-pointer2012080220120717
93174refgcc -O -fomit-frame-pointer2012080220120717
93189refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012080220120717
93408refgcc -march=nocona -O -fomit-frame-pointer2012080220120717
93495refgcc -m64 -march=nocona -O -fomit-frame-pointer2012080220120717
97950refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2012080220120717
98022refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012080220120717
98031refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2012080220120717
98250refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012080220120717
101925refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2012080220120717
101955refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012080220120717
101964refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012080220120717
102030refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2012080220120717
102105refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012080220120717
102129refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012080220120717
102240refgcc -O2 -fomit-frame-pointer2012080220120717
102243refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2012080220120717
102294refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2012080220120717
102576refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2012080220120717
102597refgcc -funroll-loops -O2 -fomit-frame-pointer2012080220120717
102684refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012080220120717
102771refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2012080220120717
102828refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2012080220120717
102837refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012080220120717
102849refgcc -m64 -O2 -fomit-frame-pointer2012080220120717
102861refgcc -funroll-loops -O3 -fomit-frame-pointer2012080220120717
102873refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2012080220120717
103176refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012080220120717
103218refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2012080220120717
103221refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2012080220120717
103227refgcc -m64 -O3 -fomit-frame-pointer2012080220120717
103263refgcc -O3 -fomit-frame-pointer2012080220120717
103281refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2012080220120717
103314refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2012080220120717
103323refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012080220120717
103836refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2012080220120717
103857refgcc -march=barcelona -O2 -fomit-frame-pointer2012080220120717
103866refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2012080220120717
104118refclang -O32012080220120717
104301refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012080220120717
104373refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2012080220120717
104391refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012080220120717
104415refgcc -march=barcelona -O3 -fomit-frame-pointer2012080220120717
104451refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2012080220120717
104559refgcc -march=k8 -O2 -fomit-frame-pointer2012080220120717
104631refgcc -march=k8 -O3 -fomit-frame-pointer2012080220120717
104673refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2012080220120717
105699refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012080220120717
105711refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012080220120717
106062refgcc -march=nocona -O3 -fomit-frame-pointer2012080220120717
106209refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2012080220120717
106272refgcc -march=nocona -O2 -fomit-frame-pointer2012080220120717
106515refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2012080220120717
111342refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012080220120717
111351refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012080220120717
111351refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012080220120717
111375refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012080220120717
111459refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2012080220120717
111462refgcc -funroll-loops -Os -fomit-frame-pointer2012080220120717
111489refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012080220120717
111636refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012080220120717
111825refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012080220120717
114636refgcc -march=barcelona -Os -fomit-frame-pointer2012080220120717
114648refgcc -Os -fomit-frame-pointer2012080220120717
114657refgcc -march=k8 -Os -fomit-frame-pointer2012080220120717
114666refgcc -m64 -march=k8 -Os -fomit-frame-pointer2012080220120717
114672refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2012080220120717
114693refgcc -m64 -Os -fomit-frame-pointer2012080220120717
114708refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012080220120717
114723refgcc -fno-schedule-insns -Os -fomit-frame-pointer2012080220120717
114780refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012080220120717
114882refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2012080220120717
115404refgcc -m64 -march=core2 -Os -fomit-frame-pointer2012080220120717
115428refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012080220120717
116337refgcc -m64 -march=nocona -Os -fomit-frame-pointer2012080220120717
116412refgcc -march=nocona -Os -fomit-frame-pointer2012080220120717
187830refcc2012080220120717
187932refgcc -funroll-loops2012080220120717
188163refgcc2012080220120717

Compiler output

Implementation: crypto_hash/whirlpool/cryptopp
Compiler: clang++ -O3
hash.cpp: In file included from hash.cpp:1:
hash.cpp: In file included from /home/djb/benchmarking/supercop-20120717/supercop-data/h5e450/amd64/include/cryptopp/whrlpool.h:5:
hash.cpp: In file included from /home/djb/benchmarking/supercop-20120717/supercop-data/h5e450/amd64/include/cryptopp/iterhash.h:5:
hash.cpp: In file included from /home/djb/benchmarking/supercop-20120717/supercop-data/h5e450/amd64/include/cryptopp/secblock.h:7:
hash.cpp: /home/djb/benchmarking/supercop-20120717/supercop-data/h5e450/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression hash.cpp: if (a hash.cpp: ~ ^ ~
hash.cpp: /home/djb/benchmarking/supercop-20120717/supercop-data/h5e450/amd64/include/cryptopp/simple.h:35:110: note: in instantiation of function template specialization 'CryptoPP::IntToStringgt;' requested here
hash.cpp: explicit InvalidKeyLength(const std::string &algorithm, size_t length) : InvalidArgument(algorithm + ": " + IntToString(length) + " is not a valid key length") {}
hash.cpp: ^
hash.cpp: In file included from hash.cpp:1:
hash.cpp: In file included from /home/djb/benchmarking/supercop-20120717/supercop-data/h5e450/amd64/include/cryptopp/whrlpool.h:5:
hash.cpp: In file included from /home/djb/benchmarking/supercop-20120717/supercop-data/h5e450/amd64/include/cryptopp/iterhash.h:5:
hash.cpp: In file included from /home/djb/benchmarking/supercop-20120717/supercop-data/h5e450/amd64/include/cryptopp/secblock.h:7:
hash.cpp: /home/djb/benchmarking/supercop-20120717/supercop-data/h5e450/amd64/include/cryptopp/misc.h:414:8: warning: comparison of unsigned expression hash.cpp: if (a hash.cpp: ~ ^ ~
hash.cpp: /home/djb/benchmarking/supercop-20120717/supercop-data/h5e450/amd64/include/cryptopp/simple.h:42:113: note: in instantiation of function template specialization 'CryptoPP::IntToStringgt;' requested here
hash.cpp: explicit InvalidRounds(const std::string &algorithm, unsigned int rounds) : InvalidArgument(algorithm + ": " + IntToString(rounds) + " is not a valid number of rounds") {}
hash.cpp: ^
hash.cpp: 2 warnings generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -O3 cryptopp