| Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 847497 | vperm | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20141016 | 20141014 |
| 847758 | vperm | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20141016 | 20141014 |
| 847767 | vperm | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20141016 | 20141014 |
| 847776 | vperm | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20141016 | 20141014 |
| 847830 | vperm | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20141016 | 20141014 |
| 847848 | vperm | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20141016 | 20141014 |
| 847860 | vperm | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20141016 | 20141014 |
| 847866 | vperm | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20141016 | 20141014 |
| 847872 | vperm | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20141016 | 20141014 |
| 847950 | vperm | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20141016 | 20141014 |
| 847950 | vperm | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20141016 | 20141014 |
| 847989 | vperm | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20141016 | 20141014 |
| 848043 | vperm | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20141016 | 20141014 |
| 848202 | vperm | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20141016 | 20141014 |
| 848367 | vperm | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20141016 | 20141014 |
| 848685 | vperm | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20141016 | 20141014 |
| 849087 | vperm | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20141016 | 20141014 |
| 5088885 | ref | gcc -fno-schedule-insns -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5089233 | ref | gcc -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5089374 | ref | gcc -m64 -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5090085 | ref | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5108277 | ref | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5108349 | ref | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5108592 | ref | gcc -march=barcelona -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5122149 | ref | gcc -m64 -march=k8 -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5122311 | ref | gcc -march=k8 -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5139636 | ref | gcc -funroll-loops -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5139693 | ref | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5139858 | ref | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5142144 | ref | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5142459 | ref | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5152050 | ref | gcc -m64 -march=nocona -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5157132 | ref | gcc -march=nocona -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5161266 | ref | gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5161347 | ref | gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5169108 | ref | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 5169252 | ref | gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | 20140622 | 20140525 |
| 8766699 | ref | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 8767617 | ref | gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 8805894 | ref | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 8806920 | ref | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 8813706 | ref | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 8813829 | ref | gcc -funroll-loops -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 8814009 | ref | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 9244341 | ref | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 9246141 | ref | gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 9729144 | ref | gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | 20140622 | 20140525 |
| 9729369 | ref | gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | 20140622 | 20140525 |
| 9756312 | ref | gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 9756540 | ref | gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 9859011 | ref | gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | 20140622 | 20140525 |
| 9866796 | ref | gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | 20140622 | 20140525 |
| 10049151 | ref | gcc -funroll-loops -m64 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 10050162 | ref | gcc -funroll-loops -O -fomit-frame-pointer | 20140622 | 20140525 |
| 10395162 | ref | gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | 20140622 | 20140525 |
| 10776135 | ref | clang -O3 -fomit-frame-pointer | 20140804 | 20140622 |
| 10781163 | ref | clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer | 20141016 | 20141014 |
| 10781304 | 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 |
| 10781568 | ref | clang -O3 -fwrapv -mavx2 -fomit-frame-pointer | 20140804 | 20140622 |
| 10781766 | ref | clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer | 20140804 | 20140622 |
| 14915163 | ref | gcc -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 14917500 | ref | gcc -fno-schedule-insns -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 14934483 | ref | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 14934801 | ref | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 14934921 | ref | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 14934963 | ref | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 14966175 | ref | gcc -march=k8 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 14966631 | ref | gcc -m64 -march=k8 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 14975970 | ref | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 14976633 | ref | gcc -march=barcelona -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 14977257 | ref | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 14997969 | ref | gcc -m64 -march=nocona -O -fomit-frame-pointer | 20140622 | 20140525 |
| 15000504 | ref | gcc -march=nocona -O -fomit-frame-pointer | 20140622 | 20140525 |
| 15079308 | ref | gcc -m64 -march=nocona -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 15079413 | ref | gcc -march=nocona -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 15114288 | ref | gcc -m64 -O2 -fomit-frame-pointer | 20140622 | 20140525 |
| 15326430 | ref | gcc -march=k8 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 15328806 | ref | gcc -m64 -march=k8 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 15551811 | ref | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20140622 | 20140525 |
| 15553656 | ref | gcc -m64 -march=barcelona -O -fomit-frame-pointer | 20140622 | 20140525 |
| 15555864 | ref | gcc -march=barcelona -O -fomit-frame-pointer | 20140622 | 20140525 |
| 15806868 | ref | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 15807630 | ref | gcc -O -fomit-frame-pointer | 20140622 | 20140525 |
| 15807639 | ref | gcc -fno-schedule-insns -O -fomit-frame-pointer | 20140622 | 20140525 |
| 15808290 | ref | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 15808587 | ref | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 15809310 | ref | gcc -m64 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 15809760 | ref | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20140622 | 20140525 |
| 15980634 | ref | gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 15983328 | ref | gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 15983622 | ref | gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 15984339 | ref | gcc -funroll-loops -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 15985956 | ref | gcc -funroll-loops -m64 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 15986109 | ref | gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 15986445 | ref | gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 16603173 | ref | gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 16604781 | ref | gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 17686599 | ref | gcc -march=nocona -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 17686776 | ref | gcc -m64 -march=nocona -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 18112524 | ref | gcc -m64 -march=barcelona -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 18112734 | ref | gcc -m64 -march=k8 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 18112791 | ref | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 18112911 | ref | gcc -march=k8 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 18112953 | ref | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 18113001 | ref | gcc -fno-schedule-insns -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 18113016 | ref | gcc -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 18113055 | ref | gcc -march=barcelona -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 18113235 | ref | gcc -m64 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 18113874 | ref | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 18114006 | ref | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 18115944 | ref | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20140622 | 20140525 |
| 49401201 | ref | gcc | 20140622 | 20140525 |
| 49428408 | ref | cc | 20140622 | 20140525 |
| 49440435 | 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
|