| Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 1458120 | vperm | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20141016 | 20141014 |
| 1460001 | vperm | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20141016 | 20141014 |
| 1460010 | vperm | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20141016 | 20141014 |
| 1460016 | vperm | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20141016 | 20141014 |
| 1460094 | vperm | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20141016 | 20141014 |
| 1460166 | vperm | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20141016 | 20141014 |
| 1461069 | vperm | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20141016 | 20141014 |
| 1461978 | vperm | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20141016 | 20141014 |
| 1462203 | vperm | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20141016 | 20141014 |
| 1462539 | vperm | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20141016 | 20141014 |
| 1462566 | vperm | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20141016 | 20141014 |
| 1462632 | vperm | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20141016 | 20141014 |
| 1463142 | vperm | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20141016 | 20141014 |
| 1463406 | vperm | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20141016 | 20141014 |
| 1463412 | vperm | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20141016 | 20141014 |
| 1463478 | vperm | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20141016 | 20141014 |
| 1463493 | vperm | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20141016 | 20141014 |
| 10866747 | ref | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20140623 | 20140525 |
| 10867845 | ref | gcc -march=barcelona -O3 -fomit-frame-pointer | 20140623 | 20140525 |
| 10868619 | ref | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer | 20140623 | 20140525 |
| 10880016 | ref | gcc -m64 -march=k8 -O3 -fomit-frame-pointer | 20140623 | 20140525 |
| 10880625 | ref | gcc -march=k8 -O3 -fomit-frame-pointer | 20140623 | 20140525 |
| 10882674 | ref | gcc -m64 -O3 -fomit-frame-pointer | 20140623 | 20140525 |
| 10882935 | ref | gcc -fno-schedule-insns -O3 -fomit-frame-pointer | 20140623 | 20140525 |
| 10883412 | ref | gcc -O3 -fomit-frame-pointer | 20140623 | 20140525 |
| 10908258 | ref | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20140623 | 20140525 |
| 10948443 | ref | gcc -funroll-loops -O3 -fomit-frame-pointer | 20140623 | 20140525 |
| 10948776 | ref | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | 20140623 | 20140525 |
| 10948980 | ref | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | 20140623 | 20140525 |
| 10960701 | ref | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | 20140623 | 20140525 |
| 10961163 | ref | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | 20140623 | 20140525 |
| 10979211 | ref | gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | 20140623 | 20140525 |
| 10979340 | ref | gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | 20140623 | 20140525 |
| 11059608 | ref | gcc -march=nocona -O3 -fomit-frame-pointer | 20140623 | 20140525 |
| 11059857 | ref | gcc -m64 -march=nocona -O3 -fomit-frame-pointer | 20140623 | 20140525 |
| 11067936 | ref | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | 20140623 | 20140525 |
| 11068098 | ref | gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | 20140623 | 20140525 |
| 17886906 | ref | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | 20140623 | 20140525 |
| 17887221 | ref | gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | 20140623 | 20140525 |
| 17929956 | ref | gcc -funroll-loops -O2 -fomit-frame-pointer | 20140623 | 20140525 |
| 17947083 | ref | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | 20140623 | 20140525 |
| 17951835 | ref | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | 20140623 | 20140525 |
| 17960928 | ref | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | 20140623 | 20140525 |
| 18041649 | ref | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | 20140623 | 20140525 |
| 18145668 | ref | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | 20140623 | 20140525 |
| 18461679 | ref | gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | 20140623 | 20140525 |
| 20363277 | ref | gcc -funroll-loops -m64 -O -fomit-frame-pointer | 20140623 | 20140525 |
| 20363946 | ref | gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | 20140623 | 20140525 |
| 20365158 | ref | gcc -funroll-loops -O -fomit-frame-pointer | 20140623 | 20140525 |
| 20423016 | ref | gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | 20140623 | 20140525 |
| 20423745 | ref | gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | 20140623 | 20140525 |
| 20610372 | ref | gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | 20140623 | 20140525 |
| 20611068 | ref | gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | 20140623 | 20140525 |
| 20951313 | ref | clang -O3 -fomit-frame-pointer | 20140804 | 20140622 |
| 20958750 | ref | clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer | 20140804 | 20140622 |
| 20958870 | 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 |
| 20958936 | ref | clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer | 20141016 | 20141014 |
| 20959143 | ref | clang -O3 -fwrapv -mavx2 -fomit-frame-pointer | 20140804 | 20140622 |
| 21093744 | ref | gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | 20140623 | 20140525 |
| 21094518 | ref | gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | 20140623 | 20140525 |
| 29723940 | ref | gcc -O2 -fomit-frame-pointer | 20140623 | 20140525 |
| 29724525 | ref | gcc -fno-schedule-insns -O2 -fomit-frame-pointer | 20140623 | 20140525 |
| 29750448 | ref | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20140623 | 20140525 |
| 29750979 | ref | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20140623 | 20140525 |
| 29767533 | ref | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20140623 | 20140525 |
| 29769054 | ref | gcc -m64 -O2 -fomit-frame-pointer | 20140623 | 20140525 |
| 30051795 | ref | gcc -march=nocona -O2 -fomit-frame-pointer | 20140623 | 20140525 |
| 30052656 | ref | gcc -m64 -march=nocona -O2 -fomit-frame-pointer | 20140623 | 20140525 |
| 30134736 | ref | gcc -m64 -march=k8 -O2 -fomit-frame-pointer | 20140623 | 20140525 |
| 30198366 | ref | gcc -march=barcelona -O2 -fomit-frame-pointer | 20140623 | 20140525 |
| 30201882 | ref | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20140623 | 20140525 |
| 30247272 | ref | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20140623 | 20140525 |
| 30272640 | ref | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer | 20140623 | 20140525 |
| 30454188 | ref | gcc -march=k8 -O2 -fomit-frame-pointer | 20140623 | 20140525 |
| 31072728 | ref | gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | 20140623 | 20140525 |
| 31073811 | ref | gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | 20140623 | 20140525 |
| 31075131 | ref | gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | 20140623 | 20140525 |
| 31075395 | ref | gcc -funroll-loops -m64 -Os -fomit-frame-pointer | 20140623 | 20140525 |
| 31075695 | ref | gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | 20140623 | 20140525 |
| 31084614 | ref | gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | 20140623 | 20140525 |
| 31087218 | ref | gcc -funroll-loops -Os -fomit-frame-pointer | 20140623 | 20140525 |
| 31595934 | ref | gcc -fno-schedule-insns -O -fomit-frame-pointer | 20140623 | 20140525 |
| 31597947 | ref | gcc -O -fomit-frame-pointer | 20140623 | 20140525 |
| 31598067 | ref | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20140623 | 20140525 |
| 31598145 | ref | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20140623 | 20140525 |
| 31598232 | ref | gcc -m64 -O -fomit-frame-pointer | 20140623 | 20140525 |
| 31598331 | ref | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20140623 | 20140525 |
| 31598349 | ref | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20140623 | 20140525 |
| 32292882 | ref | gcc -m64 -march=nocona -O -fomit-frame-pointer | 20140623 | 20140525 |
| 32293080 | ref | gcc -march=nocona -O -fomit-frame-pointer | 20140623 | 20140525 |
| 32429262 | ref | gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | 20140623 | 20140525 |
| 32430876 | ref | gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | 20140623 | 20140525 |
| 32566824 | ref | gcc -m64 -march=k8 -O -fomit-frame-pointer | 20140623 | 20140525 |
| 32569614 | ref | gcc -march=k8 -O -fomit-frame-pointer | 20140623 | 20140525 |
| 32629578 | ref | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20140623 | 20140525 |
| 32629722 | ref | gcc -m64 -march=barcelona -O -fomit-frame-pointer | 20140623 | 20140525 |
| 32631615 | ref | gcc -march=barcelona -O -fomit-frame-pointer | 20140623 | 20140525 |
| 33003927 | ref | gcc -march=nocona -Os -fomit-frame-pointer | 20140623 | 20140525 |
| 33036945 | ref | gcc -m64 -march=nocona -Os -fomit-frame-pointer | 20140623 | 20140525 |
| 33919548 | ref | gcc -march=k8 -Os -fomit-frame-pointer | 20140623 | 20140525 |
| 33935073 | ref | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20140623 | 20140525 |
| 33964206 | ref | gcc -m64 -march=k8 -Os -fomit-frame-pointer | 20140623 | 20140525 |
| 33972627 | ref | gcc -fno-schedule-insns -Os -fomit-frame-pointer | 20140623 | 20140525 |
| 33974814 | ref | gcc -m64 -march=barcelona -Os -fomit-frame-pointer | 20140623 | 20140525 |
| 33975777 | ref | gcc -m64 -Os -fomit-frame-pointer | 20140623 | 20140525 |
| 34028244 | ref | gcc -Os -fomit-frame-pointer | 20140623 | 20140525 |
| 34029303 | ref | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20140623 | 20140525 |
| 34038909 | ref | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20140623 | 20140525 |
| 34058934 | ref | gcc -march=barcelona -Os -fomit-frame-pointer | 20140623 | 20140525 |
| 34237170 | ref | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20140623 | 20140525 |
| 34318650 | ref | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20140623 | 20140525 |
| 102454194 | ref | gcc -funroll-loops | 20140623 | 20140525 |
| 102796362 | ref | gcc | 20140623 | 20140525 |
| 102967455 | ref | cc | 20140623 | 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
|