| Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 102552 | vperm | clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments | 20170205 | 20170105 |
| 102580 | vperm | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170205 | 20170105 |
| 113480 | vperm | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 113616 | vperm | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | 20170205 | 20170105 |
| 113688 | vperm | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 113904 | vperm | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 113908 | vperm | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 114128 | vperm | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 116148 | vperm | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 119156 | vperm | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 119168 | vperm | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | 20170205 | 20170105 |
| 119692 | vperm | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 119716 | vperm | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 120224 | vperm | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 169744 | vperm | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 170524 | vperm | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 170524 | vperm | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 170524 | vperm | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 170524 | vperm | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20170205 | 20170105 |
| 170524 | vperm | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | 20170205 | 20170105 |
| 226084 | vperm | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 226164 | vperm | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 226364 | vperm | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 226504 | vperm | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 227008 | vperm | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 227556 | vperm | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | 20170205 | 20170105 |
| 1416852 | ref | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1417208 | ref | gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1437424 | ref | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1438420 | ref | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1456108 | ref | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1456996 | ref | gcc -march=barcelona -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1460024 | ref | gcc -m64 -march=k8 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1461732 | ref | gcc -march=k8 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1520356 | ref | gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1522940 | ref | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1524092 | ref | gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1525404 | ref | gcc -funroll-loops -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1525464 | ref | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1527388 | ref | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1540288 | ref | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1540972 | ref | gcc -m64 -march=nocona -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1545008 | ref | gcc -march=nocona -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1547176 | ref | gcc -fno-schedule-insns -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1547580 | ref | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | 20170205 | 20170105 |
| 1548224 | ref | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1548260 | ref | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1548564 | ref | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1549928 | ref | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1550632 | ref | gcc -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1551832 | ref | gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1552560 | ref | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1553956 | ref | gcc -m64 -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1564868 | ref | gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1566336 | ref | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1570448 | ref | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | 20170205 | 20170105 |
| 1580008 | ref | gcc -funroll-loops -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1581512 | ref | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1582764 | ref | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1617352 | ref | gcc -march=nocona -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1618148 | ref | gcc -m64 -march=nocona -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1619656 | ref | gcc -march=barcelona -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1619856 | ref | gcc -m64 -march=barcelona -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1622260 | ref | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | 20170205 | 20170105 |
| 1623172 | ref | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1623176 | ref | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1623184 | ref | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1623192 | ref | gcc -funroll-loops -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1623240 | ref | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1623936 | ref | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1624412 | ref | gcc -march=k8 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1624436 | ref | gcc -m64 -march=k8 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1627096 | ref | gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1637332 | ref | gcc -m64 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1637524 | ref | gcc -fno-schedule-insns -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1638948 | ref | gcc -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1645344 | ref | gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1645428 | ref | gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1655108 | ref | gcc -funroll-loops -m64 -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1657468 | ref | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1658332 | ref | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1658512 | ref | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1658728 | ref | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | 20170205 | 20170105 |
| 1661680 | ref | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1663896 | ref | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1667980 | ref | gcc -march=k8 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1669312 | ref | gcc -march=barcelona -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1669784 | ref | gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1671828 | ref | gcc -m64 -march=k8 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1686284 | ref | gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1686876 | ref | gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1694120 | ref | gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | 20170205 | 20170105 |
| 1708676 | ref | gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1708944 | ref | gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1709156 | ref | gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1715892 | ref | gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1716180 | ref | gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1716276 | ref | gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1717356 | ref | gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1719008 | ref | gcc -march=nocona -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1719792 | ref | gcc -funroll-loops -m64 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1720344 | ref | gcc -m64 -march=nocona -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1722216 | ref | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1722388 | ref | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1722496 | ref | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1723940 | ref | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | 20170205 | 20170105 |
| 1725128 | ref | gcc -funroll-loops -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1728564 | ref | gcc -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1728612 | ref | gcc -m64 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1728888 | ref | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1729036 | ref | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1729932 | ref | gcc -march=k8 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1730156 | ref | gcc -m64 -march=barcelona -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1730160 | ref | gcc -m64 -march=k8 -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1730220 | ref | gcc -fno-schedule-insns -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1730224 | ref | gcc -march=barcelona -Os -fomit-frame-pointer | 20170205 | 20170105 |
| 1761952 | ref | gcc -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1766064 | ref | gcc -fno-schedule-insns -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1767364 | ref | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1770836 | ref | gcc -m64 -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1783720 | ref | gcc -march=nocona -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 1795944 | ref | gcc -m64 -march=nocona -O3 -fomit-frame-pointer | 20170205 | 20170105 |
| 2107988 | ref | clang -O3 -fomit-frame-pointer -Qunused-arguments | 20170205 | 20170105 |
| 2108044 | ref | clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170205 | 20170105 |
| 2108076 | ref | clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170205 | 20170105 |
| 2108576 | ref | clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments | 20170205 | 20170105 |
| 2119836 | ref | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170205 | 20170105 |
| 2125004 | ref | clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170205 | 20170105 |
| 2518368 | ref | cc | 20170205 | 20170105 |
| 2536264 | ref | gcc -funroll-loops | 20170205 | 20170105 |
| 2537176 | 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
|