Implementation notes: amd64, haswell, crypto_hash/md5

Computer: haswell
Architecture: amd64
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20130419
Operation: crypto_hash
Primitive: md5
TimeImplementationCompilerBenchmark dateSUPERCOP version
8016opensslgcc -m64 -march=core2 -Os -fomit-frame-pointer2013060820130419
8028opensslgcc -m64 -O3 -fomit-frame-pointer2013060820130419
8032opensslgcc -m64 -march=core2 -O3 -fomit-frame-pointer2013060820130419
8032opensslgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2013060820130419
8032opensslgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2013060820130419
8036opensslgcc -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
8036opensslgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
8036opensslgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2013060820130419
8036opensslgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2013060820130419
8040opensslclang -O32013060820130419
8040opensslclang -O3 -mavx2013060820130419
8044opensslgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2013060820130419
8044opensslgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2013060820130419
8044opensslgcc -m64 -O2 -fomit-frame-pointer2013060820130419
8044opensslgcc -m64 -Os -fomit-frame-pointer2013060820130419
8044opensslgcc -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
8044opensslgcc -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
8044opensslgcc -march=barcelona -O3 -fomit-frame-pointer2013060820130419
8048opensslgcc -m64 -O -fomit-frame-pointer2013060820130419
8048opensslgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2013060820130419
8048opensslgcc -march=barcelona -O -fomit-frame-pointer2013060820130419
8052opensslgcc -m64 -march=core2 -O -fomit-frame-pointer2013060820130419
8052opensslgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2013060820130419
8052opensslgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2013060820130419
8052opensslgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2013060820130419
8052opensslgcc -m64 -march=corei7 -Os -fomit-frame-pointer2013060820130419
8052opensslgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2013060820130419
8052opensslgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2013060820130419
8056opensslgcc -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
8056opensslgcc -march=barcelona -O2 -fomit-frame-pointer2013060820130419
8060opensslgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
8060opensslgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
8060opensslgcc -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
8068opensslgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
8076opensslgcc -funroll-loops -m64 -O -fomit-frame-pointer2013060820130419
8280refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
8284refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2013060820130419
8284refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2013060820130419
8292refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2013060820130419
8306opensslgcc -O3 -fomit-frame-pointer2013060820130419
8311opensslgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2013060820130419
8315opensslgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
8319opensslgcc -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
8323opensslgcc -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
8323opensslgcc -march=nocona -Os -fomit-frame-pointer2013060820130419
8327opensslgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2013060820130419
8327opensslgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2013060820130419
8328opensslgcc -funroll-loops -O3 -fomit-frame-pointer2013060820130419
8335opensslgcc -funroll-loops -m64 -Os -fomit-frame-pointer2013060820130419
8335opensslgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2013060820130419
8339opensslgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2013060820130419
8340refclang -O32013060820130419
8340refclang -O3 -mavx2013060820130419
8340opensslgcc -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
8347opensslgcc -m64 -march=core2 -O2 -fomit-frame-pointer2013060820130419
8347opensslgcc -march=k8 -O -fomit-frame-pointer2013060820130419
8348opensslgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2013060820130419
8352opensslgcc -O2 -fomit-frame-pointer2013060820130419
8352opensslgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2013060820130419
8372refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2013060820130419
8372refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2013060820130419
8372refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2013060820130419
8376refgcc -funroll-loops -O2 -fomit-frame-pointer2013060820130419
8376refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
8380refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
8384refgcc -funroll-loops -m64 -O -fomit-frame-pointer2013060820130419
8392refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
8400refgcc -funroll-loops -O -fomit-frame-pointer2013060820130419
8400refgcc -m64 -O2 -fomit-frame-pointer2013060820130419
8400refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2013060820130419
8452refgcc -m64 -Os -fomit-frame-pointer2013060820130419
8460refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2013060820130419
8460refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2013060820130419
8460refgcc -march=barcelona -O -fomit-frame-pointer2013060820130419
8484refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2013060820130419
8580refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2013060820130419
8580refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2013060820130419
8588refgcc -m64 -O3 -fomit-frame-pointer2013060820130419
8593refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
8609refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
8612opensslgcc -march=nocona -O2 -fomit-frame-pointer2013060820130419
8620opensslgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2013060820130419
8620opensslgcc -m64 -march=corei7 -O -fomit-frame-pointer2013060820130419
8620opensslgcc -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
8624opensslgcc -funroll-loops -Os -fomit-frame-pointer2013060820130419
8628opensslgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2013060820130419
8628opensslgcc -march=nocona -O -fomit-frame-pointer2013060820130419
8632opensslgcc -Os -fomit-frame-pointer2013060820130419
8632opensslgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
8632opensslgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
8632opensslgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2013060820130419
8636opensslgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
8636opensslgcc -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
8636opensslgcc -march=k8 -Os -fomit-frame-pointer2013060820130419
8640opensslcc2013060820130419
8640opensslgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2013060820130419
8644opensslgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2013060820130419
8644opensslgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
8644opensslgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2013060820130419
8648opensslgcc -O -fomit-frame-pointer2013060820130419
8648opensslgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
8648opensslgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2013060820130419
8652opensslgcc -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
8652opensslgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2013060820130419
8656opensslgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2013060820130419
8671refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2013060820130419
8672opensslgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2013060820130419
8672opensslgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2013060820130419
8676opensslgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
8679refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
8696refgcc -O2 -fomit-frame-pointer2013060820130419
8700refgcc -march=barcelona -O2 -fomit-frame-pointer2013060820130419
8737refgcc -m64 -march=core2 -O -fomit-frame-pointer2013060820130419
8737refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2013060820130419
8745refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
8745refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
8746refgcc -m64 -O -fomit-frame-pointer2013060820130419
8750refgcc -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
8754refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2013060820130419
8758refgcc -march=nocona -O -fomit-frame-pointer2013060820130419
8880refcc2013060820130419
8896refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2013060820130419
8896refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2013060820130419
8900refgcc -march=barcelona -O3 -fomit-frame-pointer2013060820130419
8904refgcc -O3 -fomit-frame-pointer2013060820130419
8912refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2013060820130419
8912refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2013060820130419
8912refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2013060820130419
8916refgcc -funroll-loops -O3 -fomit-frame-pointer2013060820130419
8936opensslgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2013060820130419
8946opensslgcc -march=barcelona -Os -fomit-frame-pointer2013060820130419
8952opensslgcc -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
8958opensslgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
8958opensslgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
8960opensslgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
8966opensslgcc -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
8974opensslgcc2013060820130419
8974opensslgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
8978opensslgcc -funroll-loops2013060820130419
8978opensslgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2013060820130419
8982opensslgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2013060820130419
8982opensslgcc -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
8982opensslgcc -march=nocona -O3 -fomit-frame-pointer2013060820130419
8986opensslgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2013060820130419
8990opensslgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2013060820130419
8998opensslgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2013060820130419
9000refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
9004refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
9012refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
9020refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2013060820130419
9024refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2013060820130419
9024refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
9032refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2013060820130419
9052refgcc -Os -fomit-frame-pointer2013060820130419
9064refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2013060820130419
9068refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2013060820130419
9072refgcc -O -fomit-frame-pointer2013060820130419
9072refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2013060820130419
9076refgcc -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
9084refgcc -funroll-loops -Os -fomit-frame-pointer2013060820130419
9236refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
9244refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
9244refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
9246refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2013060820130419
9246refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
9320opensslgcc -funroll-loops -O2 -fomit-frame-pointer2013060820130419
9320opensslgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
9328opensslgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
9328opensslgcc -march=k8 -O3 -fomit-frame-pointer2013060820130419
9336opensslgcc -funroll-loops -O -fomit-frame-pointer2013060820130419
9342refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2013060820130419
9342refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
9342refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
9346refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2013060820130419
9350refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2013060820130419
9362refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2013060820130419
9362refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2013060820130419
9368refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
9384refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2013060820130419
9392refgcc -march=k8 -O -fomit-frame-pointer2013060820130419
9396refgcc -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
9404refgcc -march=nocona -O2 -fomit-frame-pointer2013060820130419
9408refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2013060820130419
9408refgcc -m64 -march=corei7 -O -fomit-frame-pointer2013060820130419
9408refgcc -march=barcelona -Os -fomit-frame-pointer2013060820130419
9412refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2013060820130419
9418refgcc -m64 -march=core2 -Os -fomit-frame-pointer2013060820130419
9420refgcc -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
9422refgcc -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
9422refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2013060820130419
9432refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2013060820130419
9434refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
9438refgcc -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
9450refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
9600refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
9620refgcc -march=nocona -O3 -fomit-frame-pointer2013060820130419
9628refgcc -march=k8 -O3 -fomit-frame-pointer2013060820130419
9703opensslgcc -march=k8 -O2 -fomit-frame-pointer2013060820130419
9715opensslgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
9752refgcc -march=k8 -O2 -fomit-frame-pointer2013060820130419
9784refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2013060820130419
9784refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2013060820130419
9788refgcc -march=k8 -Os -fomit-frame-pointer2013060820130419
9788refgcc -march=nocona -Os -fomit-frame-pointer2013060820130419
9808refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
9816refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
9816refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2013060820130419
9906refgcc -funroll-loops2013060820130419
10200refgcc -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
10288refgcc2013060820130419