| Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 961870 | vperm | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20141017 | 20141014 |
| 961890 | vperm | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20141017 | 20141014 |
| 961920 | vperm | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20141017 | 20141014 |
| 962115 | vperm | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20141017 | 20141014 |
| 962120 | vperm | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20141017 | 20141014 |
| 962200 | vperm | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20141017 | 20141014 |
| 962255 | vperm | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20141017 | 20141014 |
| 962310 | vperm | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20141017 | 20141014 |
| 962340 | vperm | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20141017 | 20141014 |
| 962465 | vperm | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20141017 | 20141014 |
| 962470 | vperm | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20141017 | 20141014 |
| 962480 | vperm | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20141017 | 20141014 |
| 962610 | vperm | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20141017 | 20141014 |
| 962760 | vperm | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20141017 | 20141014 |
| 962905 | vperm | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20141017 | 20141014 |
| 962925 | vperm | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20141017 | 20141014 |
| 962940 | vperm | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20141017 | 20141014 |
| 963010 | vperm | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20141017 | 20141014 |
| 963170 | vperm | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20141017 | 20141014 |
| 963730 | vperm | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20141017 | 20141014 |
| 11623240 | ref | gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 11641085 | ref | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 11778265 | ref | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 11778295 | ref | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 11778320 | ref | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 11778330 | ref | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 11778340 | ref | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 11793935 | ref | gcc -funroll-loops -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 11799665 | ref | gcc -fno-schedule-insns -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 11805590 | ref | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 11805925 | ref | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 11810240 | ref | gcc -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 11810270 | ref | gcc -m64 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 11864265 | ref | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 11870235 | ref | gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 11873470 | ref | gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 11873805 | ref | gcc -march=k8 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 11873825 | ref | gcc -m64 -march=k8 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 11880550 | ref | gcc -march=barcelona -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 11888625 | ref | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 11907215 | ref | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 11927880 | ref | gcc -m64 -march=nocona -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 11941600 | ref | gcc -march=nocona -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 18203095 | ref | gcc -funroll-loops -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 18227905 | ref | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 18249065 | ref | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 18563085 | ref | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 18603725 | ref | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 18657250 | ref | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 18914295 | ref | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 18921475 | ref | gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 19613390 | 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 |
| 19613650 | ref | clang -O3 -fwrapv -mavx2 -fomit-frame-pointer | 20140810 | 20140622 |
| 19626025 | ref | clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer | 20141017 | 20141014 |
| 19954080 | ref | gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 20264925 | ref | clang -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 20290955 | ref | clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer | 20140810 | 20140622 |
| 21804885 | ref | gcc -funroll-loops -m64 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 21826535 | ref | gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 21850895 | ref | gcc -funroll-loops -O -fomit-frame-pointer | 20140810 | 20140622 |
| 21854295 | ref | gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | 20140810 | 20140622 |
| 21865390 | ref | gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | 20140810 | 20140622 |
| 21870745 | ref | gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | 20140810 | 20140622 |
| 21871480 | ref | gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | 20140810 | 20140622 |
| 21905440 | ref | gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | 20140810 | 20140622 |
| 21973535 | ref | gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 29400600 | ref | gcc -fno-schedule-insns -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 29404690 | ref | gcc -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 29409305 | ref | gcc -m64 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 29443550 | ref | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 29453475 | ref | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 29467250 | ref | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 29478575 | ref | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 29479745 | ref | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 29584035 | ref | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 29598145 | ref | gcc -march=barcelona -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 30270700 | ref | gcc -m64 -march=nocona -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 30361600 | ref | gcc -march=k8 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 30368740 | ref | gcc -m64 -march=k8 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 31538365 | ref | gcc -march=nocona -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 35283110 | ref | gcc -fno-schedule-insns -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 35367295 | ref | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 35404795 | ref | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 35422980 | ref | gcc -m64 -march=barcelona -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 35792735 | ref | gcc -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 35923755 | ref | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 35932920 | ref | gcc -m64 -march=k8 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 36038200 | ref | gcc -march=barcelona -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 36248715 | ref | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20140810 | 20140622 |
| 36281275 | ref | gcc -march=k8 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 36314955 | ref | gcc -m64 -march=nocona -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 36320740 | ref | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 36405835 | ref | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 36411065 | ref | gcc -O -fomit-frame-pointer | 20140810 | 20140622 |
| 36414770 | ref | gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 36426905 | ref | gcc -m64 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 36473230 | ref | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 36487865 | ref | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 36560090 | ref | gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 36589490 | ref | gcc -m64 -march=barcelona -O -fomit-frame-pointer | 20140810 | 20140622 |
| 36612085 | ref | gcc -march=k8 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 36646485 | ref | gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 36659240 | ref | gcc -march=barcelona -O -fomit-frame-pointer | 20140810 | 20140622 |
| 36717195 | ref | gcc -m64 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 36723645 | ref | gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 36742305 | ref | gcc -funroll-loops -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 36747655 | ref | gcc -fno-schedule-insns -O -fomit-frame-pointer | 20140810 | 20140622 |
| 36773240 | ref | gcc -march=nocona -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 36795005 | ref | gcc -funroll-loops -m64 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 36953150 | ref | gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 36984055 | ref | gcc -m64 -march=k8 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 37183025 | ref | gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 37332425 | ref | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 37437225 | ref | gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 38039475 | ref | gcc -m64 -march=nocona -O -fomit-frame-pointer | 20140810 | 20140622 |
| 38155125 | ref | gcc -march=nocona -O -fomit-frame-pointer | 20140810 | 20140622 |
| 38213780 | ref | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 82797725 | ref | cc | 20140810 | 20140622 |
| 82836845 | ref | gcc | 20140810 | 20140622 |
| 83057485 | ref | gcc -funroll-loops | 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
|