| Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 1013572 | vperm | clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments | 20170204 | 20170105 |
| 1013576 | vperm | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170204 | 20170105 |
| 1019884 | vperm | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 1033888 | vperm | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 1042120 | vperm | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 1125220 | vperm | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 1209512 | vperm | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 1281828 | vperm | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 1417900 | vperm | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 1421896 | vperm | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 1463032 | vperm | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 1526060 | vperm | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 1529784 | vperm | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 1534912 | vperm | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 1718940 | vperm | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 1723036 | vperm | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20170204 | 20170105 |
| 1756396 | vperm | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 1791372 | vperm | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 1803592 | vperm | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 1803604 | vperm | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 2147320 | vperm | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 2147572 | vperm | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 2147584 | vperm | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 2184516 | vperm | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 2184760 | vperm | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 2184916 | vperm | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 54544784 | ref | gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 54545500 | ref | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 62846496 | ref | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 62859180 | ref | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 62896456 | ref | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 62990868 | ref | gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 63172940 | ref | gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 63189796 | ref | gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 63626632 | ref | gcc -funroll-loops -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 63652316 | ref | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 63665372 | ref | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 63935840 | ref | gcc -march=nocona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 63981936 | ref | gcc -m64 -march=nocona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 64091944 | ref | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 64316072 | ref | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 64318680 | ref | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 64351120 | ref | gcc -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 64354612 | ref | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 64394352 | ref | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 64408844 | ref | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 64448560 | ref | gcc -m64 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 64563568 | ref | gcc -march=barcelona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 64581980 | ref | gcc -fno-schedule-insns -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 64661796 | ref | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 64817924 | ref | gcc -march=k8 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 64833716 | ref | gcc -m64 -march=k8 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 66088036 | ref | gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 66090552 | ref | gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 68909916 | ref | gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 68911236 | ref | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 68992444 | ref | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 69001128 | ref | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 71895000 | ref | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 71899924 | ref | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 71906356 | ref | gcc -funroll-loops -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 84430316 | ref | gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 84431780 | ref | gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 84455112 | ref | gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 84513372 | ref | gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 84605864 | ref | gcc -funroll-loops -m64 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 84607596 | ref | gcc -funroll-loops -O -fomit-frame-pointer | 20170204 | 20170105 |
| 84614156 | ref | gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | 20170204 | 20170105 |
| 100737520 | ref | gcc -m64 -march=nocona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 100760436 | ref | gcc -march=nocona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 105387820 | ref | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 106342016 | ref | gcc -m64 -march=k8 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 106418840 | ref | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 106454656 | ref | gcc -march=k8 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 106496772 | ref | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 106629724 | ref | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 106649744 | ref | gcc -march=barcelona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 106724168 | ref | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 106747404 | ref | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 106752524 | ref | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 106795260 | ref | gcc -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 106831440 | ref | gcc -m64 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 106922840 | ref | gcc -fno-schedule-insns -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 119618472 | ref | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 119635176 | ref | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 119694228 | ref | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20170204 | 20170105 |
| 120006232 | ref | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 120014020 | ref | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 120100060 | ref | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 120389236 | ref | gcc -O -fomit-frame-pointer | 20170204 | 20170105 |
| 120541012 | ref | gcc -fno-schedule-insns -O -fomit-frame-pointer | 20170204 | 20170105 |
| 120542768 | ref | gcc -m64 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 120611956 | ref | gcc -m64 -march=barcelona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 120668928 | ref | gcc -march=barcelona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 121721848 | ref | gcc -march=k8 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 121812832 | ref | gcc -m64 -march=k8 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 198642820 | ref | gcc -march=nocona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 198951092 | ref | gcc -m64 -march=nocona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 208992904 | ref | gcc -fno-schedule-insns -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 209032320 | ref | gcc -march=nocona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 209050968 | ref | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 209123856 | ref | gcc -march=k8 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 209125576 | ref | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 209253372 | ref | gcc -m64 -march=nocona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 209303988 | ref | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 209355840 | ref | gcc -m64 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 209524808 | ref | gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 209528572 | ref | gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 209538432 | ref | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 209725656 | ref | gcc -m64 -march=k8 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 209807208 | ref | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 209852332 | ref | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 209887328 | ref | gcc -m64 -march=barcelona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 209929148 | ref | gcc -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 209932396 | ref | gcc -march=barcelona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 213093488 | ref | gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 213101156 | ref | gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 213110704 | ref | gcc -funroll-loops -m64 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 213112864 | ref | gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 213147592 | ref | gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 213165648 | ref | gcc -funroll-loops -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 213189492 | ref | gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 222506876 | ref | clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170204 | 20170105 |
| 223170204 | ref | clang -O3 -fomit-frame-pointer -Qunused-arguments | 20170204 | 20170105 |
| 223271936 | ref | clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170204 | 20170105 |
| 223517592 | ref | clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170204 | 20170105 |
| 224945808 | ref | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170204 | 20170105 |
| 225087724 | ref | clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments | 20170204 | 20170105 |
| 602565484 | ref | cc | 20170204 | 20170105 |
| 631891052 | ref | gcc -funroll-loops | 20170204 | 20170105 |
| 635358744 | ref | gcc | 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
|