| Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 272904 | vperm | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170204 | 20170105 |
| 273112 | vperm | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 273156 | vperm | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 273164 | vperm | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 273200 | vperm | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20170204 | 20170105 |
| 273808 | vperm | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 273836 | vperm | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 273904 | vperm | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 274488 | vperm | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 274568 | vperm | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 275088 | vperm | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 275188 | vperm | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 277196 | vperm | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 277716 | vperm | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 277860 | vperm | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 277880 | vperm | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 278068 | vperm | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 278072 | vperm | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 279344 | vperm | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 279500 | vperm | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 279556 | vperm | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 279596 | vperm | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 280244 | vperm | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 280260 | vperm | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 3889620 | ref | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 3889788 | ref | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 3890016 | ref | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 3890512 | ref | gcc -funroll-loops -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 3890536 | ref | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 3890672 | ref | gcc -march=barcelona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 3890784 | ref | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 3891036 | ref | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 3891180 | ref | gcc -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 3891472 | ref | gcc -fno-schedule-insns -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 3892204 | ref | gcc -m64 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 3892948 | ref | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 3893416 | ref | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 3895248 | ref | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 3896432 | ref | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 3899488 | ref | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 3900048 | ref | gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 3900080 | ref | gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 3907452 | ref | gcc -march=k8 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 3907508 | ref | gcc -m64 -march=k8 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 3952156 | ref | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 3956580 | ref | gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 3964400 | ref | gcc -m64 -march=nocona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 3970636 | ref | gcc -march=nocona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 4477800 | ref | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170204 | 20170105 |
| 4478296 | ref | clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments | 20170204 | 20170105 |
| 4725008 | ref | clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170204 | 20170105 |
| 4725024 | ref | clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170204 | 20170105 |
| 4725028 | ref | clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170204 | 20170105 |
| 4742732 | ref | clang -O3 -fomit-frame-pointer -Qunused-arguments | 20170204 | 20170105 |
| 6695828 | ref | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 6725208 | ref | gcc -funroll-loops -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 6740060 | ref | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 6751608 | ref | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 6752756 | ref | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 6758780 | ref | gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 6807256 | ref | gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 6810116 | ref | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 7896668 | ref | gcc -funroll-loops -O -fomit-frame-pointer | 20170204 | 20170105 |
| 7896972 | ref | gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | 20170204 | 20170105 |
| 7904540 | ref | gcc -funroll-loops -m64 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 8007060 | ref | gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 8017148 | ref | gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 8585988 | ref | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 8587300 | ref | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 8597420 | ref | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 8610740 | ref | gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 8624276 | ref | gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 8629228 | ref | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 8631076 | ref | gcc -march=barcelona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 8635900 | ref | gcc -m64 -march=k8 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 8636172 | ref | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 8636912 | ref | gcc -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 8637960 | ref | gcc -march=k8 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 8643680 | ref | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 8660068 | ref | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 8662664 | ref | gcc -m64 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 8685836 | ref | gcc -fno-schedule-insns -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 8702932 | ref | gcc -m64 -march=nocona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 8739604 | ref | gcc -march=nocona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 8885464 | ref | gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 8888352 | ref | gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 9828744 | ref | gcc -march=nocona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 9829464 | ref | gcc -m64 -march=nocona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 10059180 | ref | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 10061964 | ref | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 10062460 | ref | gcc -m64 -march=barcelona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 10063184 | ref | gcc -m64 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 10064276 | ref | gcc -fno-schedule-insns -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 10067120 | ref | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 10069224 | ref | gcc -m64 -march=k8 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 10069592 | ref | gcc -march=k8 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 10073456 | ref | gcc -march=barcelona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 10074756 | ref | gcc -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 10081456 | ref | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 10094236 | ref | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 10102256 | ref | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 10504908 | ref | gcc -m64 -march=nocona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 10505580 | ref | gcc -march=nocona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 10608348 | ref | gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 10609840 | ref | gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 10611572 | ref | gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 10612912 | ref | gcc -funroll-loops -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 10613284 | ref | gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 10615312 | ref | gcc -funroll-loops -m64 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 10624468 | ref | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 10624608 | ref | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 10624632 | ref | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 10624876 | ref | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 10624900 | ref | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 10630432 | ref | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20170204 | 20170105 |
| 10637176 | ref | gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 10638776 | ref | gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 10860868 | ref | gcc -march=k8 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 10864380 | ref | gcc -m64 -march=k8 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 11825460 | ref | gcc -fno-schedule-insns -O -fomit-frame-pointer | 20170204 | 20170105 |
| 11825596 | ref | gcc -O -fomit-frame-pointer | 20170204 | 20170105 |
| 11825628 | ref | gcc -m64 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 11893672 | ref | gcc -m64 -march=barcelona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 11895788 | ref | gcc -march=barcelona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 30213932 | ref | gcc | 20170204 | 20170105 |
| 30647860 | ref | gcc -funroll-loops | 20170204 | 20170105 |
| 33352852 | ref | cc | 20170204 | 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
|