| Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 844170 | vperm | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20141016 | 20141014 |
| 844245 | vperm | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20141016 | 20141014 |
| 844656 | vperm | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20141016 | 20141014 |
| 844779 | vperm | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20141016 | 20141014 |
| 844860 | vperm | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20141016 | 20141014 |
| 844920 | vperm | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20141016 | 20141014 |
| 844941 | vperm | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20141016 | 20141014 |
| 844941 | vperm | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20141016 | 20141014 |
| 845034 | vperm | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20141016 | 20141014 |
| 845400 | vperm | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20141016 | 20141014 |
| 845439 | vperm | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20141016 | 20141014 |
| 845517 | vperm | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20141016 | 20141014 |
| 845670 | vperm | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20141016 | 20141014 |
| 845688 | vperm | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20141016 | 20141014 |
| 845694 | vperm | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20141016 | 20141014 |
| 845703 | vperm | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20141016 | 20141014 |
| 845736 | vperm | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20141016 | 20141014 |
| 5088666 | ref | gcc -fno-schedule-insns -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5088783 | ref | gcc -m64 -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5089185 | ref | gcc -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5090526 | ref | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5106039 | ref | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5106225 | ref | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5106321 | ref | gcc -march=barcelona -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5110668 | ref | gcc -march=k8 -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5110698 | ref | gcc -m64 -march=k8 -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5145558 | ref | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5145636 | ref | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5146074 | ref | gcc -funroll-loops -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5146482 | ref | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5146488 | ref | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5151390 | ref | gcc -m64 -march=nocona -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5151795 | ref | gcc -march=nocona -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5159133 | ref | gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5159310 | ref | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5166423 | ref | gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5166462 | ref | gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 8775933 | ref | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 8776068 | ref | gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 8786781 | ref | gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 8787216 | ref | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 8807913 | ref | gcc -funroll-loops -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 8807952 | ref | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 8807991 | ref | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 9140445 | ref | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 9142401 | ref | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 9665049 | ref | gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | 20140622 | 20140525 |
| 9694131 | ref | gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | 20140622 | 20140525 |
| 9771285 | ref | gcc -funroll-loops -m64 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 9771768 | ref | gcc -funroll-loops -O -fomit-frame-pointer | 20140622 | 20140525 |
| 9772284 | ref | gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | 20140622 | 20140525 |
| 9797229 | ref | gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 9797988 | ref | gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 10045395 | ref | gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | 20140622 | 20140525 |
| 10048731 | ref | gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | 20140622 | 20140525 |
| 10766829 | ref | clang -O3 -fomit-frame-pointer | 20140804 | 20140622 |
| 10773438 | 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 |
| 10773606 | ref | clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer | 20140804 | 20140622 |
| 10773675 | ref | clang -O3 -fwrapv -mavx2 -fomit-frame-pointer | 20140804 | 20140622 |
| 10774047 | ref | clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer | 20141016 | 20141014 |
| 14898384 | ref | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 14904882 | ref | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 14908026 | ref | gcc -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 14908122 | ref | gcc -fno-schedule-insns -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 14908257 | ref | gcc -m64 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 14927091 | ref | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 14927241 | ref | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 14927493 | ref | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 14927541 | ref | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 14967801 | ref | gcc -march=k8 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 14967810 | ref | gcc -m64 -march=k8 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 14983347 | ref | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 14983737 | ref | gcc -march=barcelona -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 14984631 | ref | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 15004521 | ref | gcc -m64 -march=nocona -O -fomit-frame-pointer | 20140622 | 20140525 |
| 15007233 | ref | gcc -march=nocona -O -fomit-frame-pointer | 20140622 | 20140525 |
| 15106755 | ref | gcc -O -fomit-frame-pointer | 20140622 | 20140525 |
| 15185913 | ref | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 15187314 | ref | gcc -fno-schedule-insns -O -fomit-frame-pointer | 20140622 | 20140525 |
| 15187404 | ref | gcc -m64 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 15187545 | ref | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 15397206 | ref | gcc -march=barcelona -O -fomit-frame-pointer | 20140622 | 20140525 |
| 15398100 | ref | gcc -m64 -march=barcelona -O -fomit-frame-pointer | 20140622 | 20140525 |
| 15401055 | ref | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20140622 | 20140525 |
| 15576648 | ref | gcc -march=nocona -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 15582144 | ref | gcc -m64 -march=nocona -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 15625047 | ref | gcc -m64 -march=k8 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 15625779 | ref | gcc -march=k8 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 15961116 | ref | gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 15961848 | ref | gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 15963108 | ref | gcc -funroll-loops -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 15963150 | ref | gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 15969918 | ref | gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 16048341 | ref | gcc -funroll-loops -m64 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 16581339 | ref | gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 16583421 | ref | gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 16589010 | ref | gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 16738893 | ref | gcc -march=nocona -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 16738911 | ref | gcc -m64 -march=nocona -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 17124855 | ref | gcc -m64 -march=barcelona -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 17124897 | ref | gcc -march=barcelona -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 17125284 | ref | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 17125347 | ref | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 17125662 | ref | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 17125737 | ref | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 17125890 | ref | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 17125968 | ref | gcc -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 17126088 | ref | gcc -m64 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 17126184 | ref | gcc -fno-schedule-insns -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 17130324 | ref | gcc -m64 -march=k8 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 17150991 | ref | gcc -march=k8 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 51417954 | ref | cc | 20140622 | 20140525 |
| 51421017 | ref | gcc | 20140622 | 20140525 |
| 52248405 | 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
|