Implementation notes: amd64, cryptothinkx, crypto_hash/whirlpool

Computer: cryptothinkx
Architecture: amd64
CPU ID: GenuineIntel-00040651-bfebfbff
SUPERCOP version: 20170105
Operation: crypto_hash
Primitive: whirlpool
TimeImplementationCompilerBenchmark dateSUPERCOP version
28461cryptoppg++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020220170105
28497cryptoppg++ -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020220170105
29322cryptoppg++ -m64 -march=core-avx2 -O3 -fomit-frame-pointer2017020220170105
29325cryptoppg++ -m64 -march=barcelona -O3 -fomit-frame-pointer2017020220170105
29340cryptoppg++ -fno-schedule-insns -O2 -fomit-frame-pointer2017020220170105
29346cryptoppclang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2017020220170105
29376cryptoppg++ -m64 -march=nocona -O3 -fomit-frame-pointer2017020220170105
29406cryptoppg++ -m64 -march=corei7 -O -fomit-frame-pointer2017020220170105
29412cryptoppg++ -m64 -march=core-avx-i -Os -fomit-frame-pointer2017020220170105
29418cryptoppclang++ -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020220170105
29424cryptoppg++ -O3 -fomit-frame-pointer2017020220170105
30237cryptoppg++ -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020220170105
30246cryptoppg++ -march=barcelona -O2 -fomit-frame-pointer2017020220170105
30261cryptoppg++ -m64 -march=core2 -O2 -fomit-frame-pointer2017020220170105
30267cryptoppg++ -O2 -fomit-frame-pointer2017020220170105
30270cryptoppclang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2017020220170105
30285cryptoppclang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2017020220170105
30285cryptoppg++ -march=k8 -O3 -fomit-frame-pointer2017020220170105
30294cryptoppg++ -m64 -march=k8 -O2 -fomit-frame-pointer2017020220170105
30306cryptoppg++ -march=k8 -O2 -fomit-frame-pointer2017020220170105
30309cryptoppg++ -fno-schedule-insns -Os -fomit-frame-pointer2017020220170105
30318cryptoppclang++ -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2017020220170105
30318cryptoppg++ -m64 -march=barcelona -O2 -fomit-frame-pointer2017020220170105
30318cryptoppg++ -m64 -march=k8 -O -fomit-frame-pointer2017020220170105
30321cryptoppg++ -m64 -march=barcelona -O -fomit-frame-pointer2017020220170105
30321cryptoppg++ -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020220170105
30324cryptoppg++ -m64 -O2 -fomit-frame-pointer2017020220170105
30324cryptoppg++ -m64 -Os -fomit-frame-pointer2017020220170105
30324cryptoppg++ -march=barcelona -O -fomit-frame-pointer2017020220170105
30333cryptoppg++ -m64 -O -fomit-frame-pointer2017020220170105
30333cryptoppg++ -m64 -march=barcelona -Os -fomit-frame-pointer2017020220170105
30348cryptoppclang++ -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020220170105
30348cryptoppg++ -m64 -march=core-avx2 -Os -fomit-frame-pointer2017020220170105
30348cryptoppg++ -march=barcelona -Os -fomit-frame-pointer2017020220170105
30351cryptoppg++ -m64 -march=core-avx-i -O -fomit-frame-pointer2017020220170105
30354cryptoppg++ -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020220170105
30357cryptoppg++ -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020220170105
30363cryptoppclang++ -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020220170105
30363cryptoppg++ -march=nocona -O3 -fomit-frame-pointer2017020220170105
30369cryptoppg++ -m64 -march=core-avx2 -O -fomit-frame-pointer2017020220170105
30378cryptoppg++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020220170105
30378cryptoppg++ -m64 -march=barcelona -O -fomit-frame-pointer2017020220170105
30378cryptoppg++ -m64 -march=corei7-avx -O -fomit-frame-pointer2017020220170105
30378cryptoppg++ -march=nocona -O2 -fomit-frame-pointer2017020220170105
30384cryptoppclang++ -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020220170105
30399cryptoppclang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020220170105
30399cryptoppg++ -O -fomit-frame-pointer2017020220170105
30414cryptoppg++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020220170105
30423cryptoppg++ -march=nocona -O -fomit-frame-pointer2017020220170105
31104cryptoppg++ -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020220170105
31245cryptoppg++ -m64 -march=barcelona -O3 -fomit-frame-pointer2017020220170105
31260cryptoppg++ -m64 -march=k8 -O3 -fomit-frame-pointer2017020220170105
31266cryptoppg++ -m64 -march=barcelona -O2 -fomit-frame-pointer2017020220170105
31278cryptoppg++ -m64 -march=corei7 -O3 -fomit-frame-pointer2017020220170105
31281cryptoppg++ -march=k8 -Os -fomit-frame-pointer2017020220170105
31284cryptoppg++ -m64 -march=core2 -Os -fomit-frame-pointer2017020220170105
31284cryptoppg++ -m64 -march=corei7 -O2 -fomit-frame-pointer2017020220170105
31305cryptoppg++ -m64 -march=k8 -Os -fomit-frame-pointer2017020220170105
31308cryptoppg++ -m64 -march=corei7 -Os -fomit-frame-pointer2017020220170105
31314cryptoppg++ -march=nocona -Os -fomit-frame-pointer2017020220170105
31320cryptoppg++ -Os -fomit-frame-pointer2017020220170105
31323cryptoppg++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020220170105
31326cryptoppg++ -m64 -march=barcelona -Os -fomit-frame-pointer2017020220170105
31335cryptoppg++ -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020220170105
31344cryptoppg++ -m64 -march=corei7-avx -O3 -fomit-frame-pointer2017020220170105
31356cryptoppg++ -m64 -march=core-avx-i -O3 -fomit-frame-pointer2017020220170105
31359cryptoppg++ -m64 -march=core-avx2 -O2 -fomit-frame-pointer2017020220170105
31362cryptoppg++ -m64 -march=nocona -O2 -fomit-frame-pointer2017020220170105
31377cryptoppg++ -march=k8 -O -fomit-frame-pointer2017020220170105
31380cryptoppg++ -fno-schedule-insns -O -fomit-frame-pointer2017020220170105
31380cryptoppg++ -m64 -O3 -fomit-frame-pointer2017020220170105
31380cryptoppg++ -m64 -march=core-avx-i -O2 -fomit-frame-pointer2017020220170105
31380cryptoppg++ -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020220170105
31389cryptoppg++ -m64 -march=core2 -O -fomit-frame-pointer2017020220170105
31392cryptoppg++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020220170105
31404cryptoppg++ -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020220170105
31404cryptoppg++ -m64 -march=corei7-avx -O2 -fomit-frame-pointer2017020220170105
31422cryptoppg++ -fno-schedule-insns -O3 -fomit-frame-pointer2017020220170105
31602cryptoppg++2017020220170105
32346cryptoppg++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020220170105
32385cryptoppg++ -m64 -march=nocona -Os -fomit-frame-pointer2017020220170105
32388cryptoppg++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020220170105
32397cryptoppg++ -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020220170105
32469cryptoppg++ -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020220170105
32487cryptoppg++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020220170105
32505cryptoppg++ -m64 -march=nocona -O -fomit-frame-pointer2017020220170105
32565cryptoppg++ -m64 -march=core2 -O3 -fomit-frame-pointer2017020220170105
33588cryptoppclang++ -O3 -fomit-frame-pointer -Qunused-arguments2017020220170105
33633cryptoppg++ -m64 -march=corei7-avx -Os -fomit-frame-pointer2017020220170105
36148cryptoppg++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020220170105
37608cryptoppg++ -march=barcelona -O3 -fomit-frame-pointer2017020220170105
39219refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020220170105
39252refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2017020220170105
40293refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020220170105
40422refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020220170105
40488refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2017020220170105
41256refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2017020220170105
41262refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020220170105
41595refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020220170105
41604refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020220170105
41670refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020220170105
41832refgcc -funroll-loops -O3 -fomit-frame-pointer2017020220170105
41925refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020220170105
42054refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020220170105
42342refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020220170105
42354refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020220170105
42420refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020220170105
42450refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020220170105
42636refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020220170105
42786refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020220170105
42819refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020220170105
42822refgcc -march=nocona -O3 -fomit-frame-pointer2017020220170105
42963refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020220170105
42966refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020220170105
42984refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020220170105
43023refgcc -funroll-loops -O2 -fomit-frame-pointer2017020220170105
43170refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020220170105
43224refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020220170105
43299refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020220170105
43416refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020220170105
43449refgcc -O2 -fomit-frame-pointer2017020220170105
43503refgcc -march=nocona -O2 -fomit-frame-pointer2017020220170105
43518refgcc -march=k8 -O -fomit-frame-pointer2017020220170105
43584refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2017020220170105
43590refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2017020220170105
43590refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2017020220170105
43614refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020220170105
43647refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020220170105
43710refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020220170105
43755refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020220170105
43806refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020220170105
43845refgcc -march=k8 -O2 -fomit-frame-pointer2017020220170105
43854refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020220170105
43983refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2017020220170105
43986refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2017020220170105
44022refgcc -m64 -march=core2 -O -fomit-frame-pointer2017020220170105
44070refgcc -fno-schedule-insns -O -fomit-frame-pointer2017020220170105
44136refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020220170105
44139refgcc -O -fomit-frame-pointer2017020220170105
44145refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020220170105
44199refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020220170105
44310refgcc -funroll-loops -O -fomit-frame-pointer2017020220170105
44319refgcc -march=nocona -O -fomit-frame-pointer2017020220170105
44358refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020220170105
44466refgcc -m64 -O3 -fomit-frame-pointer2017020220170105
44487refgcc -O3 -fomit-frame-pointer2017020220170105
44490refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020220170105
44517refgcc -funroll-loops -Os -fomit-frame-pointer2017020220170105
44547refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020220170105
44775refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020220170105
44793refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020220170105
44802refgcc -march=k8 -Os -fomit-frame-pointer2017020220170105
44817refgcc -march=barcelona -Os -fomit-frame-pointer2017020220170105
44835refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020220170105
44859refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020220170105
44865refgcc -Os -fomit-frame-pointer2017020220170105
44874refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020220170105
44880refgcc -m64 -O2 -fomit-frame-pointer2017020220170105
44919refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020220170105
44922refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020220170105
44928refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020220170105
44937refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020220170105
44976refgcc -m64 -march=k8 -O -fomit-frame-pointer2017020220170105
45066refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020220170105
45066refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2017020220170105
45069refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020220170105
45069refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020220170105
45192refgcc -march=barcelona -O -fomit-frame-pointer2017020220170105
45276refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020220170105
45417refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2017020220170105
45438refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020220170105
45444refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020220170105
45513refgcc -m64 -O -fomit-frame-pointer2017020220170105
45597refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020220170105
45603refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020220170105
45633refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020220170105
45669refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020220170105
45738refgcc -m64 -march=nocona -O -fomit-frame-pointer2017020220170105
46083refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2017020220170105
46119refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020220170105
46122refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2017020220170105
46134refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020220170105
46137refgcc -march=barcelona -O3 -fomit-frame-pointer2017020220170105
46245refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020220170105
46317refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020220170105
46401refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020220170105
46404refgcc -m64 -Os -fomit-frame-pointer2017020220170105
46437refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020220170105
46545refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020220170105
46773refgcc -march=k8 -O3 -fomit-frame-pointer2017020220170105
46776refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020220170105
47265refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020220170105
47316refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020220170105
47340refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020220170105
47532refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020220170105
47703refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020220170105
47778refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020220170105
47898refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020220170105
48114refgcc -march=nocona -Os -fomit-frame-pointer2017020220170105
48867refgcc -march=barcelona -O2 -fomit-frame-pointer2017020220170105
49683refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020220170105
50484refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020220170105
50656refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020220170105
50886refclang -O3 -fomit-frame-pointer -Qunused-arguments2017020220170105
52080refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2017020220170105
52089refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2017020220170105
52341refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020220170105
52462refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020220170105
52638refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2017020220170105
54117refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020220170105
55788refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2017020220170105
56157refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020220170105
103011refgcc2017020220170105
113445refgcc -funroll-loops2017020220170105
121992refcc2017020220170105