Implementation notes: amd64, skylake, crypto_hash/whirlpool

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_hash
Primitive: whirlpool
TimeImplementationCompilerBenchmark dateSUPERCOP version
41670refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121520161026
41856refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121520161026
42126refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121520161026
42204refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121520161026
42294refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121520161026
42540refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121520161026
43088refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121520161026
43330refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121520161026
43588refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121520161026
45210refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121520161026
45224refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121520161026
45312refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121520161026
45414refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121520161026
45794refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121520161026
45898refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121520161026
45996refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121520161026
46018refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121520161026
46430refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121520161026
46468refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121520161026
46712refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121520161026
46816refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121520161026
46832refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121520161026
46836refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121520161026
47092refgcc -march=k8 -O2 -fomit-frame-pointer2016121520161026
47126refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121520161026
47136refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121520161026
47142refgcc -m64 -O3 -fomit-frame-pointer2016121520161026
47222refgcc -march=nocona -O2 -fomit-frame-pointer2016121520161026
47288refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121520161026
47532refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121520161026
47548refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121520161026
47556refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121520161026
47566refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121520161026
47572refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121520161026
47606refgcc -O3 -fomit-frame-pointer2016121520161026
47678refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121520161026
47680refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121520161026
47704refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121520161026
47728refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121520161026
47762refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121520161026
47798refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121520161026
47818refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121520161026
47834refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121520161026
47870refgcc -march=barcelona -O3 -fomit-frame-pointer2016121520161026
47870refgcc -march=nocona -Os -fomit-frame-pointer2016121520161026
47976refgcc -funroll-loops -Os -fomit-frame-pointer2016121520161026
48022refgcc -funroll-loops -O -fomit-frame-pointer2016121520161026
48056refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121520161026
48058refgcc -funroll-loops -O3 -fomit-frame-pointer2016121520161026
48068refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121520161026
48072refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121520161026
48074refgcc -funroll-loops -O2 -fomit-frame-pointer2016121520161026
48108refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121520161026
48172refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121520161026
48220refgcc -march=barcelona -O2 -fomit-frame-pointer2016121520161026
48312refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121520161026
48354refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121520161026
48380refgcc -O2 -fomit-frame-pointer2016121520161026
48390refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121520161026
48426refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121520161026
48428refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121520161026
48438refgcc -march=k8 -O3 -fomit-frame-pointer2016121520161026
48458refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121520161026
48508refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121520161026
48532refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121520161026
48606refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121520161026
48666refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121520161026
48690refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121520161026
48708refgcc -march=nocona -O3 -fomit-frame-pointer2016121520161026
48718refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121520161026
48768refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121520161026
48782refgcc -m64 -O2 -fomit-frame-pointer2016121520161026
48784refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121520161026
48792refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121520161026
48842refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121520161026
48852refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121520161026
48872refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121520161026
48944refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121520161026
49040refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121520161026
49080refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121520161026
49108refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121520161026
49152refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121520161026
49174refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121520161026
49188refgcc -Os -fomit-frame-pointer2016121520161026
49250refgcc -m64 -Os -fomit-frame-pointer2016121520161026
49266refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121520161026
49280refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121520161026
49328refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121520161026
49346refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121520161026
49372refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121520161026
49440refgcc -march=barcelona -Os -fomit-frame-pointer2016121520161026
49516refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121520161026
49536refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121520161026
49542refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121520161026
49668refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121520161026
49712refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121520161026
49724refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121520161026
49786refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121520161026
49824refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121520161026
49956refgcc -m64 -O -fomit-frame-pointer2016121520161026
49972refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121520161026
50060refgcc -march=k8 -Os -fomit-frame-pointer2016121520161026
50144refgcc -march=barcelona -O -fomit-frame-pointer2016121520161026
50284refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121520161026
50324refgcc -march=nocona -O -fomit-frame-pointer2016121520161026
50470refgcc -march=k8 -O -fomit-frame-pointer2016121520161026
50976refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121520161026
51082refgcc -O -fomit-frame-pointer2016121520161026
51356refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121520161026
51844refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121520161026
55240refclang -O3 -fomit-frame-pointer -Qunused-arguments2016121520161026
55546refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121520161026
55618refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121520161026
55880refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121520161026
56256refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121520161026
56384refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121520161026
56458refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121520161026
56734refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121520161026
94406refcc2016121520161026
96616refgcc2016121520161026
98058refgcc -funroll-loops2016121520161026

Compiler output

Implementation: crypto_hash/whirlpool/cryptopp
Compiler: clang++ -O3 -fomit-frame-pointer -Qunused-arguments
hash.cpp: hash.cpp:1:10: fatal error: 'cryptopp/whrlpool.h' file not found
hash.cpp: #include gt;
hash.cpp: ^
hash.cpp: 1 error generated.

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

Compiler output

Implementation: crypto_hash/whirlpool/cryptopp
Compiler: g++
hash.cpp: hash.cpp:1:31: fatal error: cryptopp/whrlpool.h: No such file or directory
hash.cpp: #include gt;
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: crypto_hash/whirlpool/cryptopp
Compiler: g++ -m64 -march=barcelona -O2 -fomit-frame-pointer
hash.cpp: hash.cpp:1:31: fatal error: cryptopp/whrlpool.h: No such file or directory
hash.cpp: #include gt;
hash.cpp: ^
hash.cpp: compilation terminated.
hash.cpp: hash.cpp:1:31: fatal error: cryptopp/whrlpool.h: No such file or directory
hash.cpp: #include gt;
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