Implementation notes: x86, bulldozer, crypto_hash/mcssha4

Computer: bulldozer
Architecture: x86
CPU ID: AuthenticAMD-00600f12-178bfbff
SUPERCOP version: 20120709
Operation: crypto_hash
Primitive: mcssha4
TimeImplementationCompilerBenchmark dateSUPERCOP version
88553refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2012053020120525
88769refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2012053020120525
88783refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2012053020120525
88791refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2012053020120525
88795refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2012053020120525
88860refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2012053020120525
88924refgcc -m32 -march=core2 -O -fomit-frame-pointer2012053020120525
88967refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2012053020120525
89022refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2012053020120525
89196refgcc -m32 -march=k8 -O -fomit-frame-pointer2012053020120525
89300refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2012053020120525
89391refgcc -m32 -march=corei7 -O -fomit-frame-pointer2012053020120525
89470refgcc -m32 -march=athlon -O -fomit-frame-pointer2012053020120525
89534refgcc -m32 -march=nocona -O -fomit-frame-pointer2012053020120525
89576refgcc -m32 -march=barcelona -O -fomit-frame-pointer2012053020120525
89832refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2012053020120525
90034refgcc -m32 -O -fomit-frame-pointer2012053020120525
90290refgcc -m32 -march=prescott -O -fomit-frame-pointer2012053020120525
93055refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2012053020120525
93225refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2012053020120525
93600refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2012053020120525
94403refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2012053020120525
94559refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2012053020120525
94616refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2012053020120525
94921refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2012053020120525
95109refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2012053020120525
95311refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2012053020120525
95646refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2012053020120525
95794refgcc -funroll-loops -m32 -O -fomit-frame-pointer2012053020120525
108939refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2012053020120525
108943refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2012053020120525
109041refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2012053020120525
109041refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2012053020120525
109053refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2012053020120525
109065refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2012053020120525
109085refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2012053020120525
109250refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2012053020120525
109254refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2012053020120525
109289refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2012053020120525
109344refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2012053020120525
109345refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2012053020120525
109353refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2012053020120525
109394refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2012053020120525
109441refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2012053020120525
109482refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2012053020120525
109613refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2012053020120525
109652refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2012053020120525
109656refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2012053020120525
109668refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2012053020120525
109706refgcc -m32 -O2 -fomit-frame-pointer2012053020120525
109766refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2012053020120525
109806refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2012053020120525
110103refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2012053020120525
110178refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2012053020120525
110259refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2012053020120525
110380refgcc -m32 -O3 -fomit-frame-pointer2012053020120525
110385refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2012053020120525
110481refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2012053020120525
110696refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2012053020120525
110705refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2012053020120525
110809refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2012053020120525
110856refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2012053020120525
110894refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2012053020120525
110905refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2012053020120525
110922refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2012053020120525
111121refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2012053020120525
111330refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2012053020120525
111332refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2012053020120525
111486refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2012053020120525
111631refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2012053020120525
111706refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2012053020120525
111733refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2012053020120525
111845refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2012053020120525
111899refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2012053020120525
111917refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2012053020120525
113027refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2012053020120525
113149refgcc -m32 -march=i386 -O -fomit-frame-pointer2012053020120525
113164refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2012053020120525
113228refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2012053020120525
113337refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2012053020120525
113595refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2012053020120525
113651refgcc -m32 -march=pentium -O -fomit-frame-pointer2012053020120525
113658refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2012053020120525
114308refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2012053020120525
114606refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2012053020120525
114887refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2012053020120525
115264refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2012053020120525
115673refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2012053020120525
115739refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2012053020120525
115771refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2012053020120525
115780refgcc -m32 -march=k6 -O -fomit-frame-pointer2012053020120525
115880refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2012053020120525
115930refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2012053020120525
116116refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2012053020120525
116193refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2012053020120525
116719refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2012053020120525
116723refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2012053020120525
117307refgcc -m32 -march=k6 -Os -fomit-frame-pointer2012053020120525
117332refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2012053020120525
117335refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2012053020120525
117880refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2012053020120525
118306refgcc -m32 -march=i486 -O -fomit-frame-pointer2012053020120525
118418refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2012053020120525
118884refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2012053020120525
120600refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2012053020120525
120906refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2012053020120525
120924refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2012053020120525
121053refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2012053020120525
121140refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2012053020120525
121300refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2012053020120525
122121refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2012053020120525
122127refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2012053020120525
123324refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2012053020120525
125308refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2012053020120525
125921refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2012053020120525
125968refgcc -m32 -march=k8 -Os -fomit-frame-pointer2012053020120525
126002refgcc -m32 -march=athlon -Os -fomit-frame-pointer2012053020120525
126185refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2012053020120525
126383refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2012053020120525
126420refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2012053020120525
126463refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2012053020120525
126473refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2012053020120525
126477refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2012053020120525
126583refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2012053020120525
126670refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2012053020120525
126695refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2012053020120525
126754refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2012053020120525
127020refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2012053020120525
127051refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2012053020120525
127126refgcc -m32 -Os -fomit-frame-pointer2012053020120525
127292refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2012053020120525
127336refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2012053020120525
127613refgcc -m32 -march=pentium -Os -fomit-frame-pointer2012053020120525
127676refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2012053020120525
127765refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2012053020120525
127815refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2012053020120525
127819refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2012053020120525
127965refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2012053020120525
127997refgcc -m32 -march=prescott -Os -fomit-frame-pointer2012053020120525
128057refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2012053020120525
128064refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2012053020120525
128124refgcc -m32 -march=core2 -Os -fomit-frame-pointer2012053020120525
128135refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2012053020120525
128232refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2012053020120525
128251refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012053020120525
128275refgcc -m32 -march=nocona -Os -fomit-frame-pointer2012053020120525
128298refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2012053020120525
128739refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2012053020120525
128962refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2012053020120525
129184refgcc -m32 -march=i386 -Os -fomit-frame-pointer2012053020120525
129495refgcc -m32 -march=i486 -Os -fomit-frame-pointer2012053020120525
130594refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2012053020120525
130836refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2012053020120525
130888refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2012053020120525
132299refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2012053020120525
132398refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2012053020120525
132410refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2012053020120525
139837refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2012053020120525
140367refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2012053020120525
141414refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2012053020120525
142639refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2012053020120525
142771refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2012053020120525
142899refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2012053020120525
142922refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2012053020120525
145125refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2012053020120525
147101refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2012053020120525
151164refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2012053020120525
151176refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2012053020120525
151241refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2012053020120525
152166refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2012053020120525
152167refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2012053020120525
152249refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2012053020120525