Implementation notes: amd64, haswell, crypto_core/hsalsa20

Computer: haswell
Architecture: amd64
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20130419
Operation: crypto_core
Primitive: hsalsa20
TimeImplementationCompilerBenchmark dateSUPERCOP version
468refclang -O32013060820130419
468refclang -O3 -mavx2013060820130419
476ref2clang -O32013060820130419
476ref2clang -O3 -mavx2013060820130419
492refgcc -march=barcelona -O -fomit-frame-pointer2013060820130419
492ref2gcc -march=barcelona -O -fomit-frame-pointer2013060820130419
496refgcc -O -fomit-frame-pointer2013060820130419
496ref2gcc -O -fomit-frame-pointer2013060820130419
496refgcc -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
496ref2gcc -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
496refgcc -funroll-loops -O -fomit-frame-pointer2013060820130419
496ref2gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
496refgcc -funroll-loops -m64 -O -fomit-frame-pointer2013060820130419
496ref2gcc -funroll-loops -m64 -O -fomit-frame-pointer2013060820130419
496refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
496ref2gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
496ref2gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
496refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2013060820130419
496ref2gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2013060820130419
496ref2gcc -m64 -O -fomit-frame-pointer2013060820130419
496refgcc -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
496ref2gcc -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
496refgcc -m64 -march=corei7 -O -fomit-frame-pointer2013060820130419
496ref2gcc -m64 -march=corei7 -O -fomit-frame-pointer2013060820130419
496refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2013060820130419
496refgcc -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
496refgcc -march=nocona -O -fomit-frame-pointer2013060820130419
496ref2gcc -march=nocona -O -fomit-frame-pointer2013060820130419
500refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
500ref2gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
500refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
500refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2013060820130419
500refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2013060820130419
500ref2gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2013060820130419
500refgcc -m64 -O -fomit-frame-pointer2013060820130419
500refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2013060820130419
500ref2gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2013060820130419
500ref2gcc -m64 -march=core2 -O -fomit-frame-pointer2013060820130419
500refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2013060820130419
500ref2gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2013060820130419
500refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2013060820130419
500ref2gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2013060820130419
500refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2013060820130419
500ref2gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2013060820130419
500ref2gcc -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
500ref2gcc -march=k8 -O -fomit-frame-pointer2013060820130419
504refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
504ref2gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2013060820130419
504refgcc -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
504ref2gcc -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
504refgcc -march=k8 -O -fomit-frame-pointer2013060820130419
512ref2gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2013060820130419
514ref2gcc -funroll-loops -O -fomit-frame-pointer2013060820130419
524refgcc -m64 -march=core2 -O -fomit-frame-pointer2013060820130419
776refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2013060820130419
776ref2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2013060820130419
776refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2013060820130419
776ref2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2013060820130419
972refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
972ref2gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
972refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
972refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
972ref2gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
972refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2013060820130419
972ref2gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2013060820130419
972refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2013060820130419
972refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2013060820130419
972ref2gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2013060820130419
972refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2013060820130419
972refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2013060820130419
972ref2gcc -m64 -march=core2 -O2 -fomit-frame-pointer2013060820130419
972refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2013060820130419
972refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2013060820130419
972refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2013060820130419
972ref2gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2013060820130419
972refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2013060820130419
972refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2013060820130419
972ref2gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2013060820130419
972refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2013060820130419
972ref2gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2013060820130419
972refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2013060820130419
972ref2gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2013060820130419
972refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2013060820130419
972ref2gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2013060820130419
972refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2013060820130419
976refgcc -O2 -fomit-frame-pointer2013060820130419
976ref2gcc -O2 -fomit-frame-pointer2013060820130419
976refgcc -O3 -fomit-frame-pointer2013060820130419
976ref2gcc -O3 -fomit-frame-pointer2013060820130419
976refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
976ref2gcc -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
976ref2gcc -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
976refgcc -funroll-loops -O2 -fomit-frame-pointer2013060820130419
976ref2gcc -funroll-loops -O2 -fomit-frame-pointer2013060820130419
976ref2gcc -funroll-loops -O3 -fomit-frame-pointer2013060820130419
976refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
976ref2gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
976refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
976refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2013060820130419
976ref2gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2013060820130419
976refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
976ref2gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
976refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
976ref2gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
976refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2013060820130419
976ref2gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2013060820130419
976ref2gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2013060820130419
976refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2013060820130419
976refgcc -m64 -O2 -fomit-frame-pointer2013060820130419
976ref2gcc -m64 -O2 -fomit-frame-pointer2013060820130419
976ref2gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2013060820130419
976ref2gcc -m64 -march=core2 -O3 -fomit-frame-pointer2013060820130419
976ref2gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2013060820130419
976refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
976ref2gcc -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
976ref2gcc -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
976refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
976ref2gcc -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
976refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
976ref2gcc -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
976refgcc -march=k8 -O2 -fomit-frame-pointer2013060820130419
976ref2gcc -march=k8 -O2 -fomit-frame-pointer2013060820130419
976refgcc -march=k8 -O3 -fomit-frame-pointer2013060820130419
976ref2gcc -march=k8 -O3 -fomit-frame-pointer2013060820130419
976refgcc -march=nocona -O2 -fomit-frame-pointer2013060820130419
976refgcc -march=nocona -O3 -fomit-frame-pointer2013060820130419
976ref2gcc -march=nocona -O3 -fomit-frame-pointer2013060820130419
980refgcc -funroll-loops -O3 -fomit-frame-pointer2013060820130419
980refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2013060820130419
980ref2gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2013060820130419
980ref2gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2013060820130419
980refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2013060820130419
980ref2gcc -m64 -O3 -fomit-frame-pointer2013060820130419
980ref2gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2013060820130419
980refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
984refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2013060820130419
984ref2gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2013060820130419
988refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
988ref2gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
988ref2gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2013060820130419
988refgcc -m64 -O3 -fomit-frame-pointer2013060820130419
988refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
988refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
988refgcc -march=barcelona -O2 -fomit-frame-pointer2013060820130419
988ref2gcc -march=barcelona -O2 -fomit-frame-pointer2013060820130419
992ref2gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
992ref2gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
992refgcc -march=barcelona -O3 -fomit-frame-pointer2013060820130419
992ref2gcc -march=barcelona -O3 -fomit-frame-pointer2013060820130419
996refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
1011ref2gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2013060820130419
1011ref2gcc -march=nocona -O2 -fomit-frame-pointer2013060820130419
1015ref2gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
1015ref2gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
1016refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2013060820130419
1020ref2gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2013060820130419
1160ref2gcc -funroll-loops -m64 -Os -fomit-frame-pointer2013060820130419
1160refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
1160refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2013060820130419
1164refgcc -Os -fomit-frame-pointer2013060820130419
1164ref2gcc -Os -fomit-frame-pointer2013060820130419
1164refgcc -funroll-loops -Os -fomit-frame-pointer2013060820130419
1164refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
1164ref2gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
1164ref2gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2013060820130419
1164refgcc -m64 -Os -fomit-frame-pointer2013060820130419
1164ref2gcc -m64 -Os -fomit-frame-pointer2013060820130419
1164refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2013060820130419
1164refgcc -m64 -march=core2 -Os -fomit-frame-pointer2013060820130419
1164ref2gcc -m64 -march=core2 -Os -fomit-frame-pointer2013060820130419
1164refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2013060820130419
1164ref2gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2013060820130419
1164refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2013060820130419
1164refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2013060820130419
1164ref2gcc -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
1164refgcc -march=k8 -Os -fomit-frame-pointer2013060820130419
1168ref2gcc -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
1168refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2013060820130419
1168refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
1168refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
1168ref2gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
1168refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2013060820130419
1168ref2gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2013060820130419
1168ref2gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2013060820130419
1168refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2013060820130419
1168ref2gcc -m64 -march=corei7 -Os -fomit-frame-pointer2013060820130419
1168refgcc -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
1168ref2gcc -march=k8 -Os -fomit-frame-pointer2013060820130419
1172refgcc -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
1172refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2013060820130419
1172ref2gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2013060820130419
1172refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
1172ref2gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2013060820130419
1172refgcc -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
1172refgcc -march=barcelona -Os -fomit-frame-pointer2013060820130419
1172refgcc -march=nocona -Os -fomit-frame-pointer2013060820130419
1172ref2gcc -march=nocona -Os -fomit-frame-pointer2013060820130419
1176ref2gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2013060820130419
1176ref2gcc -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
1188ref2gcc -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
1206ref2gcc -funroll-loops -Os -fomit-frame-pointer2013060820130419
1210ref2gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
1214ref2gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
1218ref2gcc -march=barcelona -Os -fomit-frame-pointer2013060820130419
3136ref2cc2013060820130419
3244refgcc -funroll-loops2013060820130419
3248ref2gcc2013060820130419
3252refcc2013060820130419
3276refgcc2013060820130419
3292ref2gcc -funroll-loops2013060820130419