Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
535163584 | avx2 | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | 20180903 | 20180818 |
536246560 | avx2 | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20180903 | 20180818 |
536500800 | avx2 | gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer | 20180903 | 20180818 |
537527040 | avx2 | clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments | 20180903 | 20180818 |
537583136 | avx2 | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20180903 | 20180818 |
549412160 | avx2 | clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments | 20180903 | 20180818 |
550566688 | avx2 | clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments | 20180903 | 20180818 |
579051200 | ref | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20180903 | 20180818 |
579104480 | ref | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | 20180903 | 20180818 |
585656608 | ref | gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer | 20180903 | 20180818 |
587795136 | ref | clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments | 20180903 | 20180818 |
588828800 | ref | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20180903 | 20180818 |
663744800 | ref | gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | 20180903 | 20180818 |
664221856 | ref | gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | 20180903 | 20180818 |
665721664 | ref | clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20180903 | 20180818 |
667404160 | ref | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | 20180903 | 20180818 |
667684032 | ref | clang -O3 -fomit-frame-pointer -Qunused-arguments | 20180903 | 20180818 |
668000160 | ref | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | 20180903 | 20180818 |
668564576 | ref | clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20180903 | 20180818 |
669599680 | ref | clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20180903 | 20180818 |
682233024 | ref | gcc -m64 -march=k8 -O3 -fomit-frame-pointer | 20180903 | 20180818 |
682291488 | ref | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer | 20180903 | 20180818 |
682896736 | ref | gcc -march=k8 -O3 -fomit-frame-pointer | 20180903 | 20180818 |
682927872 | ref | gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer | 20180903 | 20180818 |
684051520 | ref | gcc -funroll-loops -O3 -fomit-frame-pointer | 20180903 | 20180818 |
684195104 | ref | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20180903 | 20180818 |
685342624 | ref | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | 20180903 | 20180818 |
685439584 | ref | gcc -march=barcelona -O3 -fomit-frame-pointer | 20180903 | 20180818 |
686113024 | ref | gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer | 20180903 | 20180818 |
687251968 | ref | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20180903 | 20180818 |
687573024 | ref | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | 20180903 | 20180818 |
689143552 | ref | clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments | 20180903 | 20180818 |
690120736 | ref | clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments | 20180903 | 20180818 |
690289056 | ref | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20180903 | 20180818 |
690589440 | ref | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20180903 | 20180818 |
692802496 | ref | clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments | 20180903 | 20180818 |
694655424 | ref | gcc -m64 -O3 -fomit-frame-pointer | 20180903 | 20180818 |
695123584 | ref | clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments | 20180903 | 20180818 |
697613216 | ref | gcc -fno-schedule-insns -O3 -fomit-frame-pointer | 20180903 | 20180818 |
698908320 | avx2 | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20180903 | 20180818 |
699642144 | avx2 | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | 20180903 | 20180818 |
699980512 | ref | gcc -O3 -fomit-frame-pointer | 20180903 | 20180818 |
701720096 | ref | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | 20180903 | 20180818 |
705763936 | avx2 | gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer | 20180903 | 20180818 |
720894976 | avx2 | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | 20180903 | 20180818 |
722138880 | ref | gcc -march=nocona -O3 -fomit-frame-pointer | 20180903 | 20180818 |
722831648 | ref | gcc -m64 -march=nocona -O3 -fomit-frame-pointer | 20180903 | 20180818 |
725506976 | avx2 | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20180903 | 20180818 |
730225760 | avx2 | gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer | 20180903 | 20180818 |
735424672 | ref | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | 20180903 | 20180818 |
735636544 | ref | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | 20180903 | 20180818 |
735659488 | ref | gcc -funroll-loops -O2 -fomit-frame-pointer | 20180903 | 20180818 |
736275744 | ref | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | 20180903 | 20180818 |
738114080 | ref | gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | 20180903 | 20180818 |
741579648 | ref | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | 20180903 | 20180818 |
747122464 | ref | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | 20180903 | 20180818 |
748921888 | ref | gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | 20180903 | 20180818 |
749240640 | ref | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | 20180903 | 20180818 |
761274560 | avx2 | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20180903 | 20180818 |
761835168 | avx2 | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | 20180903 | 20180818 |
767175552 | ref | gcc -funroll-loops -m64 -O -fomit-frame-pointer | 20180903 | 20180818 |
769037312 | ref | gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | 20180903 | 20180818 |
769083968 | ref | gcc -funroll-loops -O -fomit-frame-pointer | 20180903 | 20180818 |
770017248 | ref | gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | 20180903 | 20180818 |
772832000 | avx2 | gcc -m64 -march=core-avx2 -O -fomit-frame-pointer | 20180903 | 20180818 |
773278336 | ref | gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | 20180903 | 20180818 |
773784864 | ref | gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | 20180903 | 20180818 |
774686304 | ref | gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | 20180903 | 20180818 |
775376896 | ref | gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | 20180903 | 20180818 |
776099488 | ref | gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | 20180903 | 20180818 |
786351520 | ref | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | 20180903 | 20180818 |
824805152 | ref | gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer | 20180903 | 20180818 |
829164192 | ref | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20180903 | 20180818 |
830035840 | ref | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | 20180903 | 20180818 |
847657504 | ref | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | 20180903 | 20180818 |
850179360 | ref | gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer | 20180903 | 20180818 |
850450496 | ref | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20180903 | 20180818 |
852409344 | ref | gcc -march=barcelona -O2 -fomit-frame-pointer | 20180903 | 20180818 |
852737568 | ref | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer | 20180903 | 20180818 |
854594016 | ref | gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | 20180903 | 20180818 |
864899968 | ref | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20180903 | 20180818 |
874764544 | ref | gcc -m64 -march=core-avx2 -O -fomit-frame-pointer | 20180903 | 20180818 |
878600128 | ref | gcc -march=k8 -O2 -fomit-frame-pointer | 20180903 | 20180818 |
879587968 | ref | gcc -m64 -march=k8 -O2 -fomit-frame-pointer | 20180903 | 20180818 |
887294944 | ref | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20180903 | 20180818 |
894948192 | ref | gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer | 20180903 | 20180818 |
896754240 | ref | gcc -O2 -fomit-frame-pointer | 20180903 | 20180818 |
904327840 | ref | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20180903 | 20180818 |
904383456 | ref | gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer | 20180903 | 20180818 |
904871008 | ref | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20180903 | 20180818 |
904947072 | ref | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20180903 | 20180818 |
905642784 | ref | gcc -m64 -O2 -fomit-frame-pointer | 20180903 | 20180818 |
906906784 | ref | gcc -fno-schedule-insns -O2 -fomit-frame-pointer | 20180903 | 20180818 |
915297216 | ref | gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer | 20180903 | 20180818 |
915966944 | ref | gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer | 20180903 | 20180818 |
939018176 | ref | gcc -march=nocona -Os -fomit-frame-pointer | 20180903 | 20180818 |
940421120 | ref | gcc -m64 -march=nocona -Os -fomit-frame-pointer | 20180903 | 20180818 |
940539840 | ref | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20180903 | 20180818 |
940702848 | ref | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20180903 | 20180818 |
940723104 | ref | gcc -m64 -march=core-avx-i -O -fomit-frame-pointer | 20180903 | 20180818 |
942375296 | ref | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20180903 | 20180818 |
942932320 | ref | gcc -m64 -march=corei7-avx -O -fomit-frame-pointer | 20180903 | 20180818 |
944419776 | ref | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20180903 | 20180818 |
969735808 | ref | gcc -march=barcelona -O -fomit-frame-pointer | 20180903 | 20180818 |
969927136 | ref | gcc -m64 -march=barcelona -O -fomit-frame-pointer | 20180903 | 20180818 |
975532128 | ref | gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | 20180903 | 20180818 |
977038592 | ref | gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | 20180903 | 20180818 |
977981920 | ref | gcc -m64 -march=k8 -O -fomit-frame-pointer | 20180903 | 20180818 |
978106688 | ref | gcc -march=k8 -O -fomit-frame-pointer | 20180903 | 20180818 |
985558208 | ref | gcc -march=nocona -O2 -fomit-frame-pointer | 20180903 | 20180818 |
985901088 | ref | gcc -m64 -march=nocona -O2 -fomit-frame-pointer | 20180903 | 20180818 |
991606720 | ref | gcc -O -fomit-frame-pointer | 20180903 | 20180818 |
1000394592 | ref | gcc -march=nocona -O -fomit-frame-pointer | 20180903 | 20180818 |
1001099328 | ref | gcc -march=barcelona -Os -fomit-frame-pointer | 20180903 | 20180818 |
1001758720 | ref | gcc -m64 -march=nocona -O -fomit-frame-pointer | 20180903 | 20180818 |
1002670720 | ref | gcc -m64 -O -fomit-frame-pointer | 20180903 | 20180818 |
1002943040 | ref | gcc -fno-schedule-insns -Os -fomit-frame-pointer | 20180903 | 20180818 |
1003774400 | ref | gcc -m64 -Os -fomit-frame-pointer | 20180903 | 20180818 |
1003970208 | ref | gcc -m64 -march=barcelona -Os -fomit-frame-pointer | 20180903 | 20180818 |
1004187776 | ref | gcc -fno-schedule-insns -O -fomit-frame-pointer | 20180903 | 20180818 |
1004912800 | ref | gcc -Os -fomit-frame-pointer | 20180903 | 20180818 |
1005889056 | ref | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20180903 | 20180818 |
1005922848 | ref | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20180903 | 20180818 |
1005926176 | ref | gcc -m64 -march=k8 -Os -fomit-frame-pointer | 20180903 | 20180818 |
1006462080 | ref | gcc -march=k8 -Os -fomit-frame-pointer | 20180903 | 20180818 |
1006624224 | ref | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20180903 | 20180818 |
1007821600 | ref | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20180903 | 20180818 |
1075753504 | ref | gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | 20180903 | 20180818 |
1079849344 | ref | gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | 20180903 | 20180818 |
1086418592 | ref | gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | 20180903 | 20180818 |
1088834560 | ref | gcc -funroll-loops -m64 -Os -fomit-frame-pointer | 20180903 | 20180818 |
1089650816 | ref | gcc -funroll-loops -Os -fomit-frame-pointer | 20180903 | 20180818 |
1090136576 | ref | gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | 20180903 | 20180818 |
1163854176 | ref | gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | 20180903 | 20180818 |
3001517600 | ref | gcc -funroll-loops | 20180903 | 20180818 |
3001796224 | ref | cc | 20180903 | 20180818 |
3006574944 | ref | gcc | 20180903 | 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
|