| Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 94400 | vperm | clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments | 20170205 | 20170105 |
| 94460 | vperm | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170205 | 20170105 |
| 104100 | vperm | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | 20170205 | 20170105 |
| 104524 | vperm | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 104560 | vperm | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 104672 | vperm | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 104676 | vperm | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 104800 | vperm | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 106712 | vperm | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 106844 | vperm | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | 20170205 | 20170105 |
| 106968 | vperm | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 107308 | vperm | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 107420 | vperm | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 107420 | vperm | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 172256 | vperm | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 172312 | vperm | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 172416 | vperm | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | 20170205 | 20170105 |
| 172524 | vperm | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 172564 | vperm | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20170205 | 20170105 |
| 174800 | vperm | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 228040 | vperm | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | 20170205 | 20170105 |
| 228056 | vperm | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 228076 | vperm | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 228084 | vperm | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 228432 | vperm | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 228616 | vperm | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1431800 | ref | gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1435480 | ref | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1449464 | ref | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1450328 | ref | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1453544 | ref | gcc -march=k8 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1455868 | ref | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1458888 | ref | gcc -march=barcelona -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1462120 | ref | gcc -m64 -march=k8 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1522460 | ref | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1523028 | ref | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1525520 | ref | gcc -funroll-loops -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1529172 | ref | gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1530492 | ref | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1530792 | ref | gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1538988 | ref | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1543900 | ref | gcc -m64 -march=nocona -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1544972 | ref | gcc -march=nocona -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1545548 | ref | gcc -fno-schedule-insns -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1547944 | ref | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | 20170205 | 20170105 |
| 1548288 | ref | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1548652 | ref | gcc -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1548816 | ref | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1548912 | ref | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1549032 | ref | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1549096 | ref | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1552804 | ref | gcc -m64 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1564012 | ref | gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1565760 | ref | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1569768 | ref | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1570816 | ref | gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1580076 | ref | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1580112 | ref | gcc -funroll-loops -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1583904 | ref | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1612796 | ref | gcc -m64 -march=k8 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1612872 | ref | gcc -march=k8 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1616704 | ref | gcc -march=barcelona -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1617112 | ref | gcc -m64 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1617136 | ref | gcc -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1617388 | ref | gcc -fno-schedule-insns -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1620348 | ref | gcc -m64 -march=barcelona -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1626916 | ref | gcc -march=nocona -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1627096 | ref | gcc -m64 -march=nocona -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1635788 | ref | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1635844 | ref | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1635860 | ref | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | 20170205 | 20170105 |
| 1635896 | ref | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1635908 | ref | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1636012 | ref | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1652740 | ref | gcc -march=k8 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1653932 | ref | gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1654624 | ref | gcc -funroll-loops -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1656644 | ref | gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1656784 | ref | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1656852 | ref | gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1657400 | ref | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1657440 | ref | gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1658888 | ref | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1659320 | ref | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1660148 | ref | gcc -march=barcelona -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1661032 | ref | gcc -funroll-loops -m64 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1665016 | ref | gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1665488 | ref | gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1665752 | ref | gcc -m64 -march=k8 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1666436 | ref | gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1670864 | ref | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1709200 | ref | gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1709680 | ref | gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1711932 | ref | gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1711936 | ref | gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1712328 | ref | gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1712368 | ref | gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1712372 | ref | gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1713192 | ref | gcc -funroll-loops -m64 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1714184 | ref | gcc -march=nocona -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1714680 | ref | gcc -funroll-loops -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1715080 | ref | gcc -m64 -march=nocona -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1719564 | ref | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1722956 | ref | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | 20170205 | 20170105 |
| 1725012 | ref | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1725340 | ref | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1726840 | ref | gcc -m64 -march=barcelona -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1726912 | ref | gcc -march=barcelona -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1726988 | ref | gcc -fno-schedule-insns -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1727652 | ref | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1727808 | ref | gcc -m64 -march=k8 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1727856 | ref | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1729308 | ref | gcc -m64 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1729860 | ref | gcc -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1731876 | ref | gcc -march=k8 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1754088 | ref | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1761488 | ref | gcc -fno-schedule-insns -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1761584 | ref | gcc -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1765044 | ref | gcc -m64 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1774772 | ref | gcc -m64 -march=nocona -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1790740 | ref | gcc -march=nocona -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 2108028 | ref | clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170205 | 20170105 |
| 2108052 | ref | clang -O3 -fomit-frame-pointer -Qunused-arguments | 20170205 | 20170105 |
| 2108104 | ref | clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments | 20170205 | 20170105 |
| 2108724 | ref | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170205 | 20170105 |
| 2116316 | ref | clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170205 | 20170105 |
| 2123188 | ref | clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170205 | 20170105 |
| 2512876 | ref | cc | 20170205 | 20170105 |
| 2523804 | ref | gcc -funroll-loops | 20170205 | 20170105 |
| 2531816 | ref | gcc | 20170205 | 20170105 |
| Compiler | Implementations
|
| 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
|