| Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 1124661 | vperm | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20141016 | 20141014 |
| 1124751 | vperm | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20141016 | 20141014 |
| 1124760 | vperm | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20141016 | 20141014 |
| 1124766 | vperm | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20141016 | 20141014 |
| 1124802 | vperm | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20141016 | 20141014 |
| 1124940 | vperm | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20141016 | 20141014 |
| 1124955 | vperm | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20141016 | 20141014 |
| 1124994 | vperm | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20141016 | 20141014 |
| 1124994 | vperm | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20141016 | 20141014 |
| 1124994 | vperm | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20141016 | 20141014 |
| 1125039 | vperm | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20141016 | 20141014 |
| 1125042 | vperm | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20141016 | 20141014 |
| 1125057 | vperm | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20141016 | 20141014 |
| 1125066 | vperm | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20141016 | 20141014 |
| 1125108 | vperm | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20141016 | 20141014 |
| 1125309 | vperm | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20141016 | 20141014 |
| 1125480 | vperm | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20141016 | 20141014 |
| 10861335 | ref | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 10861761 | ref | gcc -march=barcelona -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 10863486 | ref | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 10872984 | ref | gcc -march=k8 -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 10873266 | ref | gcc -m64 -march=k8 -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 10879497 | ref | gcc -m64 -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 10879533 | ref | gcc -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 10879986 | ref | gcc -fno-schedule-insns -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 10905570 | ref | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 10942791 | ref | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 10943085 | ref | gcc -funroll-loops -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 10943688 | ref | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 10950558 | ref | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 10951194 | ref | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 10968927 | ref | gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 10969671 | ref | gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 11045391 | ref | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 11045733 | ref | gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 11082642 | ref | gcc -m64 -march=nocona -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 11083083 | ref | gcc -march=nocona -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 17904477 | ref | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 18000240 | ref | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 18000846 | ref | gcc -funroll-loops -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 18001236 | ref | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 18010728 | ref | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 18011337 | ref | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 18096021 | ref | gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 18253581 | ref | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 19656951 | ref | gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 19963353 | ref | gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | 20140622 | 20140525 |
| 19963575 | ref | gcc -funroll-loops -m64 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 19963899 | ref | gcc -funroll-loops -O -fomit-frame-pointer | 20140622 | 20140525 |
| 20444310 | ref | gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | 20140622 | 20140525 |
| 20444397 | ref | gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | 20140622 | 20140525 |
| 20636226 | ref | gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 20836059 | ref | gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | 20140622 | 20140525 |
| 20893587 | ref | gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 20939649 | ref | clang -O3 -fomit-frame-pointer | 20140804 | 20140622 |
| 20945352 | ref | clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer | 20141016 | 20141014 |
| 20945562 | 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 | 20141016 | 20141014 |
| 20946177 | ref | clang -O3 -fwrapv -mavx2 -fomit-frame-pointer | 20140804 | 20140622 |
| 20952645 | ref | gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | 20140622 | 20140525 |
| 20953086 | ref | clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer | 20140804 | 20140622 |
| 29794065 | ref | gcc -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 29794620 | ref | gcc -fno-schedule-insns -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 29795691 | ref | gcc -m64 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 29800953 | ref | gcc -march=k8 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 29801736 | ref | gcc -m64 -march=k8 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 29819931 | ref | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 29820066 | ref | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 29820345 | ref | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 29820966 | ref | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 30121131 | ref | gcc -m64 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 30122595 | ref | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 30123024 | ref | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 30123696 | ref | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 30124470 | ref | gcc -fno-schedule-insns -O -fomit-frame-pointer | 20140622 | 20140525 |
| 30126891 | ref | gcc -O -fomit-frame-pointer | 20140622 | 20140525 |
| 30144903 | ref | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 30166446 | ref | gcc -march=barcelona -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 30166956 | ref | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 30168990 | ref | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 30182817 | ref | gcc -march=k8 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 30182865 | ref | gcc -m64 -march=k8 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 30352971 | ref | gcc -m64 -march=barcelona -O -fomit-frame-pointer | 20140622 | 20140525 |
| 30353244 | ref | gcc -march=barcelona -O -fomit-frame-pointer | 20140622 | 20140525 |
| 30353526 | ref | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20140622 | 20140525 |
| 30805056 | ref | gcc -march=nocona -O -fomit-frame-pointer | 20140622 | 20140525 |
| 30807612 | ref | gcc -m64 -march=nocona -O -fomit-frame-pointer | 20140622 | 20140525 |
| 31001874 | ref | gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 31002981 | ref | gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 31003560 | ref | gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 31003767 | ref | gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 31007553 | ref | gcc -funroll-loops -m64 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 31010445 | ref | gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 31261980 | ref | gcc -m64 -march=nocona -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 31262583 | ref | gcc -march=nocona -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 31803096 | ref | gcc -funroll-loops -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 32408280 | ref | gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 32409369 | ref | gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 33404235 | ref | gcc -m64 -march=nocona -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 33404241 | ref | gcc -march=nocona -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 34494207 | ref | gcc -march=barcelona -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 34496445 | ref | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 34497804 | ref | gcc -fno-schedule-insns -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 34498179 | ref | gcc -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 34498599 | ref | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 34498608 | ref | gcc -m64 -march=barcelona -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 34498671 | ref | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 34498692 | ref | gcc -m64 -march=k8 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 34498791 | ref | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 34499598 | ref | gcc -march=k8 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 34500450 | ref | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 34525731 | ref | gcc -m64 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 102007494 | ref | cc | 20140622 | 20140525 |
| 102099978 | ref | gcc | 20140622 | 20140525 |
| 102113667 | ref | gcc -funroll-loops | 20140622 | 20140525 |
| 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
|