| Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 595170 | vperm | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20141017 | 20141014 |
| 595170 | vperm | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20141017 | 20141014 |
| 595170 | vperm | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20141017 | 20141014 |
| 595190 | vperm | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20141017 | 20141014 |
| 595260 | vperm | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20141017 | 20141014 |
| 595440 | vperm | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20141017 | 20141014 |
| 595440 | vperm | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20141017 | 20141014 |
| 595440 | vperm | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20141017 | 20141014 |
| 595450 | vperm | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20141017 | 20141014 |
| 595460 | vperm | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20141017 | 20141014 |
| 595530 | vperm | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20141017 | 20141014 |
| 595530 | vperm | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20141017 | 20141014 |
| 595535 | vperm | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20141017 | 20141014 |
| 595535 | vperm | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20141017 | 20141014 |
| 595535 | vperm | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20141017 | 20141014 |
| 595540 | vperm | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20141017 | 20141014 |
| 595540 | vperm | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20141017 | 20141014 |
| 595540 | vperm | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20141017 | 20141014 |
| 595770 | vperm | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20141017 | 20141014 |
| 595770 | vperm | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20141017 | 20141014 |
| 5375655 | ref | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5375725 | ref | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5380820 | ref | gcc -funroll-loops -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5389025 | ref | gcc -fno-schedule-insns -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5393350 | ref | gcc -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5393385 | ref | gcc -m64 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5425780 | ref | gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5427845 | ref | gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5430715 | ref | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5437980 | ref | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5457030 | ref | gcc -march=k8 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5457075 | ref | gcc -m64 -march=k8 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5457795 | ref | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5457800 | ref | gcc -march=barcelona -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5485220 | ref | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5485225 | ref | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5485260 | ref | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5485590 | ref | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5493320 | ref | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5620850 | ref | gcc -march=nocona -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5622465 | ref | gcc -m64 -march=nocona -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5654960 | ref | gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5654975 | ref | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 9443705 | ref | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 9446255 | ref | gcc -funroll-loops -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 9447490 | ref | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 9741030 | ref | gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 9745545 | ref | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 9748110 | ref | gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 9751385 | ref | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 9757155 | ref | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 9762515 | ref | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 10253325 | ref | clang -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 10257825 | ref | clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer | 20141017 | 20141014 |
| 10257825 | ref | clang -O3 -fwrapv -mavx2 -fomit-frame-pointer | 20140810 | 20140622 |
| 10258035 | ref | clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer | 20140810 | 20140622 |
| 10264705 | ref | clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer | 20141017 | 20141014 |
| 10774685 | ref | gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 10778610 | ref | gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | 20140810 | 20140622 |
| 10779330 | ref | gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 10810080 | ref | gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | 20140810 | 20140622 |
| 11036760 | ref | gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | 20140810 | 20140622 |
| 11036785 | ref | gcc -funroll-loops -m64 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 11040045 | ref | gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | 20140810 | 20140622 |
| 11040080 | ref | gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | 20140810 | 20140622 |
| 11040445 | ref | gcc -funroll-loops -O -fomit-frame-pointer | 20140810 | 20140622 |
| 14927275 | ref | gcc -m64 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 14934410 | ref | gcc -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 14935735 | ref | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 14937035 | ref | gcc -fno-schedule-insns -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 14940515 | ref | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 14940675 | ref | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 14950205 | ref | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 14950710 | ref | gcc -march=barcelona -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 14955945 | ref | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 14961680 | ref | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 15349700 | ref | gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15357985 | ref | gcc -funroll-loops -m64 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15359530 | ref | gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15359915 | ref | gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15360815 | ref | gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15362280 | ref | gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15381990 | ref | gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15382200 | ref | gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15398135 | ref | gcc -march=nocona -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 15399880 | ref | gcc -m64 -march=nocona -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 15459800 | ref | gcc -m64 -march=k8 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 15478615 | ref | gcc -march=k8 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 15611700 | ref | gcc -fno-schedule-insns -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15612110 | ref | gcc -m64 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15614875 | ref | gcc -march=barcelona -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15619215 | ref | gcc -m64 -march=barcelona -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15629955 | ref | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15630160 | ref | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15717115 | ref | gcc -march=nocona -O -fomit-frame-pointer | 20140810 | 20140622 |
| 15737565 | ref | gcc -m64 -march=nocona -O -fomit-frame-pointer | 20140810 | 20140622 |
| 15738570 | ref | gcc -m64 -march=barcelona -O -fomit-frame-pointer | 20140810 | 20140622 |
| 15738880 | ref | gcc -march=k8 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 15738970 | ref | gcc -m64 -march=k8 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 15739150 | ref | gcc -march=barcelona -O -fomit-frame-pointer | 20140810 | 20140622 |
| 16007950 | ref | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 16021355 | ref | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 16053395 | ref | gcc -march=nocona -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 16058445 | ref | gcc -m64 -march=nocona -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 16066715 | ref | gcc -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 16070190 | ref | gcc -m64 -march=k8 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 16074820 | ref | gcc -march=k8 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 16282380 | ref | gcc -funroll-loops -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 16307435 | ref | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20140810 | 20140622 |
| 16307575 | ref | gcc -m64 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 16311310 | ref | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 16321460 | ref | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 16323400 | ref | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 16323460 | ref | gcc -O -fomit-frame-pointer | 20140810 | 20140622 |
| 16657295 | ref | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 16712685 | ref | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 17265845 | ref | gcc -fno-schedule-insns -O -fomit-frame-pointer | 20140810 | 20140622 |
| 36500110 | ref | gcc -funroll-loops | 20140810 | 20140622 |
| 36503755 | ref | cc | 20140810 | 20140622 |
| 36506025 | ref | gcc | 20140810 | 20140622 |
| Compiler | Implementations
|
| cc | vperm |
| gcc | vperm |
| gcc -O2 -fomit-frame-pointer | vperm |
| gcc -O3 -fomit-frame-pointer | vperm |
| gcc -O -fomit-frame-pointer | vperm |
| gcc -Os -fomit-frame-pointer | vperm |
| gcc -fno-schedule-insns -O2 -fomit-frame-pointer | vperm |
| gcc -fno-schedule-insns -O3 -fomit-frame-pointer | vperm |
| gcc -fno-schedule-insns -O -fomit-frame-pointer | vperm |
| gcc -fno-schedule-insns -Os -fomit-frame-pointer | vperm |
| gcc -funroll-loops | vperm |
| gcc -funroll-loops -O2 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -O3 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -O -fomit-frame-pointer | vperm |
| gcc -funroll-loops -Os -fomit-frame-pointer | vperm |
| gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | vperm |
| gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -O -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -Os -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | vperm |
| gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | vperm |
| gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | vperm |
| gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | vperm |
| gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | vperm |
| gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | vperm |
| gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | vperm |
| gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | vperm |
| gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | vperm |
| gcc -m64 -O2 -fomit-frame-pointer | vperm |
| gcc -m64 -O3 -fomit-frame-pointer | vperm |
| gcc -m64 -O -fomit-frame-pointer | vperm |
| gcc -m64 -Os -fomit-frame-pointer | vperm |
| gcc -m64 -march=k8 -O2 -fomit-frame-pointer | vperm |
| gcc -m64 -march=k8 -O3 -fomit-frame-pointer | vperm |
| gcc -m64 -march=k8 -O -fomit-frame-pointer | vperm |
| gcc -m64 -march=k8 -Os -fomit-frame-pointer | vperm |
| gcc -m64 -march=nocona -O2 -fomit-frame-pointer | vperm |
| gcc -m64 -march=nocona -O3 -fomit-frame-pointer | vperm |
| gcc -m64 -march=nocona -O -fomit-frame-pointer | vperm |
| gcc -m64 -march=nocona -Os -fomit-frame-pointer | vperm |
| gcc -march=barcelona -O2 -fomit-frame-pointer | vperm |
| gcc -march=barcelona -O3 -fomit-frame-pointer | vperm |
| gcc -march=barcelona -O -fomit-frame-pointer | vperm |
| gcc -march=barcelona -Os -fomit-frame-pointer | vperm |
| gcc -march=k8 -O2 -fomit-frame-pointer | vperm |
| gcc -march=k8 -O3 -fomit-frame-pointer | vperm |
| gcc -march=k8 -O -fomit-frame-pointer | vperm |
| gcc -march=k8 -Os -fomit-frame-pointer | vperm |
| gcc -march=nocona -O2 -fomit-frame-pointer | vperm |
| gcc -march=nocona -O3 -fomit-frame-pointer | vperm |
| gcc -march=nocona -O -fomit-frame-pointer | vperm |
| gcc -march=nocona -Os -fomit-frame-pointer | vperm
|