| Time | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 424044 | vperm | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 424088 | vperm | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 424132 | vperm | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 424300 | vperm | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 424316 | vperm | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 424352 | vperm | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 424380 | vperm | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 424428 | vperm | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 424480 | vperm | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 424500 | vperm | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 424624 | vperm | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 424740 | vperm | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 425504 | vperm | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 425544 | vperm | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 425548 | vperm | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 425552 | vperm | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 425576 | vperm | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 425584 | vperm | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 425584 | vperm | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 425592 | vperm | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 425592 | vperm | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 425668 | vperm | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 426248 | vperm | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170204 | 20170105 |
| 426292 | vperm | clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments | 20170204 | 20170105 |
| 426524 | vperm | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 426548 | vperm | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20170204 | 20170105 |
| 8559368 | ref | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8560088 | ref | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8599640 | ref | gcc -march=k8 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8601236 | ref | gcc -m64 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8603296 | ref | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8603648 | ref | gcc -march=barcelona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8603932 | ref | gcc -m64 -march=core2 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8605536 | ref | gcc -funroll-loops -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8605668 | ref | gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8606040 | ref | gcc -m64 -march=k8 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8606380 | ref | gcc -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8607140 | ref | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8608432 | ref | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8609344 | ref | gcc -fno-schedule-insns -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8612108 | ref | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8626640 | ref | gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8627148 | ref | gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8642644 | ref | gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8656996 | ref | gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8659952 | ref | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 8778972 | ref | gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8778988 | ref | gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8782896 | ref | gcc -march=nocona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 8782972 | ref | gcc -m64 -march=nocona -O3 -fomit-frame-pointer | 20170204 | 20170105 |
| 10019400 | ref | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170204 | 20170105 |
| 10021948 | ref | clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments | 20170204 | 20170105 |
| 10691276 | ref | clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170204 | 20170105 |
| 10701628 | ref | clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170204 | 20170105 |
| 10709096 | ref | clang -O3 -fomit-frame-pointer -Qunused-arguments | 20170204 | 20170105 |
| 10717796 | ref | clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments | 20170204 | 20170105 |
| 13621360 | ref | gcc -funroll-loops -m64 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 13642340 | ref | gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 13664740 | ref | gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 13667936 | ref | gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 13680828 | ref | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 13683188 | ref | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 13690292 | ref | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 13701760 | ref | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 13742252 | ref | gcc -funroll-loops -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 15329820 | ref | gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 15404780 | ref | gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 15519852 | ref | gcc -funroll-loops -O -fomit-frame-pointer | 20170204 | 20170105 |
| 15520172 | ref | gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer | 20170204 | 20170105 |
| 15520232 | ref | gcc -funroll-loops -m64 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 15560168 | ref | gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 15560172 | ref | gcc -funroll-loops -march=nocona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 16263688 | ref | gcc -funroll-loops -march=k8 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 16264580 | ref | gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 17454352 | ref | gcc -fno-schedule-insns -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 17454968 | ref | gcc -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 17455244 | ref | gcc -m64 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 17465428 | ref | gcc -march=barcelona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 17468712 | ref | gcc -m64 -march=k8 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 17471296 | ref | gcc -march=k8 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 17512448 | ref | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 17565256 | ref | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 17571864 | ref | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 17573540 | ref | gcc -m64 -march=core2 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 17574108 | ref | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 17591868 | ref | gcc -m64 -march=corei7 -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 17597740 | ref | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 18179680 | ref | gcc -march=nocona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 18199132 | ref | gcc -m64 -march=nocona -O2 -fomit-frame-pointer | 20170204 | 20170105 |
| 19279652 | ref | gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19279900 | ref | gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19279968 | ref | gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19280768 | ref | gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19281940 | ref | gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19293532 | ref | gcc -funroll-loops -m64 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19325128 | ref | gcc -funroll-loops -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19379424 | ref | gcc -m64 -march=k8 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 19430164 | ref | gcc -march=k8 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 19438760 | ref | gcc -m64 -march=core2 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 19438768 | ref | gcc -m64 -march=corei7 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 19438808 | ref | gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 19438816 | ref | gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer | 20170204 | 20170105 |
| 19453092 | ref | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 19482524 | ref | gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 19541924 | ref | gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19547148 | ref | gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19573008 | ref | gcc -march=k8 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19573192 | ref | gcc -m64 -march=k8 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19580512 | ref | gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19582628 | ref | gcc -m64 -march=core2 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19585264 | ref | gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19624688 | ref | gcc -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19627144 | ref | gcc -m64 -march=barcelona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19634488 | ref | gcc -fno-schedule-insns -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19634516 | ref | gcc -march=barcelona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19650076 | ref | gcc -m64 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19979596 | ref | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv | 20170204 | 20170105 |
| 19990992 | ref | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 19994884 | ref | gcc -m64 -march=corei7 -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 20032528 | ref | gcc -fno-schedule-insns -O -fomit-frame-pointer | 20170204 | 20170105 |
| 20048808 | ref | gcc -O -fomit-frame-pointer | 20170204 | 20170105 |
| 20048992 | ref | gcc -m64 -O -fomit-frame-pointer | 20170204 | 20170105 |
| 20439920 | ref | gcc -m64 -march=nocona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 20441156 | ref | gcc -march=nocona -Os -fomit-frame-pointer | 20170204 | 20170105 |
| 20997816 | ref | gcc -m64 -march=nocona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 21002104 | ref | gcc -march=nocona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 21411880 | ref | gcc -march=barcelona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 21413888 | ref | gcc -m64 -march=barcelona -O -fomit-frame-pointer | 20170204 | 20170105 |
| 59196660 | ref | gcc -funroll-loops | 20170204 | 20170105 |
| 60118456 | ref | gcc | 20170204 | 20170105 |
| 65810576 | 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
|