| Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 786185 | vperm | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20141017 | 20141014 |
| 786195 | vperm | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20141017 | 20141014 |
| 786225 | vperm | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20141017 | 20141014 |
| 786235 | vperm | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20141017 | 20141014 |
| 786260 | vperm | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20141017 | 20141014 |
| 786320 | vperm | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20141017 | 20141014 |
| 786335 | vperm | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20141017 | 20141014 |
| 786370 | vperm | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20141017 | 20141014 |
| 786425 | vperm | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20141017 | 20141014 |
| 786525 | vperm | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20141017 | 20141014 |
| 786540 | vperm | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20141017 | 20141014 |
| 786560 | vperm | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20141017 | 20141014 |
| 786625 | vperm | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20141017 | 20141014 |
| 786630 | vperm | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20141017 | 20141014 |
| 786640 | vperm | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20141017 | 20141014 |
| 786690 | vperm | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20141017 | 20141014 |
| 786710 | vperm | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20141017 | 20141014 |
| 786710 | vperm | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20141017 | 20141014 |
| 786765 | vperm | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20141017 | 20141014 |
| 786850 | vperm | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20141017 | 20141014 |
| 11756100 | ref | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20140809 | 20140622 |
| 11756120 | ref | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20140809 | 20140622 |
| 11756135 | ref | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20140809 | 20140622 |
| 11756145 | ref | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20140809 | 20140622 |
| 11756150 | ref | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20140809 | 20140622 |
| 11756740 | ref | gcc -funroll-loops -O3 -fomit-frame-pointer | 20140809 | 20140622 |
| 11759760 | ref | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | 20140809 | 20140622 |
| 11768450 | ref | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | 20140809 | 20140622 |
| 11775805 | ref | gcc -fno-schedule-insns -O3 -fomit-frame-pointer | 20140809 | 20140622 |
| 11786615 | ref | gcc -O3 -fomit-frame-pointer | 20140809 | 20140622 |
| 11786650 | ref | gcc -m64 -O3 -fomit-frame-pointer | 20140809 | 20140622 |
| 11837810 | ref | gcc -march=k8 -O3 -fomit-frame-pointer | 20140809 | 20140622 |
| 11847795 | ref | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer | 20140809 | 20140622 |
| 11848410 | ref | gcc -m64 -march=k8 -O3 -fomit-frame-pointer | 20140809 | 20140622 |
| 11849710 | ref | gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | 20140809 | 20140622 |
| 11853995 | ref | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | 20140809 | 20140622 |
| 11858325 | ref | gcc -march=barcelona -O3 -fomit-frame-pointer | 20140809 | 20140622 |
| 11867160 | ref | gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | 20140809 | 20140622 |
| 11867880 | ref | gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | 20140809 | 20140622 |
| 11875185 | ref | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | 20140809 | 20140622 |
| 11879855 | ref | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | 20140809 | 20140622 |
| 11969700 | ref | gcc -march=nocona -O3 -fomit-frame-pointer | 20140809 | 20140622 |
| 11972850 | ref | gcc -m64 -march=nocona -O3 -fomit-frame-pointer | 20140809 | 20140622 |
| 18188685 | ref | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | 20140809 | 20140622 |
| 18189870 | ref | gcc -funroll-loops -O2 -fomit-frame-pointer | 20140809 | 20140622 |
| 18197005 | ref | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | 20140809 | 20140622 |
| 18552890 | ref | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | 20140809 | 20140622 |
| 18581565 | ref | gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | 20140809 | 20140622 |
| 18607370 | ref | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | 20140809 | 20140622 |
| 18609955 | ref | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | 20140809 | 20140622 |
| 18671290 | ref | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | 20140809 | 20140622 |
| 18711790 | ref | gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | 20140809 | 20140622 |
| 19575260 | ref | clang -O3 -fomit-frame-pointer | 20140809 | 20140622 |
| 19604870 | ref | clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer | 20141017 | 20141014 |
| 19614680 | 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 |
| 19616355 | ref | clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer | 20140809 | 20140622 |
| 19616360 | ref | clang -O3 -fwrapv -mavx2 -fomit-frame-pointer | 20140809 | 20140622 |
| 21798150 | ref | gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | 20140809 | 20140622 |
| 21800495 | ref | gcc -funroll-loops -m64 -O -fomit-frame-pointer | 20140809 | 20140622 |
| 21825000 | ref | gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | 20140809 | 20140622 |
| 21827585 | ref | gcc -funroll-loops -O -fomit-frame-pointer | 20140809 | 20140622 |
| 22259525 | ref | gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | 20140809 | 20140622 |
| 22266980 | ref | gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | 20140809 | 20140622 |
| 22267270 | ref | gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | 20140809 | 20140622 |
| 22292475 | ref | gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | 20140809 | 20140622 |
| 22763780 | ref | gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | 20140809 | 20140622 |
| 29380930 | ref | gcc -fno-schedule-insns -O2 -fomit-frame-pointer | 20140809 | 20140622 |
| 29396105 | ref | gcc -O2 -fomit-frame-pointer | 20140809 | 20140622 |
| 29396315 | ref | gcc -m64 -O2 -fomit-frame-pointer | 20140809 | 20140622 |
| 29439605 | ref | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20140809 | 20140622 |
| 29439620 | ref | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20140809 | 20140622 |
| 29440000 | ref | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20140809 | 20140622 |
| 29445830 | ref | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20140809 | 20140622 |
| 29575850 | ref | gcc -march=barcelona -O2 -fomit-frame-pointer | 20140809 | 20140622 |
| 29585225 | ref | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer | 20140809 | 20140622 |
| 29673365 | ref | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20140809 | 20140622 |
| 30365945 | ref | gcc -m64 -march=k8 -O2 -fomit-frame-pointer | 20140809 | 20140622 |
| 30365985 | ref | gcc -march=k8 -O2 -fomit-frame-pointer | 20140809 | 20140622 |
| 32169205 | ref | gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | 20140809 | 20140622 |
| 32169235 | ref | gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | 20140809 | 20140622 |
| 32169430 | ref | gcc -funroll-loops -m64 -Os -fomit-frame-pointer | 20140809 | 20140622 |
| 32169445 | ref | gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | 20140809 | 20140622 |
| 32169625 | ref | gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | 20140809 | 20140622 |
| 32169645 | ref | gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | 20140809 | 20140622 |
| 32215065 | ref | gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | 20140809 | 20140622 |
| 32215180 | ref | gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | 20140809 | 20140622 |
| 32230845 | ref | gcc -m64 -march=k8 -Os -fomit-frame-pointer | 20140809 | 20140622 |
| 32233925 | ref | gcc -fno-schedule-insns -Os -fomit-frame-pointer | 20140809 | 20140622 |
| 32234025 | ref | gcc -m64 -Os -fomit-frame-pointer | 20140809 | 20140622 |
| 32235045 | ref | gcc -march=barcelona -Os -fomit-frame-pointer | 20140809 | 20140622 |
| 32235105 | ref | gcc -march=k8 -Os -fomit-frame-pointer | 20140809 | 20140622 |
| 32235375 | ref | gcc -m64 -march=barcelona -Os -fomit-frame-pointer | 20140809 | 20140622 |
| 32238280 | ref | gcc -Os -fomit-frame-pointer | 20140809 | 20140622 |
| 32265235 | ref | gcc -march=nocona -Os -fomit-frame-pointer | 20140809 | 20140622 |
| 32270955 | ref | gcc -m64 -march=nocona -Os -fomit-frame-pointer | 20140809 | 20140622 |
| 32271750 | ref | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20140809 | 20140622 |
| 32272375 | ref | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20140809 | 20140622 |
| 32273180 | ref | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20140809 | 20140622 |
| 32274310 | ref | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20140809 | 20140622 |
| 32274925 | ref | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20140809 | 20140622 |
| 32472570 | ref | gcc -march=nocona -O -fomit-frame-pointer | 20140809 | 20140622 |
| 32482920 | ref | gcc -m64 -march=barcelona -O -fomit-frame-pointer | 20140809 | 20140622 |
| 32485995 | ref | gcc -march=k8 -O -fomit-frame-pointer | 20140809 | 20140622 |
| 32496300 | ref | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20140809 | 20140622 |
| 32499335 | ref | gcc -m64 -march=k8 -O -fomit-frame-pointer | 20140809 | 20140622 |
| 32500330 | ref | gcc -march=barcelona -O -fomit-frame-pointer | 20140809 | 20140622 |
| 32500600 | ref | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20140809 | 20140622 |
| 32504865 | ref | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20140809 | 20140622 |
| 32508175 | ref | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20140809 | 20140622 |
| 32512805 | ref | gcc -m64 -O -fomit-frame-pointer | 20140809 | 20140622 |
| 32515510 | ref | gcc -m64 -march=nocona -O -fomit-frame-pointer | 20140809 | 20140622 |
| 32561795 | ref | gcc -O -fomit-frame-pointer | 20140809 | 20140622 |
| 32688760 | ref | gcc -funroll-loops -Os -fomit-frame-pointer | 20140809 | 20140622 |
| 33005180 | ref | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20140809 | 20140622 |
| 33014040 | ref | gcc -fno-schedule-insns -O -fomit-frame-pointer | 20140809 | 20140622 |
| 33645470 | ref | gcc -march=nocona -O2 -fomit-frame-pointer | 20140809 | 20140622 |
| 33787380 | ref | gcc -m64 -march=nocona -O2 -fomit-frame-pointer | 20140809 | 20140622 |
| 77156945 | ref | cc | 20140809 | 20140622 |
| 77351400 | ref | gcc | 20140809 | 20140622 |
| 77484580 | ref | gcc -funroll-loops | 20140809 | 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
|