Implementation notes: amd64, haswell, crypto_hashblocks/sha256

Computer: haswell
Architecture: amd64
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20130419
Operation: crypto_hashblocks
Primitive: sha256
TimeImplementationCompilerBenchmark dateSUPERCOP version
20776inplacegcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2013060820130419
20872inplacegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2013060820130419
21420refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2013060820130419
21572refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2013060820130419
21804inplacegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2013060820130419
22432inplacegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2013060820130419
23216refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2013060820130419
23828refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2013060820130419
25740inplacegcc -m64 -march=corei7 -Os -fomit-frame-pointer2013060820130419
25756inplacegcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
26220inplacegcc -m64 -O -fomit-frame-pointer2013060820130419
26341refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
26419refgcc -march=nocona -O -fomit-frame-pointer2013060820130419
26436refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2013060820130419
26489refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2013060820130419
26523refgcc -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
26564refgcc -Os -fomit-frame-pointer2013060820130419
26652refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
26656refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2013060820130419
26663refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2013060820130419
26816inplacegcc -m64 -O2 -fomit-frame-pointer2013060820130419
26824inplacegcc -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
26830refgcc -m64 -Os -fomit-frame-pointer2013060820130419
26848refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2013060820130419
27057inplacegcc -march=barcelona -O -fomit-frame-pointer2013060820130419
27164refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
27228refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2013060820130419
27310inplacegcc -march=nocona -O -fomit-frame-pointer2013060820130419
27332inplacegcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
27432inplacegcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
27432inplacegcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
27496refgcc -march=nocona -Os -fomit-frame-pointer2013060820130419
27504inplacegcc -funroll-loops -O -fomit-frame-pointer2013060820130419
27567inplacegcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2013060820130419
27568refgcc -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
27608inplacegcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2013060820130419
27620refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2013060820130419
27648inplacegcc -m64 -Os -fomit-frame-pointer2013060820130419
27652inplacegcc -funroll-loops -march=k8 -O -fomit-frame-pointer2013060820130419
27675refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
27679inplacegcc -funroll-loops -O2 -fomit-frame-pointer2013060820130419
27680inplacegcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
27699inplacegcc -funroll-loops -O3 -fomit-frame-pointer2013060820130419
27700inplacegcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2013060820130419
27728inplacegcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2013060820130419
27752inplacegcc -march=nocona -Os -fomit-frame-pointer2013060820130419
27766refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2013060820130419
27769refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2013060820130419
27769inplacegcc -m64 -O3 -fomit-frame-pointer2013060820130419
27770inplacegcc -march=barcelona -O2 -fomit-frame-pointer2013060820130419
27782inplacegcc -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
27798inplacegcc -m64 -march=core2 -O3 -fomit-frame-pointer2013060820130419
27799inplacegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2013060820130419
27856refgcc -m64 -march=core2 -Os -fomit-frame-pointer2013060820130419
27940refgcc -march=k8 -O -fomit-frame-pointer2013060820130419
27948inplacegcc -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
27977refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2013060820130419
28056inplacegcc -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
28060inplacegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2013060820130419
28076inplacegcc -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
28220inplacegcc -march=k8 -O3 -fomit-frame-pointer2013060820130419
28378inplacegcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2013060820130419
28388refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
28452inplacegcc -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
28478inplacegcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2013060820130419
28502inplacegcc -funroll-loops -m64 -Os -fomit-frame-pointer2013060820130419
28524refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
28524refgcc -march=nocona -O3 -fomit-frame-pointer2013060820130419
28528refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2013060820130419
28532refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2013060820130419
28540inplacegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2013060820130419
28552inplacegcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2013060820130419
28556inplacegcc -march=barcelona -Os -fomit-frame-pointer2013060820130419
28568inplacegcc -m64 -march=corei7 -O3 -fomit-frame-pointer2013060820130419
28572inplacegcc -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
28574inplacegcc -Os -fomit-frame-pointer2013060820130419
28586inplacegcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
28588inplacegcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2013060820130419
28610refgcc -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
28616refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2013060820130419
28616inplacegcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2013060820130419
28672refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
28676refgcc -march=barcelona -Os -fomit-frame-pointer2013060820130419
28689refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2013060820130419
28702inplacegcc -funroll-loops -Os -fomit-frame-pointer2013060820130419
28706inplacegcc -funroll-loops -march=nocona -O -fomit-frame-pointer2013060820130419
28728inplacegcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2013060820130419
28744refgcc -m64 -O2 -fomit-frame-pointer2013060820130419
28768inplacegcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
28768inplacegcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2013060820130419
28784refclang -O32013060820130419
28804refgcc -funroll-loops -m64 -O -fomit-frame-pointer2013060820130419
28808refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2013060820130419
28812inplacegcc -march=barcelona -O3 -fomit-frame-pointer2013060820130419
28820refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2013060820130419
28822refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
28852refgcc -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
28852refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2013060820130419
28860inplacegcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2013060820130419
28884refgcc -m64 -march=core2 -O -fomit-frame-pointer2013060820130419
28952refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2013060820130419
29004refgcc -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
29070refgcc -m64 -O -fomit-frame-pointer2013060820130419
29070refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
29091refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
29128inplacegcc -m64 -march=core-avx-i -O -fomit-frame-pointer2013060820130419
29136inplacegcc -O -fomit-frame-pointer2013060820130419
29162inplacegcc -m64 -march=core2 -O -fomit-frame-pointer2013060820130419
29178inplacegcc -march=nocona -O2 -fomit-frame-pointer2013060820130419
29228inplacegcc -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
29284inplacegcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
29320refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
29328refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2013060820130419
29492refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
29512refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2013060820130419
29548refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
29588inplacegcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2013060820130419
29592refgcc -funroll-loops -Os -fomit-frame-pointer2013060820130419
29592refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
29592inplacegcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
29600refgcc -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
29616refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
29654inplacegcc -m64 -march=core2 -O2 -fomit-frame-pointer2013060820130419
29658inplacegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2013060820130419
29676refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2013060820130419
29676refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2013060820130419
29708inplacegcc -funroll-loops -m64 -O -fomit-frame-pointer2013060820130419
29716inplacegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2013060820130419
29724inplacegcc -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
29744refgcc -march=k8 -Os -fomit-frame-pointer2013060820130419
29754refclang -O3 -mavx2013060820130419
29772refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2013060820130419
29780inplacegcc -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
29790refgcc -funroll-loops -O2 -fomit-frame-pointer2013060820130419
29792refgcc -funroll-loops -O3 -fomit-frame-pointer2013060820130419
29792inplacegcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2013060820130419
29796inplacegcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
29800inplacegcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
29812inplacegcc -march=k8 -Os -fomit-frame-pointer2013060820130419
29820refgcc -march=nocona -O2 -fomit-frame-pointer2013060820130419
29846refgcc -march=k8 -O2 -fomit-frame-pointer2013060820130419
29890inplacegcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
29890refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
29920refgcc -O3 -fomit-frame-pointer2013060820130419
29932refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2013060820130419
29958refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2013060820130419
29962inplacegcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
29966refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2013060820130419
29970refgcc -O2 -fomit-frame-pointer2013060820130419
30002refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2013060820130419
30008refgcc -O -fomit-frame-pointer2013060820130419
30012refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2013060820130419
30016refgcc -funroll-loops -O -fomit-frame-pointer2013060820130419
30076refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
30100refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2013060820130419
30140refgcc -march=k8 -O3 -fomit-frame-pointer2013060820130419
30222inplacegcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2013060820130419
30254refgcc -m64 -O3 -fomit-frame-pointer2013060820130419
30260inplacegcc -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
30296inplacegcc -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
30296inplacegcc -m64 -march=corei7 -O -fomit-frame-pointer2013060820130419
30408inplacegcc -O2 -fomit-frame-pointer2013060820130419
30408inplacegcc -march=k8 -O -fomit-frame-pointer2013060820130419
30426inplacegcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
30524inplacegcc -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
30656inplacegcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
30728refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2013060820130419
30736refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2013060820130419
30748refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
30760refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2013060820130419
30769refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2013060820130419
30852inplacegcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2013060820130419
30931refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
30935inplacegcc -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
30992inplacegcc -funroll-loops -m64 -O3 -fomit-frame-pointer2013060820130419
31040inplacegcc -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
31072inplacegcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2013060820130419
31092inplacegcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2013060820130419
31156refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2013060820130419
31176inplacegcc -march=k8 -O2 -fomit-frame-pointer2013060820130419
31248refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
31248refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
31258refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2013060820130419
31268refgcc -march=barcelona -O2 -fomit-frame-pointer2013060820130419
31271refgcc -m64 -march=corei7 -O -fomit-frame-pointer2013060820130419
31300refgcc -march=barcelona -O3 -fomit-frame-pointer2013060820130419
31336inplacegcc -O3 -fomit-frame-pointer2013060820130419
31352refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2013060820130419
31384inplacegcc -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
31460refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
31561inplacegcc -m64 -march=corei7-avx -O -fomit-frame-pointer2013060820130419
31568refgcc -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
31601refgcc -march=barcelona -O -fomit-frame-pointer2013060820130419
31726inplacegcc -march=nocona -O3 -fomit-frame-pointer2013060820130419
31996inplaceclang -O3 -mavx2013060820130419
32088refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
32156refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
32228inplacegcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2013060820130419
32243inplacegcc -m64 -march=core2 -Os -fomit-frame-pointer2013060820130419
32244refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
32283inplacegcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
32923inplacegcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2013060820130419
33766inplacegcc -funroll-loops -m64 -O2 -fomit-frame-pointer2013060820130419
34709inplaceclang -O32013060820130419
47364inplacegcc2013060820130419
47504inplacegcc -funroll-loops2013060820130419
50596refcc2013060820130419
51172inplacecc2013060820130419
56040refgcc -funroll-loops2013060820130419
56416refgcc2013060820130419