Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
366823112 | avx2 | clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments | 20180919 | 20180818 |
368165392 | avx2 | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20180919 | 20180818 |
374532536 | avx2 | clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments | 20180919 | 20180818 |
374536056 | avx2 | clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments | 20180919 | 20180818 |
379658208 | avx2 | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | 20180919 | 20180818 |
380110700 | avx2 | gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer | 20180919 | 20180818 |
382396356 | avx2 | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20180919 | 20180818 |
498975384 | avx2 | gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer | 20180919 | 20180818 |
499182200 | avx2 | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20180919 | 20180818 |
507515996 | avx2 | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | 20180919 | 20180818 |
569106824 | avx2 | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20180919 | 20180818 |
569634548 | avx2 | gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer | 20180919 | 20180818 |
580857968 | avx2 | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | 20180919 | 20180818 |
585517164 | avx2 | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | 20180919 | 20180818 |
591027964 | avx2 | gcc -m64 -march=core-avx2 -O -fomit-frame-pointer | 20180919 | 20180818 |
593188452 | avx2 | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20180919 | 20180818 |
606994336 | ref | clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments | 20180919 | 20180818 |
607180356 | ref | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20180919 | 20180818 |
614124332 | ref | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20180919 | 20180818 |
614135892 | ref | gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer | 20180919 | 20180818 |
623051636 | ref | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | 20180919 | 20180818 |
756354180 | ref | clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20180919 | 20180818 |
756368652 | ref | clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20180919 | 20180818 |
756401844 | ref | clang -O3 -fomit-frame-pointer -Qunused-arguments | 20180919 | 20180818 |
756437060 | ref | clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20180919 | 20180818 |
766108256 | ref | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20180919 | 20180818 |
767970500 | ref | clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments | 20180919 | 20180818 |
768162752 | ref | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | 20180919 | 20180818 |
768733104 | ref | clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments | 20180919 | 20180818 |
768864836 | ref | clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments | 20180919 | 20180818 |
769199176 | ref | clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments | 20180919 | 20180818 |
770058516 | ref | gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer | 20180919 | 20180818 |
772436288 | ref | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20180919 | 20180818 |
774185380 | ref | gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer | 20180919 | 20180818 |
777220636 | ref | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20180919 | 20180818 |
778365180 | ref | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20180919 | 20180818 |
787937272 | ref | gcc -funroll-loops -O3 -fomit-frame-pointer | 20180919 | 20180818 |
788060336 | ref | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | 20180919 | 20180818 |
788138972 | ref | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | 20180919 | 20180818 |
790131988 | ref | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer | 20180919 | 20180818 |
790175872 | ref | gcc -march=barcelona -O3 -fomit-frame-pointer | 20180919 | 20180818 |
793378740 | ref | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | 20180919 | 20180818 |
793395824 | ref | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | 20180919 | 20180818 |
794981396 | ref | gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | 20180919 | 20180818 |
795113432 | ref | gcc -fno-schedule-insns -O3 -fomit-frame-pointer | 20180919 | 20180818 |
795481080 | ref | gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | 20180919 | 20180818 |
795584720 | ref | gcc -O3 -fomit-frame-pointer | 20180919 | 20180818 |
796060308 | ref | gcc -m64 -O3 -fomit-frame-pointer | 20180919 | 20180818 |
796983596 | ref | gcc -m64 -march=nocona -O3 -fomit-frame-pointer | 20180919 | 20180818 |
797335776 | ref | gcc -march=nocona -O3 -fomit-frame-pointer | 20180919 | 20180818 |
798203076 | ref | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | 20180919 | 20180818 |
798328172 | ref | gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | 20180919 | 20180818 |
800356504 | ref | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20180919 | 20180818 |
805250584 | ref | gcc -march=k8 -O3 -fomit-frame-pointer | 20180919 | 20180818 |
805447612 | ref | gcc -m64 -march=k8 -O3 -fomit-frame-pointer | 20180919 | 20180818 |
805499364 | ref | gcc -m64 -march=core-avx2 -O -fomit-frame-pointer | 20180919 | 20180818 |
808065368 | ref | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | 20180919 | 20180818 |
808184500 | ref | gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | 20180919 | 20180818 |
808569044 | ref | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | 20180919 | 20180818 |
808574256 | ref | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | 20180919 | 20180818 |
810354468 | ref | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | 20180919 | 20180818 |
810356360 | ref | gcc -funroll-loops -O2 -fomit-frame-pointer | 20180919 | 20180818 |
810561040 | ref | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | 20180919 | 20180818 |
817996996 | ref | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | 20180919 | 20180818 |
818205220 | ref | gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | 20180919 | 20180818 |
833101684 | ref | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20180919 | 20180818 |
833274996 | ref | gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer | 20180919 | 20180818 |
841803984 | ref | gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | 20180919 | 20180818 |
841809460 | ref | gcc -funroll-loops -O -fomit-frame-pointer | 20180919 | 20180818 |
841813624 | ref | gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer | 20180919 | 20180818 |
841857560 | ref | gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | 20180919 | 20180818 |
841934356 | ref | gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | 20180919 | 20180818 |
841996340 | ref | gcc -funroll-loops -m64 -O -fomit-frame-pointer | 20180919 | 20180818 |
842253704 | ref | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20180919 | 20180818 |
845637316 | ref | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | 20180919 | 20180818 |
847990584 | ref | gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | 20180919 | 20180818 |
848797308 | ref | gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | 20180919 | 20180818 |
848887236 | ref | gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | 20180919 | 20180818 |
851496284 | ref | gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | 20180919 | 20180818 |
863398300 | ref | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | 20180919 | 20180818 |
924153928 | ref | gcc -O2 -fomit-frame-pointer | 20180919 | 20180818 |
924690056 | ref | gcc -fno-schedule-insns -O2 -fomit-frame-pointer | 20180919 | 20180818 |
924799184 | ref | gcc -m64 -O2 -fomit-frame-pointer | 20180919 | 20180818 |
925184404 | ref | gcc -march=k8 -O2 -fomit-frame-pointer | 20180919 | 20180818 |
930442168 | ref | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20180919 | 20180818 |
932226176 | ref | gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer | 20180919 | 20180818 |
933100560 | ref | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20180919 | 20180818 |
933164564 | ref | gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer | 20180919 | 20180818 |
934263472 | ref | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20180919 | 20180818 |
934378524 | ref | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20180919 | 20180818 |
941334864 | ref | gcc -m64 -march=k8 -O2 -fomit-frame-pointer | 20180919 | 20180818 |
951518648 | ref | gcc -march=barcelona -O2 -fomit-frame-pointer | 20180919 | 20180818 |
952106040 | ref | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20180919 | 20180818 |
952109288 | ref | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20180919 | 20180818 |
952133916 | ref | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20180919 | 20180818 |
952343000 | ref | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20180919 | 20180818 |
953651800 | ref | gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | 20180919 | 20180818 |
955138064 | ref | gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | 20180919 | 20180818 |
955652900 | ref | gcc -m64 -march=barcelona -Os -fomit-frame-pointer | 20180919 | 20180818 |
955735496 | ref | gcc -march=barcelona -Os -fomit-frame-pointer | 20180919 | 20180818 |
956702532 | ref | gcc -march=k8 -Os -fomit-frame-pointer | 20180919 | 20180818 |
956804540 | ref | gcc -m64 -march=k8 -Os -fomit-frame-pointer | 20180919 | 20180818 |
957248264 | ref | gcc -Os -fomit-frame-pointer | 20180919 | 20180818 |
957300356 | ref | gcc -m64 -Os -fomit-frame-pointer | 20180919 | 20180818 |
957330136 | ref | gcc -fno-schedule-insns -Os -fomit-frame-pointer | 20180919 | 20180818 |
959376676 | ref | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer | 20180919 | 20180818 |
973459848 | ref | gcc -m64 -march=nocona -O2 -fomit-frame-pointer | 20180919 | 20180818 |
977285640 | ref | gcc -march=nocona -O2 -fomit-frame-pointer | 20180919 | 20180818 |
984944916 | ref | gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer | 20180919 | 20180818 |
987704952 | ref | gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer | 20180919 | 20180818 |
989777040 | ref | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20180919 | 20180818 |
990062748 | ref | gcc -m64 -march=core-avx-i -O -fomit-frame-pointer | 20180919 | 20180818 |
990203992 | ref | gcc -march=nocona -O -fomit-frame-pointer | 20180919 | 20180818 |
990549740 | ref | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20180919 | 20180818 |
991242172 | ref | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20180919 | 20180818 |
991600212 | ref | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20180919 | 20180818 |
991853672 | ref | gcc -m64 -march=nocona -O -fomit-frame-pointer | 20180919 | 20180818 |
992117616 | ref | gcc -march=nocona -Os -fomit-frame-pointer | 20180919 | 20180818 |
992321856 | ref | gcc -m64 -march=nocona -Os -fomit-frame-pointer | 20180919 | 20180818 |
992381644 | ref | gcc -m64 -march=corei7-avx -O -fomit-frame-pointer | 20180919 | 20180818 |
998949140 | ref | gcc -fno-schedule-insns -O -fomit-frame-pointer | 20180919 | 20180818 |
999601200 | ref | gcc -m64 -O -fomit-frame-pointer | 20180919 | 20180818 |
1005280760 | ref | gcc -O -fomit-frame-pointer | 20180919 | 20180818 |
1026185868 | ref | gcc -funroll-loops -m64 -Os -fomit-frame-pointer | 20180919 | 20180818 |
1026781212 | ref | gcc -funroll-loops -Os -fomit-frame-pointer | 20180919 | 20180818 |
1027423324 | ref | gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | 20180919 | 20180818 |
1027676264 | ref | gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | 20180919 | 20180818 |
1027923404 | ref | gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | 20180919 | 20180818 |
1033141444 | ref | gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | 20180919 | 20180818 |
1033521720 | ref | gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | 20180919 | 20180818 |
1034680216 | ref | gcc -m64 -march=k8 -O -fomit-frame-pointer | 20180919 | 20180818 |
1038241332 | ref | gcc -march=k8 -O -fomit-frame-pointer | 20180919 | 20180818 |
1042784932 | ref | gcc -march=barcelona -O -fomit-frame-pointer | 20180919 | 20180818 |
1043282284 | ref | gcc -m64 -march=barcelona -O -fomit-frame-pointer | 20180919 | 20180818 |
2863503396 | ref | gcc -funroll-loops | 20180919 | 20180818 |
2867556256 | ref | gcc | 20180919 | 20180818 |
2868815188 | ref | cc | 20180919 | 20180818 |
Compiler | Implementations
|
cc | avx2 |
gcc | avx2 |
gcc -O2 -fomit-frame-pointer | avx2 |
gcc -O3 -fomit-frame-pointer | avx2 |
gcc -O -fomit-frame-pointer | avx2 |
gcc -Os -fomit-frame-pointer | avx2 |
gcc -fno-schedule-insns -O2 -fomit-frame-pointer | avx2 |
gcc -fno-schedule-insns -O3 -fomit-frame-pointer | avx2 |
gcc -fno-schedule-insns -O -fomit-frame-pointer | avx2 |
gcc -fno-schedule-insns -Os -fomit-frame-pointer | avx2 |
gcc -funroll-loops | avx2 |
gcc -funroll-loops -O2 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -O3 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -O -fomit-frame-pointer | avx2 |
gcc -funroll-loops -Os -fomit-frame-pointer | avx2 |
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | avx2 |
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -O -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -Os -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | avx2 |
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | avx2 |
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | avx2 |
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | avx2 |
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | avx2 |
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | avx2 |
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | avx2 |
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | avx2 |
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | avx2 |
gcc -m64 -O2 -fomit-frame-pointer | avx2 |
gcc -m64 -O3 -fomit-frame-pointer | avx2 |
gcc -m64 -O -fomit-frame-pointer | avx2 |
gcc -m64 -Os -fomit-frame-pointer | avx2 |
gcc -m64 -march=core2 -O2 -fomit-frame-pointer | avx2 |
gcc -m64 -march=core2 -O3 -fomit-frame-pointer | avx2 |
gcc -m64 -march=core2 -O -fomit-frame-pointer | avx2 |
gcc -m64 -march=core2 -Os -fomit-frame-pointer | avx2 |
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | avx2 |
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | avx2 |
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | avx2 |
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | avx2 |
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | avx2 |
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | avx2 |
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | avx2 |
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | avx2 |
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | avx2 |
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | avx2 |
gcc -m64 -march=corei7 -O -fomit-frame-pointer | avx2 |
gcc -m64 -march=corei7 -Os -fomit-frame-pointer | avx2 |
gcc -m64 -march=k8 -O2 -fomit-frame-pointer | avx2 |
gcc -m64 -march=k8 -O3 -fomit-frame-pointer | avx2 |
gcc -m64 -march=k8 -O -fomit-frame-pointer | avx2 |
gcc -m64 -march=k8 -Os -fomit-frame-pointer | avx2 |
gcc -m64 -march=nocona -O2 -fomit-frame-pointer | avx2 |
gcc -m64 -march=nocona -O3 -fomit-frame-pointer | avx2 |
gcc -m64 -march=nocona -O -fomit-frame-pointer | avx2 |
gcc -m64 -march=nocona -Os -fomit-frame-pointer | avx2 |
gcc -march=barcelona -O2 -fomit-frame-pointer | avx2 |
gcc -march=barcelona -O3 -fomit-frame-pointer | avx2 |
gcc -march=barcelona -O -fomit-frame-pointer | avx2 |
gcc -march=barcelona -Os -fomit-frame-pointer | avx2 |
gcc -march=k8 -O2 -fomit-frame-pointer | avx2 |
gcc -march=k8 -O3 -fomit-frame-pointer | avx2 |
gcc -march=k8 -O -fomit-frame-pointer | avx2 |
gcc -march=k8 -Os -fomit-frame-pointer | avx2 |
gcc -march=nocona -O2 -fomit-frame-pointer | avx2 |
gcc -march=nocona -O3 -fomit-frame-pointer | avx2 |
gcc -march=nocona -O -fomit-frame-pointer | avx2 |
gcc -march=nocona -Os -fomit-frame-pointer | avx2
|