| Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 593710 | vperm | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20141017 | 20141014 |
| 593730 | vperm | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20141017 | 20141014 |
| 593735 | vperm | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20141017 | 20141014 |
| 593735 | vperm | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20141017 | 20141014 |
| 593740 | vperm | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20141017 | 20141014 |
| 593895 | vperm | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20141017 | 20141014 |
| 593900 | vperm | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20141017 | 20141014 |
| 593900 | vperm | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20141017 | 20141014 |
| 593905 | vperm | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20141017 | 20141014 |
| 593995 | vperm | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20141017 | 20141014 |
| 593995 | vperm | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20141017 | 20141014 |
| 594005 | vperm | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20141017 | 20141014 |
| 594045 | vperm | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20141017 | 20141014 |
| 594045 | vperm | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20141017 | 20141014 |
| 594055 | vperm | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20141017 | 20141014 |
| 594075 | vperm | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20141017 | 20141014 |
| 594185 | vperm | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20141017 | 20141014 |
| 594185 | vperm | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20141017 | 20141014 |
| 594230 | vperm | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20141017 | 20141014 |
| 594230 | vperm | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20141017 | 20141014 |
| 5378125 | ref | gcc -funroll-loops -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5378135 | ref | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5378200 | ref | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5400030 | ref | gcc -fno-schedule-insns -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5405025 | ref | gcc -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5406230 | ref | gcc -m64 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5424435 | ref | gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5426180 | ref | gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5433620 | ref | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5433680 | ref | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5451500 | ref | gcc -march=k8 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5456405 | ref | gcc -march=barcelona -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5456565 | ref | gcc -m64 -march=k8 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5459735 | ref | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5494515 | ref | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5494565 | ref | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5494575 | ref | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5494700 | ref | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5503030 | ref | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5545525 | ref | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5545530 | ref | gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5629530 | ref | gcc -m64 -march=nocona -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 5633865 | ref | gcc -march=nocona -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 9440215 | ref | gcc -funroll-loops -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 9440240 | ref | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 9444345 | ref | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 9745795 | ref | gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 9752800 | ref | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 9754020 | ref | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 9754040 | ref | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 10243080 | ref | clang -O3 -fomit-frame-pointer | 20140810 | 20140622 |
| 10264630 | ref | clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer | 20140810 | 20140622 |
| 10268785 | 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 |
| 10268905 | ref | clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer | 20141017 | 20141014 |
| 10284390 | ref | clang -O3 -fwrapv -mavx2 -fomit-frame-pointer | 20140810 | 20140622 |
| 10764160 | ref | gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | 20140810 | 20140622 |
| 10780505 | ref | gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 10783975 | ref | gcc -funroll-loops -m64 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 10793325 | ref | gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | 20140810 | 20140622 |
| 10797360 | ref | gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | 20140810 | 20140622 |
| 10800175 | ref | gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 10803910 | ref | gcc -funroll-loops -O -fomit-frame-pointer | 20140810 | 20140622 |
| 11046345 | ref | gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | 20140810 | 20140622 |
| 11047965 | ref | gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | 20140810 | 20140622 |
| 13051190 | ref | gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 14871245 | ref | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 14923140 | ref | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 14923395 | ref | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 14925795 | ref | gcc -fno-schedule-insns -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 14929120 | ref | gcc -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 14932595 | ref | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 14935175 | ref | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 14940330 | ref | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 15346965 | ref | gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15349560 | ref | gcc -funroll-loops -m64 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15350445 | ref | gcc -funroll-loops -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15350565 | ref | gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15359855 | ref | gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15389655 | ref | gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15440120 | ref | gcc -fno-schedule-insns -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15440610 | ref | gcc -m64 -march=barcelona -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15442570 | ref | gcc -m64 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15451900 | ref | gcc -march=barcelona -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15451945 | ref | gcc -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15451950 | ref | gcc -m64 -march=k8 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15451995 | ref | gcc -march=k8 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15452560 | ref | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15452585 | ref | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15452620 | ref | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15459440 | ref | gcc -march=k8 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 15464500 | ref | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15464530 | ref | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15474655 | ref | gcc -m64 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 15479995 | ref | gcc -m64 -march=nocona -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15480050 | ref | gcc -march=nocona -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15605895 | ref | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 15605920 | ref | gcc -march=barcelona -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 15722835 | ref | gcc -m64 -march=nocona -O -fomit-frame-pointer | 20140810 | 20140622 |
| 15722860 | ref | gcc -march=nocona -O -fomit-frame-pointer | 20140810 | 20140622 |
| 15735205 | ref | gcc -march=barcelona -O -fomit-frame-pointer | 20140810 | 20140622 |
| 15738855 | ref | gcc -m64 -march=k8 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 15739350 | ref | gcc -m64 -march=barcelona -O -fomit-frame-pointer | 20140810 | 20140622 |
| 15739400 | ref | gcc -march=k8 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 15748110 | ref | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 15751395 | ref | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20140810 | 20140622 |
| 15755165 | ref | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 15758750 | ref | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 15758760 | ref | gcc -fno-schedule-insns -O -fomit-frame-pointer | 20140810 | 20140622 |
| 15758765 | ref | gcc -m64 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 15761585 | ref | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20140810 | 20140622 |
| 15837845 | ref | gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15848630 | ref | gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 15857445 | ref | gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | 20140810 | 20140622 |
| 16150600 | ref | gcc -m64 -march=k8 -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 16306120 | ref | gcc -O -fomit-frame-pointer | 20140810 | 20140622 |
| 16321085 | ref | gcc -march=nocona -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 17260150 | ref | gcc -m64 -march=nocona -O2 -fomit-frame-pointer | 20140810 | 20140622 |
| 41797710 | ref | gcc -funroll-loops | 20140810 | 20140622 |
| 42061425 | ref | gcc | 20140810 | 20140622 |
| 42085495 | ref | cc | 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
|