Implementation notes: amd64, genji460, crypto_hash/whirlpool

Computer: genji460
Architecture: amd64
CPU ID: GenuineIntel-000306f2-bfebfbff
SUPERCOP version: 20180818
Operation: crypto_hash
Primitive: whirlpool
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
43048? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018082620180818
43076? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018082620180818
43440? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018082620180818
43612? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018082620180818
43704? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018082620180818
43976? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018082620180818
44908? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018082620180818
45424? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018082620180818
45464? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018082620180818
45476? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018082620180818
45768? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018082620180818
46768? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018082620180818
46936? ? ?? ? ?reficc_-xCORE-AVX2_-O3_-fomit-frame-pointer2018082620180818
47588? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2018082620180818
47660? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2018082620180818
47804? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018082620180818
47852? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2018082620180818
47860? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2018082620180818
47904? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018082620180818
47952? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2018082620180818
48004? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018082620180818
48008? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2018082620180818
48016? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018082620180818
48040? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018082620180818
48044? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018082620180818
48048? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018082620180818
48056? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2018082620180818
48168? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018082620180818
48188? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018082620180818
48232? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018082620180818
48236? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018082620180818
48240? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018082620180818
48396? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018082620180818
48460? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018082620180818
48512? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2018082620180818
48512? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018082620180818
48536? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018082620180818
48644? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018082620180818
48676? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018082620180818
48736? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018082620180818
48744? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2018082620180818
48772? ? ?? ? ?reficc_-xCORE-AVX2_-O2_-fomit-frame-pointer2018082620180818
48780? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018082620180818
48804? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018082620180818
48804? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018082620180818
48820? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2018082620180818
48852? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018082620180818
48900? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018082620180818
48900? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2018082620180818
48912? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2018082620180818
48920? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2018082620180818
48924? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018082620180818
48924? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2018082620180818
48944? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018082620180818
48956? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018082620180818
48960? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018082620180818
49040? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018082620180818
49092? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2018082620180818
49140? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018082620180818
49316? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2018082620180818
49324? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2018082620180818
49344? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018082620180818
49460? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018082620180818
49468? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2018082620180818
49580? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2018082620180818
49588? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018082620180818
49612? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018082620180818
49612? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2018082620180818
49648? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018082620180818
49652? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2018082620180818
49668? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018082620180818
49816? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2018082620180818
49820? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2018082620180818
49848? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018082620180818
49992? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2018082620180818
50028? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018082620180818
50140? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2018082620180818
50172? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018082620180818
50192? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2018082620180818
50220? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018082620180818
50240? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018082620180818
50280? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2018082620180818
50320? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018082620180818
50356? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018082620180818
50368? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2018082620180818
50384? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018082620180818
50480? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018082620180818
50728? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2018082620180818
50796? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2018082620180818
50952? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018082620180818
51116? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018082620180818
51204? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2018082620180818
51908? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018082620180818
51972? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018082620180818
52056? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018082620180818
52116? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018082620180818
52160? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018082620180818
52172? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018082620180818
53292? ? ?? ? ?reficc_-xSSE4.2_-O3_-fomit-frame-pointer2018082620180818
53768? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018082620180818
53784? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018082620180818
53788? ? ?? ? ?reficc_-xSSE4.1_-O3_-fomit-frame-pointer2018082620180818
53896? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2018082620180818
54120? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018082620180818
54184? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018082620180818
54184? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2018082620180818
54204? ? ?? ? ?reficc_-xAVX_-O3_-fomit-frame-pointer2018082620180818
54312? ? ?? ? ?reficc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2018082620180818
54448? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2018082620180818
54628? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018082620180818
54800? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2018082620180818
54864? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018082620180818
54872? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018082620180818
54900? ? ?? ? ?reficc_-no-vec2018082620180818
55024? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018082620180818
55688? ? ?? ? ?reficc2018082620180818
56264? ? ?? ? ?reficc_-xSSE4.2_-O2_-fomit-frame-pointer2018082620180818
56460? ? ?? ? ?reficc_-xSSE4.1_-O2_-fomit-frame-pointer2018082620180818
56472? ? ?? ? ?reficc_-xAVX_-O2_-fomit-frame-pointer2018082620180818
61004? ? ?? ? ?reficc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2018082620180818
114276? ? ?? ? ?refcc2018082620180818
114676? ? ?? ? ?refgcc2018082620180818
115280? ? ?? ? ?refgcc_-funroll-loops2018082620180818

Compiler output

Implementation: cryptopp
Security model: unknown
Compiler: g++
hash.cpp: hash.cpp:1:10: fatal error: cryptopp/whrlpool.h: No such file or directory
hash.cpp: #include <cryptopp/whrlpool.h>
hash.cpp: ^~~~~~~~~~~~~~~~~~~~~
hash.cpp: compilation terminated.

Number of similar (compiler,implementation) pairs: 73, namely:
CompilerImplementations
g++ cryptopp
g++ -O2 -fomit-frame-pointer cryptopp
g++ -O3 -fomit-frame-pointer cryptopp
g++ -O -fomit-frame-pointer cryptopp
g++ -Os -fomit-frame-pointer cryptopp
g++ -fno-schedule-insns -O2 -fomit-frame-pointer cryptopp
g++ -fno-schedule-insns -O3 -fomit-frame-pointer cryptopp
g++ -fno-schedule-insns -O -fomit-frame-pointer cryptopp
g++ -fno-schedule-insns -Os -fomit-frame-pointer cryptopp
g++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer cryptopp
g++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer cryptopp
g++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer cryptopp
g++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer cryptopp
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=core-avx-i -O2 -fomit-frame-pointer cryptopp
g++ -m64 -march=core-avx-i -O3 -fomit-frame-pointer cryptopp
g++ -m64 -march=core-avx-i -O -fomit-frame-pointer cryptopp
g++ -m64 -march=core-avx-i -Os -fomit-frame-pointer cryptopp
g++ -m64 -march=core-avx2 -O2 -fomit-frame-pointer cryptopp
g++ -m64 -march=core-avx2 -O3 -fomit-frame-pointer cryptopp
g++ -m64 -march=core-avx2 -O -fomit-frame-pointer cryptopp
g++ -m64 -march=core-avx2 -Os -fomit-frame-pointer cryptopp
g++ -m64 -march=core2 -O2 -fomit-frame-pointer cryptopp
g++ -m64 -march=core2 -O3 -fomit-frame-pointer cryptopp
g++ -m64 -march=core2 -O -fomit-frame-pointer cryptopp
g++ -m64 -march=core2 -Os -fomit-frame-pointer cryptopp
g++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer cryptopp
g++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer cryptopp
g++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer cryptopp
g++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer cryptopp
g++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer cryptopp
g++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer cryptopp
g++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer cryptopp
g++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer cryptopp
g++ -m64 -march=corei7-avx -O2 -fomit-frame-pointer cryptopp
g++ -m64 -march=corei7-avx -O3 -fomit-frame-pointer cryptopp
g++ -m64 -march=corei7-avx -O -fomit-frame-pointer cryptopp
g++ -m64 -march=corei7-avx -Os -fomit-frame-pointer cryptopp
g++ -m64 -march=corei7 -O2 -fomit-frame-pointer cryptopp
g++ -m64 -march=corei7 -O3 -fomit-frame-pointer cryptopp
g++ -m64 -march=corei7 -O -fomit-frame-pointer cryptopp
g++ -m64 -march=corei7 -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=native -mtune=native -O2 -fomit-frame-pointer cryptopp
g++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer cryptopp
g++ -m64 -march=native -mtune=native -O -fomit-frame-pointer cryptopp
g++ -m64 -march=native -mtune=native -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++ -march=barcelona -O2 -fomit-frame-pointer cryptopp
g++ -march=barcelona -O3 -fomit-frame-pointer cryptopp
g++ -march=barcelona -O -fomit-frame-pointer cryptopp
g++ -march=barcelona -Os -fomit-frame-pointer cryptopp
g++ -march=k8 -O2 -fomit-frame-pointer cryptopp
g++ -march=k8 -O3 -fomit-frame-pointer cryptopp
g++ -march=k8 -O -fomit-frame-pointer cryptopp
g++ -march=k8 -Os -fomit-frame-pointer cryptopp
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv cryptopp
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv cryptopp
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv cryptopp
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv cryptopp
g++ -march=nocona -O2 -fomit-frame-pointer cryptopp
g++ -march=nocona -O3 -fomit-frame-pointer cryptopp
g++ -march=nocona -O -fomit-frame-pointer cryptopp
g++ -march=nocona -Os -fomit-frame-pointer cryptopp

Compiler output

Implementation: cryptopp
Security model: unknown
Compiler: g++ -m64 -march=barcelona -O2 -fomit-frame-pointer
hash.cpp: hash.cpp:1:10: fatal error: cryptopp/whrlpool.h: No such file or directory
hash.cpp: #include <cryptopp/whrlpool.h>
hash.cpp: ^~~~~~~~~~~~~~~~~~~~~
hash.cpp: compilation terminated.
hash.cpp: hash.cpp:1:10: fatal error: cryptopp/whrlpool.h: No such file or directory
hash.cpp: #include <cryptopp/whrlpool.h>
hash.cpp: ^~~~~~~~~~~~~~~~~~~~~
hash.cpp: compilation terminated.

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

Compiler output

Implementation: cryptopp
Security model: unknown
Compiler: icpc -xAVX -O2 -fomit-frame-pointer
hash.cpp: hash.cpp(1): catastrophic error: cannot open source file "cryptopp/whrlpool.h"
hash.cpp: #include <cryptopp/whrlpool.h>
hash.cpp: ^
hash.cpp:
hash.cpp: compilation aborted for hash.cpp (code 4)

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
icpc -xAVX -O2 -fomit-frame-pointer cryptopp
icpc -xAVX -O3 -fomit-frame-pointer cryptopp
icpc -xCORE-AVX-I -O2 -fomit-frame-pointer cryptopp
icpc -xCORE-AVX-I -O3 -fomit-frame-pointer cryptopp
icpc -xCORE-AVX2 -O2 -fomit-frame-pointer cryptopp
icpc -xCORE-AVX2 -O3 -fomit-frame-pointer cryptopp
icpc -xSSE4.1 -O2 -fomit-frame-pointer cryptopp
icpc -xSSE4.1 -O3 -fomit-frame-pointer cryptopp
icpc -xSSE4.2 -O2 -fomit-frame-pointer cryptopp
icpc -xSSE4.2 -O3 -fomit-frame-pointer cryptopp